void SetLightIntensity(float intensity) { displayLightIntensity = intensity; if (lightUnit == LightUnit.Lumen) { if (lightTypeExtent == LightTypeExtent.Punctual) { SetLightIntensityPunctual(intensity); } else { m_Light.intensity = LightUtils.ConvertAreaLightLumenToLuminance(lightTypeExtent, intensity, shapeWidth, shapeHeight); } } else if (lightUnit == LightUnit.Ev100) { m_Light.intensity = LightUtils.ConvertEvToLuminance(intensity); } else if ((m_Light.type == LightType.Spot || m_Light.type == LightType.Point) && lightUnit == LightUnit.Lux) { // Box are local directional light with lux unity without at distance if ((m_Light.type == LightType.Spot) && (spotLightShape == SpotLightShape.Box)) { m_Light.intensity = intensity; } else { m_Light.intensity = LightUtils.ConvertLuxToCandela(intensity, luxAtDistance); } } else { m_Light.intensity = intensity; } #if UNITY_EDITOR m_Light.SetLightDirty(); // Should be apply only to parameter that's affect GI, but make the code cleaner #endif }
void SetLightIntensity(float intensity) { displayLightIntensity = intensity; if (lightUnit == LightUnit.Lumen) { if (lightTypeExtent == LightTypeExtent.Punctual) SetLightIntensityPunctual(intensity); else m_Light.intensity = LightUtils.ConvertAreaLightLumenToLuminance(lightTypeExtent, intensity, shapeWidth, shapeHeight); } else if (lightUnit == LightUnit.Ev100) { m_Light.intensity = LightUtils.ConvertEvToLuminance(intensity); } else m_Light.intensity = intensity; #if UNITY_EDITOR m_Light.SetLightDirty(); // Should be apply only to parameter that's affect GI, but make the code cleaner #endif }