Browse Source

Adding particle support

Raanan Weber 9 năm trước cách đây
mục cha
commit
cd5fed1af2

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

@@ -281,6 +281,9 @@
                 case PhysicsImpostor.HeightmapImpostor:
                     returnValue = this._createHeightmap(mesh);
                     break;
+                case PhysicsImpostor.ParticleImpostor:
+                    returnValue = new CANNON.Particle();
+                    break;
 
             }
 

+ 6 - 5
src/Physics/Plugins/babylon.oimoJSPlugin.ts

@@ -153,7 +153,9 @@ module BABYLON {
 
                     // register mesh
                     switch (i.type) {
-                        case PhysicsEngine.SphereImpostor:
+                        case PhysicsImpostor.ParticleImpostor:
+                            Tools.Warn("No Particle support in Oimo.js. using SphereImpostor instead");
+                        case PhysicsImpostor.SphereImpostor:
                             var radiusX = bbox.maximumWorld.x - bbox.minimumWorld.x;
                             var radiusY = bbox.maximumWorld.y - bbox.minimumWorld.y;
                             var radiusZ = bbox.maximumWorld.z - bbox.minimumWorld.z;
@@ -170,7 +172,7 @@ module BABYLON {
                             bodyConfig.size.push(size);
                             break;
 
-                        case PhysicsEngine.CylinderImpostor:
+                        case PhysicsImpostor.CylinderImpostor:
                             var min = bbox.minimumWorld;
                             var max = bbox.maximumWorld;
                             var box = max.subtract(min);
@@ -183,10 +185,9 @@ module BABYLON {
                             bodyConfig.size.push(sizeY);
                             break;
 
-                        case PhysicsEngine.PlaneImpostor:
-                        case PhysicsEngine.BoxImpostor:
+                        case PhysicsImpostor.PlaneImpostor:
+                        case PhysicsImpostor.BoxImpostor:
                         default:
-
                             var min = bbox.minimumWorld;
                             var max = bbox.maximumWorld;
                             var box = max.subtract(min);