浏览代码

Merge pull request #1777 from aWeirdo/patch-6

Re-Addition of abstractMesh.collisionGroup.
David Catuhe 8 年之前
父节点
当前提交
88931762d8
共有 3 个文件被更改,包括 13 次插入4 次删除
  1. 1 1
      src/Cameras/babylon.freeCamera.ts
  2. 1 1
      src/Collisions/babylon.collisionCoordinator.ts
  3. 11 2
      src/Mesh/babylon.abstractMesh.ts

+ 1 - 1
src/Cameras/babylon.freeCamera.ts

@@ -125,7 +125,7 @@
 
             globalPosition.subtractFromFloatsToRef(0, this.ellipsoid.y, 0, this._oldPosition);
             this._collider.radius = this.ellipsoid;
-	        this._collider.collisionMask = this._collisionMask;
+            this._collider.collisionMask = this._collisionMask;
 		
             //no need for clone, as long as gravity is not on.
             var actualVelocity = velocity;

+ 1 - 1
src/Collisions/babylon.collisionCoordinator.ts

@@ -393,7 +393,7 @@ module BABYLON {
             // Check all meshes
             for (var index = 0; index < this._scene.meshes.length; index++) {
                 var mesh = this._scene.meshes[index];
-                if (mesh.isEnabled() && mesh.checkCollisions && mesh.subMeshes && mesh !== excludedMesh &&  ((collisionMask & mesh.collisionMask) !== 0)) {
+                if (mesh.isEnabled() && mesh.checkCollisions && mesh.subMeshes && mesh !== excludedMesh &&  ((collisionMask & mesh.collisionGroup) !== 0)) {
                     mesh._checkCollision(collider);
                 }
             }

+ 11 - 2
src/Mesh/babylon.abstractMesh.ts

@@ -167,6 +167,7 @@
         // Collisions
         private _checkCollisions = false;
         private _collisionMask = -1;
+        private _collisionGroup = -1;
         public ellipsoid = new Vector3(0.5, 1, 0.5);
         public ellipsoidOffset = new Vector3(0, 0, 0);
         private _collider = new Collider();
@@ -182,7 +183,15 @@
         public set collisionMask(mask: number) {
             this._collisionMask = !isNaN(mask) ? mask : -1;
         }
-
+        
+        public get collisionGroup(): number {
+            return this._collisionGroup;
+        }
+        
+        public set collisionGroup(mask: number) {
+            this._collisionGroup = !isNaN(mask) ? mask : -1;
+        }
+        
         // Attach to bone
         private _meshToBoneReferal: AbstractMesh;
 
@@ -1951,4 +1960,4 @@
         } 
 
     }
-}
+}