浏览代码

Fix for cannon material init

No contact materials are used. Each impostor has its unique material
that defines the friction and restitution.
Raanan Weber 10 年之前
父节点
当前提交
ad4128cfb5
共有 1 个文件被更改,包括 5 次插入11 次删除
  1. 5 11
      src/Physics/Plugins/babylon.cannonJSPlugin.ts

+ 5 - 11
src/Physics/Plugins/babylon.cannonJSPlugin.ts

@@ -68,7 +68,7 @@
                 }
                 }
                 
                 
                 //create the body and material
                 //create the body and material
-                var material = this._addMaterial(impostor.getParam("friction"), impostor.getParam("restitution"));
+                var material = this._addMaterial("mat-" + impostor.mesh.uniqueId, impostor.getParam("friction"), impostor.getParam("restitution"));
 
 
                 var bodyCreationObject = {
                 var bodyCreationObject = {
                     mass: impostor.getParam("mass"),
                     mass: impostor.getParam("mass"),
@@ -184,7 +184,7 @@
             //TODO
             //TODO
         }
         }
 
 
-        private _addMaterial(friction: number, restitution: number) {
+        private _addMaterial(name: string, friction: number, restitution: number) {
             var index;
             var index;
             var mat;
             var mat;
 
 
@@ -197,16 +197,10 @@
             }
             }
 
 
             var currentMat = new CANNON.Material("mat");
             var currentMat = new CANNON.Material("mat");
+            currentMat.friction = friction;
+            currentMat.restitution = restitution;
+            
             this._physicsMaterials.push(currentMat);
             this._physicsMaterials.push(currentMat);
-
-            for (index = 0; index < this._physicsMaterials.length; index++) {
-                mat = this._physicsMaterials[index];
-
-                var contactMaterial = new CANNON.ContactMaterial(mat, currentMat, { friction: friction, restitution: restitution });
-
-                this.world.addContactMaterial(contactMaterial);
-            }
-
             return currentMat;
             return currentMat;
         }
         }