소스 검색

Account for object bind matrix in GLTFExporter

Zachary Capalbo 4 년 전
부모
커밋
deadbbf551
1개의 변경된 파일4개의 추가작업 그리고 1개의 파일을 삭제
  1. 4 1
      examples/js/exporters/GLTFExporter.js

+ 4 - 1
examples/js/exporters/GLTFExporter.js

@@ -1693,12 +1693,15 @@ THREE.GLTFExporter.prototype = {
 
 			var joints = [];
 			var inverseBindMatrices = new Float32Array( skeleton.bones.length * 16 );
+			var temporaryBoneInverse = new THREE.Matrix4;
 
 			for ( var i = 0; i < skeleton.bones.length; ++ i ) {
 
 				joints.push( nodeMap.get( skeleton.bones[ i ] ) );
 
-				skeleton.boneInverses[ i ].toArray( inverseBindMatrices, i * 16 );
+				temporaryBoneInverse.copy(skeleton.boneInverses[ i ]);
+				
+				temporaryBoneInverse.multiply(object.bindMatrix).toArray( inverseBindMatrices, i * 16 );
 
 			}