As a Roblox developer, it’s currently too difficult to simulate realistic light emitters without the ability to modify the emitter’s attenuation distance.
In real life, light begins to lose its intensity the further it travels from its source - this is called attenuation. Currently, it appears the engine has a fixed roll-off distance for lights. Lights could be much more versatile if developers could adjust this behavior.
In this example, both emitters have nearly identical brightness and range - but the attenuation light has a much more gradual brightness roll-off when compared to the current default lights.
The potential applications of this feature would be broad, including realistic flashlights, room lighting, or any light that a developer wishes to make photorealistic.
Currently, an approximation of the above effect is possible using multiple emitters - however, this is not performant at scale. If engineers were to address this missing functionality, developers could easily customize each light to fit their needs.
To preserve backwards compatibility with existing experiences, this could potentially be a property similar to Unreal Engine’s Attenuation Radius - developers could modify a Attenuation property for each emitter [perhaps a range of 0-1]
In 2016, @zeuxcg mentioned variable attenuation during his lighting Hackweek project (the early prototype of Future Lighting). Many of the above points have since been addressed. However, customizable attenuation remains missing.
Honestly I’d be perfectly happy with this just being forcefully enabled one day if it means that large lights won’t look as awful as they currently do.
I think this would be a really good change, lights look very weird on their own. You can get good results with multiple lights but its a lot of work for something that should just be in the engine by default.
This would be really good feature, achieving photorealistic lighting is difficult with awfully low light range and no way to control attenuation. I have experienced this issue with my friends a lot of times and its really bugging me out.
If Godot, Unity, UE have this, why can’t Roblox have it? We’re not in 2015 anymore, this is 2023.
This. And being unable to set the range greater than 60. It would be nice if it was a number sequence as well.
It would be one step in the right direction for Roblox to move towards the current game engine standard. Graphics are important in every game. Control over them gives the developer more ways of expression.
On the relevant feature request for this issue, an engineer mentioned that staff were investigating solutions for implementing a higher range limit for lights. Hopefully we see this limitation changed soon.
In the case of light attenuation, I’m hoping that this ticket is filed internally - perhaps a lighting update sometime in the future will include this and the above issue.
In Blender, this feature is called ‘Blend’ and works like a mask feather. I find that the lights on Roblox are currently too limited to make aesthetically pleasing and physically accurate light sources without using tricks like OP mentioned (multiple lights).
I’d love to see this become a feature and allow developers to improve the visual quality of their scenes. Lighting is an important pillar that keeps visual quality up high.