浏览代码

Check for empty curves

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

+ 4 - 6
examples/js/loaders/FBXLoader.js

@@ -100,9 +100,7 @@
 			// console.log( FBXTree );
 			// console.log( FBXTree );
 
 
 			var connections = parseConnections( FBXTree );
 			var connections = parseConnections( FBXTree );
-
 			var images = parseImages( FBXTree );
 			var images = parseImages( FBXTree );
-
 			var textures = parseTextures( FBXTree, new THREE.TextureLoader( this.manager ).setPath( resourceDirectory ), images, connections );
 			var textures = parseTextures( FBXTree, new THREE.TextureLoader( this.manager ).setPath( resourceDirectory ), images, connections );
 			var materials = parseMaterials( FBXTree, textures, connections );
 			var materials = parseMaterials( FBXTree, textures, connections );
 			var skeletons = parseDeformers( FBXTree, connections );
 			var skeletons = parseDeformers( FBXTree, connections );
@@ -1519,7 +1517,6 @@
 
 
 		} );
 		} );
 
 
-
 		bindSkeleton( FBXTree, skeletons, geometryMap, modelMap, connections, sceneGraph );
 		bindSkeleton( FBXTree, skeletons, geometryMap, modelMap, connections, sceneGraph );
 
 
 		addAnimations( FBXTree, connections, sceneGraph );
 		addAnimations( FBXTree, connections, sceneGraph );
@@ -2368,6 +2365,7 @@
 
 
 		if ( rawClips === undefined ) return;
 		if ( rawClips === undefined ) return;
 
 
+
 		for ( var key in rawClips ) {
 		for ( var key in rawClips ) {
 
 
 			var rawClip = rawClips[ key ];
 			var rawClip = rawClips[ key ];
@@ -2398,21 +2396,21 @@
 
 
 		var tracks = [];
 		var tracks = [];
 
 
-		if ( rawTracks.T !== undefined ) {
+		if ( rawTracks.T !== undefined && Object.keys( rawTracks.T.curves ).length > 0 ) {
 
 
 			var positionTrack = generateVectorTrack( rawTracks.modelName, rawTracks.T.curves, rawTracks.initialPosition, 'position' );
 			var positionTrack = generateVectorTrack( rawTracks.modelName, rawTracks.T.curves, rawTracks.initialPosition, 'position' );
 			if ( positionTrack !== undefined ) tracks.push( positionTrack );
 			if ( positionTrack !== undefined ) tracks.push( positionTrack );
 
 
 		}
 		}
 
 
-		if ( rawTracks.R !== undefined ) {
+		if ( rawTracks.R !== undefined && Object.keys( rawTracks.R.curves ).length > 0 ) {
 
 
 			var rotationTrack = generateRotationTrack( rawTracks.modelName, rawTracks.R.curves, rawTracks.initialRotation, rawTracks.preRotations );
 			var rotationTrack = generateRotationTrack( rawTracks.modelName, rawTracks.R.curves, rawTracks.initialRotation, rawTracks.preRotations );
 			if ( rotationTrack !== undefined ) tracks.push( rotationTrack );
 			if ( rotationTrack !== undefined ) tracks.push( rotationTrack );
 
 
 		}
 		}
 
 
-		if ( rawTracks.S !== undefined ) {
+		if ( rawTracks.S !== undefined && Object.keys( rawTracks.S.curves ).length > 0 ) {
 
 
 			var scaleTrack = generateVectorTrack( rawTracks.modelName, rawTracks.S.curves, rawTracks.initialScale, 'scale' );
 			var scaleTrack = generateVectorTrack( rawTracks.modelName, rawTracks.S.curves, rawTracks.initialScale, 'scale' );
 			if ( scaleTrack !== undefined ) tracks.push( scaleTrack );
 			if ( scaleTrack !== undefined ) tracks.push( scaleTrack );