|
@@ -23,32 +23,19 @@ THREE.SkinnedMesh = function ( geometry, material, useVertexTexture ) {
|
|
|
|
|
|
if ( this.geometry && this.geometry.bones !== undefined ) {
|
|
|
|
|
|
- var bone, gbone, p, q, s;
|
|
|
+ var bone, gbone;
|
|
|
|
|
|
for ( var b = 0, bl = this.geometry.bones.length; b < bl; ++ b ) {
|
|
|
|
|
|
gbone = this.geometry.bones[ b ];
|
|
|
|
|
|
- p = gbone.pos;
|
|
|
- q = gbone.rotq;
|
|
|
- s = gbone.scl;
|
|
|
-
|
|
|
bone = new THREE.Bone( this );
|
|
|
bones.push( bone );
|
|
|
|
|
|
bone.name = gbone.name;
|
|
|
- bone.position.set( p[ 0 ], p[ 1 ], p[ 2 ] );
|
|
|
- bone.quaternion.set( q[ 0 ], q[ 1 ], q[ 2 ], q[ 3 ] );
|
|
|
-
|
|
|
- if ( s !== undefined ) {
|
|
|
-
|
|
|
- bone.scale.set( s[ 0 ], s[ 1 ], s[ 2 ] );
|
|
|
-
|
|
|
- } else {
|
|
|
-
|
|
|
- bone.scale.set( 1, 1, 1 );
|
|
|
-
|
|
|
- }
|
|
|
+ bone.position.fromArray( gbone.pos );
|
|
|
+ bone.quaternion.fromArray( gbone.rotq );
|
|
|
+ if ( gbone.scl !== undefined ) bone.scale.fromArray( gbone.scl );
|
|
|
|
|
|
}
|
|
|
|
|
@@ -167,4 +154,3 @@ THREE.SkinnedMesh.prototype.clone = function( object ) {
|
|
|
return object;
|
|
|
|
|
|
};
|
|
|
-
|