Browse Source

SkinnedMesh: Cleaned up bones initialisation. This should be moved to skeleton instead...

Mr.doob 10 years ago
parent
commit
27e0505ce2
1 changed files with 4 additions and 18 deletions
  1. 4 18
      src/objects/SkinnedMesh.js

+ 4 - 18
src/objects/SkinnedMesh.js

@@ -23,32 +23,19 @@ THREE.SkinnedMesh = function ( geometry, material, useVertexTexture ) {
 
 
 	if ( this.geometry && this.geometry.bones !== undefined ) {
 	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 ) {
 		for ( var b = 0, bl = this.geometry.bones.length; b < bl; ++ b ) {
 
 
 			gbone = this.geometry.bones[ b ];
 			gbone = this.geometry.bones[ b ];
 
 
-			p = gbone.pos;
-			q = gbone.rotq;
-			s = gbone.scl;
-
 			bone = new THREE.Bone( this );
 			bone = new THREE.Bone( this );
 			bones.push( bone );
 			bones.push( bone );
 
 
 			bone.name = gbone.name;
 			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;
 	return object;
 
 
 };
 };
-