Bladeren bron

Merge branch 'master' of https://github.com/BabylonJS/Babylon.js

David Catuhe 8 jaren geleden
bovenliggende
commit
f456567562

+ 2 - 5
loaders/src/glTF/babylon.glTFFileLoader.ts

@@ -491,10 +491,6 @@ module BABYLON {
         getNodesToRoot(gltfRuntime, newSkeleton, skins, nodesToRoot);
         newSkeleton.bones = [];
 
-        if (nodesToRoot.length === 0) {
-            newSkeleton.needInitialSkinMatrix = true;
-        }
-
         // Joints
         for (var i = 0; i < skins.jointNames.length; i++) {
             var jointNode = getJointNode(gltfRuntime, skins.jointNames[i]);
@@ -777,11 +773,12 @@ module BABYLON {
             mat.decompose(scaling, rotation, position);
 
             configureNode(newNode, position, rotation, scaling);
-            newNode.computeWorldMatrix(true);
         }
         else {
             configureNode(newNode, Vector3.FromArray(node.translation), Quaternion.FromArray(node.rotation), Vector3.FromArray(node.scale));
         }
+
+        newNode.computeWorldMatrix(true);
     };
 
     /**

+ 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 @@
         } 
 
     }
-}
+}