diff --git a/src/alternativa/engine3d/core/Object3D.as b/src/alternativa/engine3d/core/Object3D.as index 42720c1..8cffbc9 100644 --- a/src/alternativa/engine3d/core/Object3D.as +++ b/src/alternativa/engine3d/core/Object3D.as @@ -1363,7 +1363,6 @@ package alternativa.engine3d.core { alternativa3d function collectChildrenDraws(camera:Camera3D, lights:Vector., lightsLength:int, useShadow:Boolean):void { var i:int; var light:Light3D; - var excludedLightLength:int = excludedLights.length; for (var child:Object3D = childrenList; child != null; child = child.next) { // Checking visibility flag @@ -1378,6 +1377,7 @@ package alternativa.engine3d.core { child.listening = true; } // Check if object needs in lightning + var excludedLightLength:int = child.excludedLights.length; if (lightsLength > 0 && child.useLights) { // Pass the lights to children and calculate appropriate transformations var childLightsLength:int = 0; @@ -1387,7 +1387,7 @@ package alternativa.engine3d.core { light = lights[i]; // Checking object for existing in excludedLights j = 0; - while (j 0 && child.useLights) { // Calculation of transfer matrices from sources to object. - var excludedLightLength:int = excludedLights.length; + var excludedLightLength:int = child.excludedLights.length; var childLightsLength:int = 0; for (var i:int = 0; i < lightsLength; i++) { var light:Light3D = lights[i]; var j:int = 0; - while (j