@galacean/engine-loader 2.0.0-alpha.33 → 2.0.0-alpha.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +17 -18
- package/dist/main.js.map +1 -1
- package/dist/module.js +17 -18
- package/dist/module.js.map +1 -1
- package/package.json +4 -4
- package/types/gltf/parser/GLTFSkinParser.d.ts +4 -0
package/dist/main.js
CHANGED
|
@@ -3318,13 +3318,13 @@ function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
|
|
|
3318
3318
|
_this.needAnimatorController = !!(json.skins || json.animations);
|
|
3319
3319
|
return engineCore.AssetPromise.all([
|
|
3320
3320
|
_this.get(1),
|
|
3321
|
+
_this.get(2),
|
|
3321
3322
|
_this.get(5),
|
|
3322
3323
|
_this.get(6),
|
|
3323
3324
|
_this.get(7),
|
|
3324
3325
|
_this.get(9),
|
|
3325
3326
|
_this.get(10),
|
|
3326
|
-
_this.get(11)
|
|
3327
|
-
_this.get(2)
|
|
3327
|
+
_this.get(11)
|
|
3328
3328
|
]).then(function() {
|
|
3329
3329
|
var glTFResource = _this.glTFResource;
|
|
3330
3330
|
var animatorController = glTFResource.animatorController;
|
|
@@ -5037,23 +5037,29 @@ exports.GLTFSkinParser = /*#__PURE__*/ function(GLTFParser) {
|
|
|
5037
5037
|
skin.joints[i] = bone.name;
|
|
5038
5038
|
}
|
|
5039
5039
|
skin.bones = bones;
|
|
5040
|
-
// Get skeleton
|
|
5040
|
+
// Get skeleton — when `skin.skeleton` is absent, resolve via joints' LCA
|
|
5041
|
+
// LCA falls back to the GLTF_ROOT wrapper only when joints span multiple top-level scene nodes
|
|
5041
5042
|
if (skeleton !== undefined) {
|
|
5042
5043
|
var rootBone = entities[skeleton];
|
|
5044
|
+
if (!rootBone) {
|
|
5045
|
+
throw "Skin skeleton index " + skeleton + " is out of range.";
|
|
5046
|
+
}
|
|
5043
5047
|
skin.rootBone = rootBone;
|
|
5044
5048
|
} else {
|
|
5045
5049
|
var rootBone1 = _this._findSkeletonRootBone(joints, entities);
|
|
5046
|
-
if (rootBone1) {
|
|
5047
|
-
skin.rootBone = rootBone1;
|
|
5048
|
-
} else {
|
|
5050
|
+
if (!rootBone1) {
|
|
5049
5051
|
throw "Failed to find skeleton root bone.";
|
|
5050
5052
|
}
|
|
5053
|
+
skin.rootBone = rootBone1;
|
|
5051
5054
|
}
|
|
5052
5055
|
return skin;
|
|
5053
5056
|
});
|
|
5054
5057
|
return engineCore.AssetPromise.resolve(skinPromise);
|
|
5055
5058
|
};
|
|
5056
|
-
|
|
5059
|
+
/**
|
|
5060
|
+
* Resolve the skeleton rootBone as the lowest common ancestor of the joints' parent chains.
|
|
5061
|
+
* Returns null when joints share no common ancestor.
|
|
5062
|
+
*/ _proto._findSkeletonRootBone = function _findSkeletonRootBone(joints, entities) {
|
|
5057
5063
|
var paths = {};
|
|
5058
5064
|
for(var _iterator = _create_for_of_iterator_helper_loose(joints), _step; !(_step = _iterator()).done;){
|
|
5059
5065
|
var index = _step.value;
|
|
@@ -6325,7 +6331,10 @@ AudioLoader = __decorate([
|
|
|
6325
6331
|
engineCore.resourceLoader(engineCore.AssetType.Audio, [
|
|
6326
6332
|
"mp3",
|
|
6327
6333
|
"ogg",
|
|
6328
|
-
"wav"
|
|
6334
|
+
"wav",
|
|
6335
|
+
"m4a",
|
|
6336
|
+
"aac",
|
|
6337
|
+
"flac"
|
|
6329
6338
|
])
|
|
6330
6339
|
], AudioLoader);
|
|
6331
6340
|
|
|
@@ -6336,7 +6345,6 @@ var ShaderLoader = /*#__PURE__*/ function(Loader) {
|
|
|
6336
6345
|
}
|
|
6337
6346
|
var _proto = ShaderLoader.prototype;
|
|
6338
6347
|
_proto.load = function load(item, resourceManager) {
|
|
6339
|
-
var _this = this;
|
|
6340
6348
|
var url = item.url;
|
|
6341
6349
|
if (url.endsWith(".shaderc")) {
|
|
6342
6350
|
// @ts-ignore
|
|
@@ -6351,20 +6359,11 @@ var ShaderLoader = /*#__PURE__*/ function(Loader) {
|
|
|
6351
6359
|
return resourceManager._request(url, _extends({}, item, {
|
|
6352
6360
|
type: "text"
|
|
6353
6361
|
})).then(function(code) {
|
|
6354
|
-
var builtinShader = _this._getBuiltinShader(code);
|
|
6355
|
-
if (builtinShader) {
|
|
6356
|
-
return engineCore.Shader.find(builtinShader);
|
|
6357
|
-
}
|
|
6358
6362
|
return engineCore.Shader.create(code, undefined, url);
|
|
6359
6363
|
});
|
|
6360
6364
|
};
|
|
6361
|
-
_proto._getBuiltinShader = function _getBuiltinShader(code) {
|
|
6362
|
-
var match = code.match(ShaderLoader._builtinRegex);
|
|
6363
|
-
if (match && match[1]) return match[1];
|
|
6364
|
-
};
|
|
6365
6365
|
return ShaderLoader;
|
|
6366
6366
|
}(engineCore.Loader);
|
|
6367
|
-
ShaderLoader._builtinRegex = /^\s*\/\/\s*@builtin\s+(\w+)/;
|
|
6368
6367
|
ShaderLoader = __decorate([
|
|
6369
6368
|
engineCore.resourceLoader(engineCore.AssetType.Shader, [
|
|
6370
6369
|
"shader",
|