浏览代码

Fixed loading issues with Model reported in 10509.
- Issues not fixed should be reported for the most part.
- Skinning for model does not look correct, assumed due to more than 4 skinning weights per vertex.

Kyle-Larson 8 年之前
父节点
当前提交
feb8c10f74
共有 1 个文件被更改,包括 23 次插入4 次删除
  1. 23 4
      examples/js/loaders/FBXLoader2.js

+ 23 - 4
examples/js/loaders/FBXLoader2.js

@@ -403,14 +403,13 @@
 							var type = relationship.relationship;
 							var type = relationship.relationship;
 							switch ( type ) {
 							switch ( type ) {
 
 
-								case " \"AmbientColor":
-									//TODO: Support AmbientColor textures
-									break;
-
 								case " \"DiffuseColor":
 								case " \"DiffuseColor":
 									parameters.map = textureMap.get( relationship.ID );
 									parameters.map = textureMap.get( relationship.ID );
 									break;
 									break;
 
 
+								case " \"AmbientColor":
+								case " \"Bump":
+								case " \"EmissiveColor":
 								default:
 								default:
 									console.warn( 'Unknown texture application of type ' + type + ', skipping texture' );
 									console.warn( 'Unknown texture application of type ' + type + ', skipping texture' );
 									break;
 									break;
@@ -949,6 +948,16 @@
 
 
 									},
 									},
 
 
+									ByVertice: {
+
+										Direct: function ( polygonVertexIndex, polygonIndex, vertexIndex, infoObject ) {
+
+											return infoObject.buffer.slice( ( vertexIndex * infoObject.dataSize ), ( vertexIndex * infoObject.dataSize ) + infoObject.dataSize );
+
+										}
+
+									},
+
 									AllSame: {
 									AllSame: {
 
 
 										/**
 										/**
@@ -1001,6 +1010,16 @@
 
 
 						}
 						}
 
 
+						if ( geometryNode.properties.Form === 'Periodic' ) {
+
+							console.error( "FBXLoader: Currently no support for Periodic Nurbs Curves for geometry ID: " + geometryNode.id + ", using empty geometry buffer." );
+							return new THREE.BufferGeometry();
+
+							//TODO: Support Periodic NURBS curves.
+							//Info Link: https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/Maya/files/NURBS-overview-Periodic-closed-and-open-geometry-htm.html
+
+						}
+
 						var knots = parseFloatArray( geometryNode.subNodes.KnotVector.properties.a );
 						var knots = parseFloatArray( geometryNode.subNodes.KnotVector.properties.a );
 						var controlPoints = [];
 						var controlPoints = [];
 						var pointsValues = parseFloatArray( geometryNode.subNodes.Points.properties.a );
 						var pointsValues = parseFloatArray( geometryNode.subNodes.Points.properties.a );