examples/FBXLoader.js
function ( skeletons, geometryMap, materialMap ) {

			var modelMap = new Map();
			var modelNodes = fbxTree.Objects.Model;

			for ( var nodeID in modelNodes ) {

				var id = parseInt( nodeID );
				var node = modelNodes[ nodeID ];
				var relationships = connections.get( id );

				var model = this.buildSkeleton( relationships, skeletons, id, node.attrName );

				if ( ! model ) {

					switch ( node.attrType ) {

						case 'Camera':
							model = this.createCamera( relationships );
							break;
						case 'Light':
							model = this.createLight( relationships );
							break;
						case 'Mesh':
							model = this.createMesh( relationships, geometryMap, materialMap );
							break;
						case 'NurbsCurve':
							model = this.createCurve( relationships, geometryMap );
							break;
						case 'LimbNode': // usually associated with a Bone, however if a Bone was not created we'll make a Group instead
						case 'Null':
						default:
							model = new THREE.Group();
							break;

					}

					model.name = THREE.PropertyBinding.sanitizeNodeName( node.attrName );
					model.ID = id;

				}

				this.setModelTransforms( model, node );
				modelMap.set( id, model );

			}

			return modelMap;

		}
function ( skeletons, geometryMap, materialMap ) {

			var modelMap = new Map();
			var modelNodes = fbxTree.Objects.Model;

			for ( var nodeID in modelNodes ) {

				var id = parseInt( nodeID );
				var node = modelNodes[ nodeID ];
				var relationships = connections.get( id );

				var model = this.buildSkeleton( relationships, skeletons, id, node.attrName );

				if ( ! model ) {

					switch ( node.attrType ) {

						case 'Camera':
							model = this.createCamera( relationships );
							break;
						case 'Light':
							model = this.createLight( relationships );
							break;
						case 'Mesh':
							model = this.createMesh( relationships, geometryMap, materialMap );
							break;
						case 'NurbsCurve':
							model = this.createCurve( relationships, geometryMap );
							break;
						case 'LimbNode': // usually associated with a Bone, however if a Bone was not created we'll make a Group instead
						case 'Null':
						default:
							model = new THREE.Group();
							break;

					}

					model.name = THREE.PropertyBinding.sanitizeNodeName( node.attrName );
					model.ID = id;

				}

				this.setModelTransforms( model, node );
				modelMap.set( id, model );

			}

			return modelMap;

		}
function ( skeletons , geometryMap , materialMap ) { var modelMap = new Map ( ) ; var modelNodes = fbxTree . Objects . Model ; for ( var nodeID in modelNodes ) { var id = parseInt ( nodeID ) ; var node = modelNodes [ nodeID ] ; var relationships = connections . get ( id ) ; var model = this . buildSkeleton ( relationships , skeletons , id , node . attrName ) ; if ( ! model ) { switch ( node . attrType ) { case 'Camera' : model = this . createCamera ( relationships ) ; break ; case 'Light' : model = this . createLight ( relationships ) ; break ; case 'Mesh' : model = this . createMesh ( relationships , geometryMap , materialMap ) ; break ; case 'NurbsCurve' : model = this . createCurve ( relationships , geometryMap ) ; break ; case 'LimbNode' : // usually associated with a Bone, however if a Bone was not created we'll make a Group instead case 'Null' : default : model = new THREE . Group ( ) ; break ; } model . name = THREE . PropertyBinding . sanitizeNodeName ( node . attrName ) ; model . ID = id ; } this . setModelTransforms ( model , node ) ; modelMap . set ( id , model ) ; } return modelMap ; }
parse nodes in FBXTree.Objects.Model
parse nodes in FBXTree . Objects . Model