Bläddra i källkod

poseNode single object or array

Lewy Blue 7 år sedan
förälder
incheckning
9e0ad63d11
1 ändrade filer med 16 tillägg och 3 borttagningar
  1. 16 3
      examples/js/loaders/FBXLoader.js

+ 16 - 3
examples/js/loaders/FBXLoader.js

@@ -2043,10 +2043,23 @@
 
 				if ( BindPoseNode[ nodeID ].attrType === 'BindPose' ) {
 
-					var poseNode = BindPoseNode[ nodeID ].subNodes.PoseNode;
+					var poseNodes = BindPoseNode[ nodeID ].subNodes.PoseNode;
 
-					var rawMatWrd = new THREE.Matrix4().fromArray( poseNode.subNodes.Matrix.properties.a );
-					worldMatrices.set( parseInt( poseNode.properties.Node ), rawMatWrd );
+					if ( Array.isArray( poseNodes ) ) {
+
+						poseNodes.forEach( function ( node ) {
+
+							var rawMatWrd = new THREE.Matrix4().fromArray( node.subNodes.Matrix.properties.a );
+							worldMatrices.set( parseInt( node.properties.Node ), rawMatWrd );
+
+						} );
+
+					} else {
+
+						var rawMatWrd = new THREE.Matrix4().fromArray( poseNodes.subNodes.Matrix.properties.a );
+						worldMatrices.set( parseInt( poseNodes.properties.Node ), rawMatWrd );
+
+					}
 
 				}