Browse Source

FBXLoader: Clean up.

Mr.doob 5 years ago
parent
commit
809fa4f7f9
2 changed files with 18 additions and 36 deletions
  1. 9 18
      examples/js/loaders/FBXLoader.js
  2. 9 18
      examples/jsm/loaders/FBXLoader.js

+ 9 - 18
examples/js/loaders/FBXLoader.js

@@ -3986,36 +3986,27 @@ THREE.FBXLoader = ( function () {
 
 
 		// Global Shear*Scaling
 		// Global Shear*Scaling
 		var lParentTM = new THREE.Matrix4();
 		var lParentTM = new THREE.Matrix4();
-		var lLSM = new THREE.Matrix4();
-		var lParentGSM = new THREE.Matrix4();
-		var lParentGRSM = new THREE.Matrix4();
-
-		var lParentTM_inv = new THREE.Matrix4().getInverse( lParentTM );
-
 		lParentTM.copyPosition( lParentGX );
 		lParentTM.copyPosition( lParentGX );
-		lParentGRSM.multiply( lParentTM_inv ).multiply( lParentGX );
 
 
-		var lParentGRM_inv = new THREE.Matrix4().getInverse( lParentGRM );
-		lParentGSM.multiply( lParentGRM_inv ).multiply( lParentGRSM );
-		lLSM = lScalingM;
+		var lParentGSM = new THREE.Matrix4();
+		lParentGSM.getInverse( lParentGRM ).multiply( lParentGX );
 
 
 		var lGlobalRS = new THREE.Matrix4();
 		var lGlobalRS = new THREE.Matrix4();
+
 		if ( inheritType === 0 ) {
 		if ( inheritType === 0 ) {
 
 
-			lGlobalRS.multiply( lParentGRM ).multiply( lLRM ).multiply( lParentGSM ).multiply( lLSM );
+			lGlobalRS.copy( lParentGRM ).multiply( lLRM ).multiply( lParentGSM ).multiply( lScalingM );
 
 
 		} else if ( inheritType === 1 ) {
 		} else if ( inheritType === 1 ) {
 
 
-			lGlobalRS.multiply( lParentGRM ).multiply( lParentGSM ).multiply( lLRM ).multiply( lLSM );
+			lGlobalRS.copy( lParentGRM ).multiply( lParentGSM ).multiply( lLRM ).multiply( lScalingM );
 
 
 		} else {
 		} else {
 
 
-			var lParentLSM = new THREE.Matrix4().copy( lScalingM );
-
-			var lParentLSM_inv = new THREE.Matrix4().getInverse( lParentLSM );
+			var lParentLSM_inv = new THREE.Matrix4().getInverse( lScalingM );
 			var lParentGSM_noLocal = new THREE.Matrix4().multiply( lParentGSM ).multiply( lParentLSM_inv );
 			var lParentGSM_noLocal = new THREE.Matrix4().multiply( lParentGSM ).multiply( lParentLSM_inv );
 
 
-			lGlobalRS.multiply( lParentGRM ).multiply( lLRM ).multiply( lParentGSM_noLocal ).multiply( lLSM );
+			lGlobalRS.copy( lParentGRM ).multiply( lLRM ).multiply( lParentGSM_noLocal ).multiply( lScalingM );
 
 
 		}
 		}
 
 
@@ -4023,11 +4014,11 @@ THREE.FBXLoader = ( function () {
 		var lScalingPivotM_inv = new THREE.Matrix4().getInverse( lScalingPivotM );
 		var lScalingPivotM_inv = new THREE.Matrix4().getInverse( lScalingPivotM );
 		// Calculate the local transform matrix
 		// Calculate the local transform matrix
 		var lTransform = new THREE.Matrix4();
 		var lTransform = new THREE.Matrix4();
-		lTransform.multiply( lTranslationM ).multiply( lRotationOffsetM ).multiply( lRotationPivotM ).multiply( lPreRotationM ).multiply( lRotationM ).multiply( lPostRotationM ).multiply( lRotationPivotM_inv ).multiply( lScalingOffsetM ).multiply( lScalingPivotM ).multiply( lScalingM ).multiply( lScalingPivotM_inv );
+		lTransform.copy( lTranslationM ).multiply( lRotationOffsetM ).multiply( lRotationPivotM ).multiply( lPreRotationM ).multiply( lRotationM ).multiply( lPostRotationM ).multiply( lRotationPivotM_inv ).multiply( lScalingOffsetM ).multiply( lScalingPivotM ).multiply( lScalingM ).multiply( lScalingPivotM_inv );
 
 
 		var lLocalTWithAllPivotAndOffsetInfo = new THREE.Matrix4().copyPosition( lTransform );
 		var lLocalTWithAllPivotAndOffsetInfo = new THREE.Matrix4().copyPosition( lTransform );
 
 
-		var lGlobalTranslation = new THREE.Matrix4().multiply( lParentGX ).multiply( lLocalTWithAllPivotAndOffsetInfo );
+		var lGlobalTranslation = new THREE.Matrix4().copy( lParentGX ).multiply( lLocalTWithAllPivotAndOffsetInfo );
 		lGlobalT.copyPosition( lGlobalTranslation );
 		lGlobalT.copyPosition( lGlobalTranslation );
 
 
 		lTransform = new THREE.Matrix4().multiply( lGlobalT ).multiply( lGlobalRS );
 		lTransform = new THREE.Matrix4().multiply( lGlobalT ).multiply( lGlobalRS );

+ 9 - 18
examples/jsm/loaders/FBXLoader.js

@@ -4033,36 +4033,27 @@ var FBXLoader = ( function () {
 
 
 		// Global Shear*Scaling
 		// Global Shear*Scaling
 		var lParentTM = new Matrix4();
 		var lParentTM = new Matrix4();
-		var lLSM = new Matrix4();
-		var lParentGSM = new Matrix4();
-		var lParentGRSM = new Matrix4();
-
-		var lParentTM_inv = new Matrix4().getInverse( lParentTM );
-
 		lParentTM.copyPosition( lParentGX );
 		lParentTM.copyPosition( lParentGX );
-		lParentGRSM.multiply( lParentTM_inv ).multiply( lParentGX );
 
 
-		var lParentGRM_inv = new Matrix4().getInverse( lParentGRM );
-		lParentGSM.multiply( lParentGRM_inv ).multiply( lParentGRSM );
-		lLSM = lScalingM;
+		var lParentGSM = new Matrix4();
+		lParentGSM.getInverse( lParentGRM ).multiply( lParentGX );
 
 
 		var lGlobalRS = new Matrix4();
 		var lGlobalRS = new Matrix4();
+
 		if ( inheritType === 0 ) {
 		if ( inheritType === 0 ) {
 
 
-			lGlobalRS.multiply( lParentGRM ).multiply( lLRM ).multiply( lParentGSM ).multiply( lLSM );
+			lGlobalRS.copy( lParentGRM ).multiply( lLRM ).multiply( lParentGSM ).multiply( lScalingM );
 
 
 		} else if ( inheritType === 1 ) {
 		} else if ( inheritType === 1 ) {
 
 
-			lGlobalRS.multiply( lParentGRM ).multiply( lParentGSM ).multiply( lLRM ).multiply( lLSM );
+			lGlobalRS.copy( lParentGRM ).multiply( lParentGSM ).multiply( lLRM ).multiply( lScalingM );
 
 
 		} else {
 		} else {
 
 
-			var lParentLSM = new Matrix4().copy( lScalingM );
-
-			var lParentLSM_inv = new Matrix4().getInverse( lParentLSM );
+			var lParentLSM_inv = new Matrix4().getInverse( lScalingM );
 			var lParentGSM_noLocal = new Matrix4().multiply( lParentGSM ).multiply( lParentLSM_inv );
 			var lParentGSM_noLocal = new Matrix4().multiply( lParentGSM ).multiply( lParentLSM_inv );
 
 
-			lGlobalRS.multiply( lParentGRM ).multiply( lLRM ).multiply( lParentGSM_noLocal ).multiply( lLSM );
+			lGlobalRS.copy( lParentGRM ).multiply( lLRM ).multiply( lParentGSM_noLocal ).multiply( lScalingM );
 
 
 		}
 		}
 
 
@@ -4070,11 +4061,11 @@ var FBXLoader = ( function () {
 		var lScalingPivotM_inv = new Matrix4().getInverse( lScalingPivotM );
 		var lScalingPivotM_inv = new Matrix4().getInverse( lScalingPivotM );
 		// Calculate the local transform matrix
 		// Calculate the local transform matrix
 		var lTransform = new Matrix4();
 		var lTransform = new Matrix4();
-		lTransform.multiply( lTranslationM ).multiply( lRotationOffsetM ).multiply( lRotationPivotM ).multiply( lPreRotationM ).multiply( lRotationM ).multiply( lPostRotationM ).multiply( lRotationPivotM_inv ).multiply( lScalingOffsetM ).multiply( lScalingPivotM ).multiply( lScalingM ).multiply( lScalingPivotM_inv );
+		lTransform.copy( lTranslationM ).multiply( lRotationOffsetM ).multiply( lRotationPivotM ).multiply( lPreRotationM ).multiply( lRotationM ).multiply( lPostRotationM ).multiply( lRotationPivotM_inv ).multiply( lScalingOffsetM ).multiply( lScalingPivotM ).multiply( lScalingM ).multiply( lScalingPivotM_inv );
 
 
 		var lLocalTWithAllPivotAndOffsetInfo = new Matrix4().copyPosition( lTransform );
 		var lLocalTWithAllPivotAndOffsetInfo = new Matrix4().copyPosition( lTransform );
 
 
-		var lGlobalTranslation = new Matrix4().multiply( lParentGX ).multiply( lLocalTWithAllPivotAndOffsetInfo );
+		var lGlobalTranslation = new Matrix4().copy( lParentGX ).multiply( lLocalTWithAllPivotAndOffsetInfo );
 		lGlobalT.copyPosition( lGlobalTranslation );
 		lGlobalT.copyPosition( lGlobalTranslation );
 
 
 		lTransform = new Matrix4().multiply( lGlobalT ).multiply( lGlobalRS );
 		lTransform = new Matrix4().multiply( lGlobalT ).multiply( lGlobalRS );