浏览代码

GLTFLoader: Normalize skin weights

Mugen87 6 年之前
父节点
当前提交
e2e3ba737c
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      examples/js/loaders/GLTFLoader.js

+ 3 - 1
examples/js/loaders/GLTFLoader.js

@@ -1061,7 +1061,7 @@ THREE.GLTFLoader = ( function () {
 		var s3 = ppp - pp;
 		var s3 = ppp - pp;
 		var s0 = 1 - s2;
 		var s0 = 1 - s2;
 		var s1 = s3 - pp + p;
 		var s1 = s3 - pp + p;
-		
+
 		// Layout of keyframe output values for CUBICSPLINE animations:
 		// Layout of keyframe output values for CUBICSPLINE animations:
 		//   [ inTangent_1, splineVertex_1, outTangent_1, inTangent_2, splineVertex_2, ... ]
 		//   [ inTangent_1, splineVertex_1, outTangent_1, inTangent_2, splineVertex_2, ... ]
 		for ( var i = 0; i !== stride; i ++ ) {
 		for ( var i = 0; i !== stride; i ++ ) {
@@ -2705,6 +2705,8 @@ THREE.GLTFLoader = ( function () {
 							? new THREE.SkinnedMesh( geometry, material )
 							? new THREE.SkinnedMesh( geometry, material )
 							: new THREE.Mesh( geometry, material );
 							: new THREE.Mesh( geometry, material );
 
 
+						if ( mesh.isSkinnedMesh === true ) mesh.normalizeSkinWeights(); // #15319
+
 						if ( primitive.mode === WEBGL_CONSTANTS.TRIANGLE_STRIP ) {
 						if ( primitive.mode === WEBGL_CONSTANTS.TRIANGLE_STRIP ) {
 
 
 							mesh.drawMode = THREE.TriangleStripDrawMode;
 							mesh.drawMode = THREE.TriangleStripDrawMode;