examples/FBXLoader.js
function ( relationships, deformerNodes ) {

			var rawBones = [];

			relationships.children.forEach( function ( child ) {

				var boneNode = deformerNodes[ child.ID ];

				if ( boneNode.attrType !== 'Cluster' ) return;

				var rawBone = {

					ID: child.ID,
					indices: [],
					weights: [],
					transform: new THREE.Matrix4().fromArray( boneNode.Transform.a ),
					transformLink: new THREE.Matrix4().fromArray( boneNode.TransformLink.a ),
					linkMode: boneNode.Mode,

				};

				if ( 'Indexes' in boneNode ) {

					rawBone.indices = boneNode.Indexes.a;
					rawBone.weights = boneNode.Weights.a;

				}

				rawBones.push( rawBone );

			} );

			return {

				rawBones: rawBones,
				bones: []

			};

		}
function ( relationships, deformerNodes ) {

			var rawBones = [];

			relationships.children.forEach( function ( child ) {

				var boneNode = deformerNodes[ child.ID ];

				if ( boneNode.attrType !== 'Cluster' ) return;

				var rawBone = {

					ID: child.ID,
					indices: [],
					weights: [],
					transform: new THREE.Matrix4().fromArray( boneNode.Transform.a ),
					transformLink: new THREE.Matrix4().fromArray( boneNode.TransformLink.a ),
					linkMode: boneNode.Mode,

				};

				if ( 'Indexes' in boneNode ) {

					rawBone.indices = boneNode.Indexes.a;
					rawBone.weights = boneNode.Weights.a;

				}

				rawBones.push( rawBone );

			} );

			return {

				rawBones: rawBones,
				bones: []

			};

		}
function ( relationships , deformerNodes ) { var rawBones = [ ] ; relationships . children . forEach ( function ( child ) { var boneNode = deformerNodes [ child . ID ] ; if ( boneNode . attrType !== 'Cluster' ) return ; var rawBone = { ID : child . ID , indices : [ ] , weights : [ ] , transform : new THREE . Matrix4 ( ) . fromArray ( boneNode . Transform . a ) , transformLink : new THREE . Matrix4 ( ) . fromArray ( boneNode . TransformLink . a ) , linkMode : boneNode . Mode , } ; if ( 'Indexes' in boneNode ) { rawBone . indices = boneNode . Indexes . a ; rawBone . weights = boneNode . Weights . a ; } rawBones . push ( rawBone ) ; } ) ; return { rawBones : rawBones , bones : [ ] } ; }
Parse single nodes in FBXTree.Objects.Deformer The top level skeleton node has type 'Skin' and sub nodes have type 'Cluster' Each skin node represents a skeleton and each cluster node represents a bone
Parse single nodes in FBXTree . Objects . Deformer The top level skeleton node has type Skin and sub nodes have type Cluster Each skin node represents a skeleton and each cluster node represents a bone