浏览代码

Merge pull request #3101 from RaananW/fix-spring

after-steps was missing, spring didn't work
David Catuhe 7 年之前
父节点
当前提交
b73446ca56
共有 2 个文件被更改,包括 5 次插入4 次删除
  1. 0 4
      src/Physics/Plugins/babylon.cannonJSPlugin.ts
  2. 5 0
      src/Physics/babylon.physicsImpostor.ts

+ 0 - 4
src/Physics/Plugins/babylon.cannonJSPlugin.ts

@@ -462,15 +462,11 @@
             impostor.object.position.copyFrom(impostor.physicsBody.position);
             if (impostor.object.rotationQuaternion) {
                 impostor.object.rotationQuaternion.copyFrom(impostor.physicsBody.quaternion);
-                //impostor.object.rotationQuaternion.y *= -1;
-                //impostor.object.rotationQuaternion.z *= -1;
             }
         }
 
         public setPhysicsBodyTransformation(impostor: PhysicsImpostor, newPosition: Vector3, newRotation: Quaternion) {
             impostor.physicsBody.position.copy(newPosition);
-            //newRotation.y *= -1;
-            //newRotation.z *= -1;
             impostor.physicsBody.quaternion.copy(newRotation);
         }
 

+ 5 - 0
src/Physics/babylon.physicsImpostor.ts

@@ -404,6 +404,7 @@ module BABYLON {
 
             this.object.translate(this._deltaPosition, -1);
             this._deltaRotationConjugated && this.object.rotationQuaternion && this.object.rotationQuaternion.multiplyToRef(this._deltaRotationConjugated, this.object.rotationQuaternion);
+            this.object.computeWorldMatrix(false);
             if (this.object.parent && this.object.rotationQuaternion) {
                 this.getParentsRotation();
                 this._tmpQuat.multiplyToRef(this.object.rotationQuaternion, this._tmpQuat);
@@ -427,6 +428,10 @@ module BABYLON {
                 return;
             }
 
+            this._onAfterPhysicsStepCallbacks.forEach((func) => {
+                func(this);
+            });
+
             this._physicsEngine.getPhysicsPlugin().setTransformationFromPhysicsBody(this);
             // object has now its world rotation. needs to be converted to local.
             if (this.object.parent && this.object.rotationQuaternion) {