@galacean/engine-loader 1.2.0-beta.4 → 1.2.0-beta.5
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 +37 -39
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +37 -39
- package/dist/module.js +37 -39
- package/dist/module.js.map +1 -1
- package/package.json +4 -4
package/dist/main.js
CHANGED
|
@@ -4534,25 +4534,31 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4534
4534
|
camera.enabled = false;
|
|
4535
4535
|
};
|
|
4536
4536
|
_proto._createRenderer = function _createRenderer(context, entityInfo, entity) {
|
|
4537
|
-
var
|
|
4538
|
-
|
|
4539
|
-
|
|
4540
|
-
|
|
4541
|
-
|
|
4542
|
-
|
|
4543
|
-
|
|
4544
|
-
|
|
4545
|
-
|
|
4537
|
+
var _this = this;
|
|
4538
|
+
var meshID = entityInfo.mesh, skinID = entityInfo.skin;
|
|
4539
|
+
var glTFMesh = context.glTF.meshes[meshID];
|
|
4540
|
+
var glTFMeshPrimitives = glTFMesh.primitives;
|
|
4541
|
+
var rendererCount = glTFMeshPrimitives.length;
|
|
4542
|
+
var blendShapeWeights = entityInfo.weights || glTFMesh.weights;
|
|
4543
|
+
var materialPromises = new Array(rendererCount);
|
|
4544
|
+
for(var i = 0; i < rendererCount; i++){
|
|
4545
|
+
materialPromises[i] = context.get(exports.GLTFParserType.Material, glTFMeshPrimitives[i].material);
|
|
4546
|
+
}
|
|
4547
|
+
return Promise.all([
|
|
4548
|
+
context.get(exports.GLTFParserType.Mesh, meshID),
|
|
4549
|
+
skinID !== undefined && context.get(exports.GLTFParserType.Skin, skinID),
|
|
4550
|
+
Promise.all(materialPromises)
|
|
4551
|
+
]).then(function(param) {
|
|
4552
|
+
var _loop = function(i) {
|
|
4553
|
+
var material = materials[i] || exports.GLTFMaterialParser._getDefaultMaterial(context.glTFResource.engine);
|
|
4554
|
+
var glTFPrimitive = glTFMeshPrimitives[i];
|
|
4546
4555
|
var mesh = meshes[i];
|
|
4547
|
-
var renderer;
|
|
4548
|
-
material || (material = exports.GLTFMaterialParser._getDefaultMaterial(context.glTFResource.engine));
|
|
4556
|
+
var renderer = void 0;
|
|
4549
4557
|
if (skin || blendShapeWeights) {
|
|
4550
4558
|
var skinRenderer = entity.addComponent(engineCore.SkinnedMeshRenderer);
|
|
4551
4559
|
skinRenderer.mesh = mesh;
|
|
4552
4560
|
if (skin) {
|
|
4553
|
-
skinRenderer.rootBone
|
|
4554
|
-
skinRenderer.bones = skin._bones;
|
|
4555
|
-
_this._computeLocalBounds(skinRenderer, mesh, skin._bones, skin._rootBone, skin.inverseBindMatrices);
|
|
4561
|
+
_this._computeLocalBounds(skinRenderer, mesh, skin.bones, skin.rootBone, skin.inverseBindMatrices);
|
|
4556
4562
|
skinRenderer.skin = skin;
|
|
4557
4563
|
}
|
|
4558
4564
|
if (blendShapeWeights) {
|
|
@@ -4571,17 +4577,10 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4571
4577
|
}
|
|
4572
4578
|
});
|
|
4573
4579
|
GLTFParser.executeExtensionsAdditiveAndParse(glTFPrimitive.extensions, context, renderer, glTFPrimitive);
|
|
4574
|
-
}
|
|
4575
|
-
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
var meshID = entityInfo.mesh, skinID = entityInfo.skin;
|
|
4579
|
-
var glTFMesh = glTFMeshes[meshID];
|
|
4580
|
-
var glTFMeshPrimitives = glTFMesh.primitives;
|
|
4581
|
-
var blendShapeWeights = entityInfo.weights || glTFMesh.weights;
|
|
4582
|
-
var promises = new Array();
|
|
4583
|
-
for(var i = 0; i < glTFMeshPrimitives.length; i++)_loop(i);
|
|
4584
|
-
return Promise.all(promises);
|
|
4580
|
+
};
|
|
4581
|
+
var meshes = param[0], skin = param[1], materials = param[2];
|
|
4582
|
+
for(var i = 0; i < rendererCount; i++)_loop(i);
|
|
4583
|
+
});
|
|
4585
4584
|
};
|
|
4586
4585
|
_proto._computeLocalBounds = function _computeLocalBounds(skinnedMeshRenderer, mesh, bones, rootBone, inverseBindMatrices) {
|
|
4587
4586
|
var rootBoneIndex = bones.indexOf(rootBone);
|
|
@@ -4635,7 +4634,7 @@ exports.GLTFSkinParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4635
4634
|
var jointCount = joints.length;
|
|
4636
4635
|
var skin = new engineCore.Skin(name);
|
|
4637
4636
|
skin.inverseBindMatrices.length = jointCount;
|
|
4638
|
-
|
|
4637
|
+
var bones = new Array(jointCount);
|
|
4639
4638
|
// parse IBM
|
|
4640
4639
|
var accessor = glTF.accessors[inverseBindMatrices];
|
|
4641
4640
|
var skinPromise = GLTFUtils.getAccessorBuffer(context, glTF.bufferViews, accessor).then(function(bufferInfo) {
|
|
@@ -4647,21 +4646,20 @@ exports.GLTFSkinParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4647
4646
|
skin.inverseBindMatrices[i] = inverseBindMatrix;
|
|
4648
4647
|
// Get bones
|
|
4649
4648
|
var bone = entities[joints[i]];
|
|
4650
|
-
|
|
4649
|
+
bones[i] = bone;
|
|
4651
4650
|
skin.joints[i] = bone.name;
|
|
4652
|
-
|
|
4653
|
-
|
|
4654
|
-
|
|
4655
|
-
|
|
4656
|
-
|
|
4651
|
+
}
|
|
4652
|
+
skin.bones = bones;
|
|
4653
|
+
// Get skeleton
|
|
4654
|
+
if (skeleton !== undefined) {
|
|
4655
|
+
var rootBone = entities[skeleton];
|
|
4656
|
+
skin.rootBone = rootBone;
|
|
4657
|
+
} else {
|
|
4658
|
+
var rootBone1 = _this._findSkeletonRootBone(joints, entities);
|
|
4659
|
+
if (rootBone1) {
|
|
4660
|
+
skin.rootBone = rootBone1;
|
|
4657
4661
|
} else {
|
|
4658
|
-
|
|
4659
|
-
if (rootBone1) {
|
|
4660
|
-
skin._rootBone = rootBone1;
|
|
4661
|
-
skin.skeleton = rootBone1.name;
|
|
4662
|
-
} else {
|
|
4663
|
-
throw "Failed to find skeleton root bone.";
|
|
4664
|
-
}
|
|
4662
|
+
throw "Failed to find skeleton root bone.";
|
|
4665
4663
|
}
|
|
4666
4664
|
}
|
|
4667
4665
|
return skin;
|