Sfoglia il codice sorgente

Merge pull request #1104 from RaananW/shadow-generator-parse

Getting all meshes with specific ID
David Catuhe 9 anni fa
parent
commit
6b320d97f3
2 ha cambiato i file con 10 aggiunte e 3 eliminazioni
  1. 4 3
      src/Lights/Shadows/babylon.shadowGenerator.ts
  2. 6 0
      src/babylon.scene.ts

+ 4 - 3
src/Lights/Shadows/babylon.shadowGenerator.ts

@@ -436,9 +436,10 @@
             var shadowGenerator = new ShadowGenerator(parsedShadowGenerator.mapSize, light);
 
             for (var meshIndex = 0; meshIndex < parsedShadowGenerator.renderList.length; meshIndex++) {
-                var mesh = scene.getMeshByID(parsedShadowGenerator.renderList[meshIndex]);
-
-                shadowGenerator.getShadowMap().renderList.push(mesh);
+                var meshes = scene.getMeshesByID(parsedShadowGenerator.renderList[meshIndex]);
+                meshes.forEach(function(mesh) {
+                    shadowGenerator.getShadowMap().renderList.push(mesh);
+                });
             }
 
             if (parsedShadowGenerator.usePoissonSampling) {

+ 6 - 0
src/babylon.scene.ts

@@ -1506,6 +1506,12 @@
             return null;
         }
 
+        public getMeshesByID(id: string): Array<AbstractMesh> {
+            return this.meshes.filter(function (m) {
+                return m.id === id;
+            })
+        }
+
         /**
          * Get a mesh with its auto-generated unique id
          * @param {number} uniqueId - the unique id to search for