Browse Source

Merge pull request #1004 from BabylonJS/RaananW-spring-joint

Update babylon.cannonJSPlugin.ts
Raanan Weber 9 years ago
parent
commit
cd87e12907
1 changed files with 8 additions and 1 deletions
  1. 8 1
      src/Physics/Plugins/babylon.cannonJSPlugin.ts

+ 8 - 1
src/Physics/Plugins/babylon.cannonJSPlugin.ts

@@ -191,7 +191,14 @@
             //set the collideConnected flag after the creation, since DistanceJoint ignores it.
             //set the collideConnected flag after the creation, since DistanceJoint ignores it.
             constraint.collideConnected = !!jointData.collision
             constraint.collideConnected = !!jointData.collision
             impostorJoint.joint.physicsJoint = constraint;
             impostorJoint.joint.physicsJoint = constraint;
-            this.world.addConstraint(constraint);
+            //don't add spring as constraint, as it is not one.
+            if(impostorJoint.joint.type !== PhysicsJoint.SpringJoint) {
+                this.world.addConstraint(constraint);
+            } else {
+                impostorJoint.mainImpostor.registerAfterPhysicsStep(function() {
+                    constraint.applyForce();
+                });
+            }
         }
         }
 
 
         public removeJoint(joint: PhysicsImpostorJoint) {
         public removeJoint(joint: PhysicsImpostorJoint) {