- Home /
How can I unclamp light intensity?
Light intensity currently is clamped between 0-8. How can I unclamp this? 8 is not nearly bright enough...
Usually, 8 is an unworldly degree of brightness. That said, brightness at a distance is relative to the size of the light.
Is your light providing too little light at very short range from what you're trying to illu$$anonymous$$ate? If so, then the shader on the object could potentially be reducing the effective lighting value considerably.
Otherwise, is the object you're attempting to illu$$anonymous$$ate at the furthest edges of your light's range? If so, the light is attenuating between the light and the edge of its range, resulting in only a $$anonymous$$or effect on objects near its maximum range.
Thanks Eno. $$anonymous$$y light is about a meter off the ground with a huge radius. 8 is nowhere near bright enough, if I had to guess I'd say the value I'm looking for is about 300.
I'm surprised there's a cap, it seems quite arbitrary. I attempted to find the game object to create a custom one but wasn't successful.
Can you send a little demo of your project? Or perhaps a screenshot? The real issue here seems to be that your project is requiring >8 as far as light intensity. For the most part, projects will require between 1-4 for optimal lighting - so it's quite concerning when 8 is not doing it for you.
It is a spotlight? Have you tried increasing your range? Spot angle?
Thanks for the reply Addyarb. It's easier to just describe a demo scene: place a plane on the ground, put a material on it with a dark diffuse (around 40, 40, 40), add a point light, and turn the brightness to 8.
Imagine the resulting brightness isn't bright enough on an artistic level and you want to push it past 8, how can I do that?
are you using default shader? what's the distance between the plane & the point light? our concern is that there's no need to past 8, there must be another thing going on. So it would be very useful to see what's going on on your scene.
Image attached, standard shader, standard light, very small distance between plane and light.
I'm not a newb, I just need to unclamp the light's brightness..
i'm guessing the plane is a very large plane, if so, making the range way larger than the plane should be enough.
I'm having the same issue and it's driving me nuts. The get a sufficiently bright light I have to either make it really large, which makes it hit surfaces i don't want it to hit, or stack multiple lights on top of each other, which seems like an incredibly unnecessary workaround. Having lights be clamped at 8 seems so arbitrary. There's no limit to light intensity in the real world, why should unity have one?
Lights brighter than 8 still seem to work fine, as evidenced by some of my older prefabs. As soon as i touch the intensity value it flips it to 8, making my lights super dim. In the attached picture i have a light at 11, and one at 9.14. Both are brighter than the currently maximum allowed brightness, yet still appear pretty normal.
I'd love to hear a clear answer to why they are being clamped to 8
Thank you!! I'm glad someone agrees, it's such an absurd problem to have. It's a float parameter, just leave it unclamped!
Is there truly a situation where you need your point light to be brighter than this? If so, you can always just use a spot light and increase the range. Admittedly, I understand that it's frustrating that Unity's API won't let you unclamp things - even when you make an editor script for it (I tried this), but if you're really getting this lighting (as shown above) at maximum intensity, it is an issue with your shader, and not the light itself.
I've just jumped into Unity and also amazed that light intensity is capped to 8.0. Assu$$anonymous$$g there is a rational explanation for this? If Unity is a physically based rendering solution then we should be able to use accurate real world lighting values based on Lux, Lumens, EV, Candela, Nits or some known unit of measure. If we had to cap any values in PBR it would be a maximum equal to the brightness of the sun. That would take care of most situations but still not be sufficient if we were trying to render space scenes or maps with non "earth like" atmospheres. So what gives...?? why 8.0? Never seen this before in 20+ years of lighting and rendering work. I haven't mentioned falloff which would also complicate things. Is a value of 8.0 assu$$anonymous$$g infinite falloff? But can we really consider all lights to have infinite falloff? Since we are working in realtime this is not an option. Fully baked lights "might" consider this, but punctual lights require falloff to be performant. Would love to hear back from someone in the rendering group at Unity regarding this. I'm new to Unity but not new to rendering and lighting, so maybe I have missed something obvious here. Thanks in advance
Please don't post an answer unless you're answering the question asked - I've converted to a comment for you.
$$anonymous$$y only guess as to why it's clamped to 8 would be something to do with how the value is packed and stored on the GPU and, tbh, it seems very few users have ever had need to exceed this otherwise somewhat arbitrary value.
Of course, it's completely trivial to multiply the inco$$anonymous$$g light intensity by a constant or curve in the lighting model of your shader, so it's not impossible to work around.
thanks for converting "Answer" to "Comment".
Clamping to 8 shouldn't have anything to do with GPU. In my case I have lights that are fully static. Lightmaps and light grid support HDR values so assu$$anonymous$$g light values should not require clamping.
I spent the 5+ years working on a physically based rendering pipeline and clamping lighting values is non-intuitive to this rendering paradigm. Will look into workarounds, but this give me pause that Unity has some large holes in it's rendering, especially when considering PBR.
thanks for the help