ソースを参照

Rotation can now be set before the impostor ist created.
Until now it was only possible to set the rotation of the impostor after, but this prevents people from using a serialized scene.

Raanan Weber 7 年 前
コミット
1fe2b82bdd
1 ファイル変更2 行追加3 行削除
  1. 2 3
      src/Physics/Plugins/babylon.cannonJSPlugin.ts

+ 2 - 3
src/Physics/Plugins/babylon.cannonJSPlugin.ts

@@ -429,9 +429,6 @@
 
                 var oldPivot = mesh.getPivotMatrix() || Matrix.Translation(0, 0, 0);
 
-                //rotation is back
-                mesh.rotationQuaternion = rotationQuaternion;
-
                 //calculate the new center using a pivot (since this.BJSCANNON.js doesn't center height maps)
                 var p = Matrix.Translation(boundingInfo.boundingBox.extendSizeWorld.x, 0, -boundingInfo.boundingBox.extendSizeWorld.z);
                 mesh.setPivotMatrix(p);
@@ -444,6 +441,8 @@
                 //add it inverted to the delta
                 this._tmpDeltaPosition.copyFrom(boundingInfo.boundingBox.centerWorld.subtract(c));
                 this._tmpDeltaPosition.y += boundingInfo.boundingBox.extendSizeWorld.y;
+                //rotation is back
+                mesh.rotationQuaternion = rotationQuaternion;
 
                 mesh.setPivotMatrix(oldPivot);
                 mesh.computeWorldMatrix(true);