소스 검색

Skinning now (appears) to work appropriately.

Kyle Larson 8 년 전
부모
커밋
024e4f1088
2개의 변경된 파일17개의 추가작업 그리고 10개의 파일을 삭제
  1. 13 6
      examples/js/loaders/FBXLoader2.js
  2. 4 4
      examples/webgl_loader_fbx.html

+ 13 - 6
examples/js/loaders/FBXLoader2.js

@@ -521,10 +521,17 @@
 
 									}
 
+									for ( var i = weights.length; i < 4; i ++ ) {
+
+										weights[ i ] = 0;
+										weightIndices[ i ] = 0;
+
+									}
+
 									vertex.skinWeights.fromArray( weights );
 									vertex.skinIndices.fromArray( weightIndices );
 
-									vertex.skinWeights.normalize();
+									//vertex.skinWeights.normalize();
 
 								}
 
@@ -963,11 +970,11 @@
 								}
 								if ( geometry.FBX_Deformer ) {
 
-									// materials.forEach( function ( material ) {
+									materials.forEach( function ( material ) {
 
-									// 	material.skinning = true;
+										material.skinning = true;
 
-									// } );
+									} );
 									model = new THREE.SkinnedMesh( geometry, material );
 
 								} else {
@@ -1154,13 +1161,13 @@
 		 * Indices of the bones vertex is influenced by.
 		 * @type {THREE.Vector4}
 		 */
-		this.skinIndices = new THREE.Vector4( );
+		this.skinIndices = new THREE.Vector4( 0, 0, 0, 0 );
 
 		/**
 		 * Weights that each bone influences the vertex.
 		 * @type {THREE.Vector4}
 		 */
-		this.skinWeights = new THREE.Vector4( );
+		this.skinWeights = new THREE.Vector4( 0, 0, 0, 0 );
 
 	}
 

+ 4 - 4
examples/webgl_loader_fbx.html

@@ -134,10 +134,10 @@
 						if ( child instanceof THREE.Line ) {
 
 							child.material = new THREE.LineBasicMaterial( { color: 0xffffff, linewidth: 5 } );
-							// Generate a more detailed geometry
-							var nurbsGeometry = new THREE.Geometry();
-							nurbsGeometry.vertices = child.userData.curve.getPoints( 100 );
-							child.geometry = nurbsGeometry;
+							// // Generate a more detailed geometry
+							// var nurbsGeometry = new THREE.Geometry();
+							// nurbsGeometry.vertices = child.userData.curve.getPoints( 100 );
+							// child.geometry = nurbsGeometry;
 
 						}