浏览代码

setup for parsers to return arrays instead of strings

Lewy Blue 7 年之前
父节点
当前提交
bedcd7a574
共有 1 个文件被更改,包括 59 次插入5 次删除
  1. 59 5
      examples/js/loaders/FBXLoader.js

+ 59 - 5
examples/js/loaders/FBXLoader.js

@@ -1963,7 +1963,6 @@
 
 
 				}
 				}
 				var mat = worldMatrices.get( bone.FBX_ID );
 				var mat = worldMatrices.get( bone.FBX_ID );
-				console.log( worldMatrices )
 				bone.matrixWorld.copy( mat );
 				bone.matrixWorld.copy( mat );
 
 
 			}
 			}
@@ -4307,6 +4306,42 @@
 
 
 			}
 			}
 
 
+			if ( propName === 'a' ) {
+
+				switch ( parentName ) {
+
+					case 'Matrix':
+					case 'TransformLink':
+					case 'Transform':
+						propValue = new THREE.Matrix4().fromArray( parseFloatArray( propValue ) );
+						break;
+
+            // // TODO: ParseFloatArray
+            // case 'ColorIndex':
+            // case 'Colors':
+            // case 'KeyAttrDataFloat':
+            // case 'KeyTime':
+            // case 'KeyValueFloat':
+            // case 'KnotVector':
+            // case 'Normals':
+            // case 'Points':
+            // case 'UV':
+            // case 'Vertices':
+            // case 'Weights':
+            //   break;
+
+            // // TODO: ParseIntArray
+            // case 'Materials':
+            // case 'NormalIndex':
+            // case 'NormalsIndex':
+            // case 'PolygonVertexIndex':
+            // case 'UVIndex':
+            //   break;
+
+				}
+
+			}
+
 			// Connections
 			// Connections
 			if ( propName === 'C' ) {
 			if ( propName === 'C' ) {
 
 
@@ -4593,16 +4628,35 @@
 						subNodes[ node.name ] = node;
 						subNodes[ node.name ] = node;
 
 
 						// Later phase expects single property array is in node.properties.a as String.
 						// Later phase expects single property array is in node.properties.a as String.
-            // TODO: optimize
-            // console.log( value )
-						// console.log( node.name );
-
 						switch ( node.name ) {
 						switch ( node.name ) {
 
 
 							case 'Matrix':
 							case 'Matrix':
 							case 'TransformLink':
 							case 'TransformLink':
 							case 'Transform':
 							case 'Transform':
 								node.properties.a = new THREE.Matrix4().fromArray( value );
 								node.properties.a = new THREE.Matrix4().fromArray( value );
+								break;
+
+              // // TODO: ParseFloatArray
+              // case 'ColorIndex':
+              // case 'Colors':
+              // case 'KeyAttrDataFloat':
+              // case 'KeyTime':
+              // case 'KeyValueFloat':
+              // case 'KnotVector':
+              // case 'Normals':
+              // case 'Points':
+              // case 'UV':
+              // case 'Vertices':
+              // case 'Weights':
+              //   break;
+
+              // // TODO: ParseIntArray
+              // case 'Materials':
+              // case 'NormalIndex':
+              // case 'NormalsIndex':
+              // case 'PolygonVertexIndex':
+              // case 'UVIndex':
+              //   break;
 
 
 							default:
 							default:
 								node.properties.a = value.toString();
 								node.properties.a = value.toString();