Luma Light is a Plugin that lets you add a realtime Volumetric Lights in ROBLOX.
But you maybe asking: What are Volumetric Lights?
Volumetric Lights (also known as “God rays”) is a 3D computer graphics lighting technique that let’s you see light beams in 3D space. An example of volumetric lights is seeing sunbeams shining through a window.
Default ROBLOX lights look flat, you can’t see them if they are not intersecting with geometry.
Volumetric Lights fix that by adding a fog, which will cause light scatter, hence you’ll be able to see light.
Motivation
Getting hands on volumetric lights for average developer is hard. There wasn’t a lot info on how to do it. That’s why i decided to start working on a plugin that would let user easily add Volumetric Lights and for Free.
When plugin first opened, you will be prompted to allow this plugin script injection, you should allow it. Don’t panic, Luma Light automatically tries to insert a script that will render volumetrics when Play Testing game.
Step 2
After you allowed script injection, open the plugin itself. You should see this panel.
Step 3
Click on check box with Render Volumetrics in order to enable Rendering.
Step 4
Change Rendering Technology to preferable (for this guide we will use Beams)
Step 5
Press on Setup Lights button. It will automatically set certain settings in Lighting so the fog will be noticeable.
Note: You should press on Setup Lights everytime you change the Rendering Method in Technologies
Step 6
Add some lights in your scene (if you haven’t already done it), set lights Brightness property to 3 or higher. You can also set ClockTime to 0 in Lighting in order to have a night time.
After you done all of these steps, you should have something like that:
Note: You may need to adjust Brightness, Ambient and ExposureCompensation to get better results
Important!!
The performance isn’t the best when using Beams and Billboards and i don’t recommend relying a lot on Volumetric lights. If you plan on using it in game please leave it as option for users!
The fact that this is free is actually crazy lol. Recently thought of volumetric lighting as they looked pretty cool but never found a way on how to set it up.
That’s to be expected. Can we get a performance drop (image) of it?
Overall, I like this plugin and have a question, how long did it take you? It’s a pretty handy plugin!
Thanks! It was my goal to get this tech to many people as easy as possible. Getting the volumetric lights itself is easy, it’s just figuring solution itself is very hard.
Overall, I like this plugin and have a question, how long did it take you? It’s a pretty handy plugin!
It took me a few months, mainly figuring out how to render the fog. The information was very scarce (or it was just hidden) when i started.
(Also i re-read Elttob’s article 15 times on how he did his Volumetric Lights)
Can understand the pain lol. There’s not many advanced developers talking about volumetric lighting on roblox. You’d really have to go out of your way to other watch other videos and understand this.
Certainly! Here are result of my tests.
Test were done in 1080p using GTX1050, Graphics Level 21, Technology set to Future.
Settings in Luma Light:
Layers: 100
Thickness: 1.0
Enviroment Lighting only
Outdoors Day time/Night time
Render Method
FPS
Beams
23
Bilboards
Broken Outside
Particles
81
Indoors Day time/Night time
Render Method
FPS
Beams
55
Bilboards
48
Particles
82
Enviroment Lighting + Lights + Shadows
Outdoors Day time
Render Method
FPS
Beams
21
Bilboards
Broken Outside
Particles
58
Outdoors Night time
Render Method
FPS
Beams
24
Bilboards
20
Particles
60
Indoors Day time
Render Method
FPS
Beams
55
Bilboards
45
Particles
80
Indoors Night time
Render Method
FPS
Beams
52
Bilboards
46
Particles
80
In terms of performance Particles perform best. It has something to do with GPU instancing and the fact that there is very little data being transferred to GPU. Beams and Billboards on the other side cause more lag, it has to do something with overdraw and having too many transparent objects stacked on top of each other + positional data being transferred to GPU. Ofc i’m simplifying things, these methods can perform better depending whether you are using Future, ShadowMap or Voxel and how many light sources you have in your scene.
So my personal recommendation is to use Beams and Billboards at night time and in closed spaces. They can give you much better visual quality compared to Particles. Particles work everywhere without significant FPS drops.
I think Particles work just fine! Maybe it’s because of the fact that particles are not much visible at night time which is why you might use beams or billboards. But yeah, thanks for the performance chart!
Hey, Plugin is updated! Bringing new features on the table.
Changes:
Added new Rendering method for volumetric lights.
Added ability to change LightEmission on volumetrics.
Fixed issue where there is one or more duplicate of last beam. (This could cause performance drops, but not anymore)
Made panel little bit bigger.
The new Trail Renderer
After i published the plugin, i wasn’t satisfied with the performance of beams and billboards. They can give you good visual quality at cost of huge FPS drops. Particles are a good alternative to these two methods having better performance (2.5x or 3x) compared to beams and billboards, but the effect uneven and you were left at the mercy of physics.
But! With this update you can now get the same effect (as beams) and still run at 60 FPS!
Trails surprisingly share same properties as beams and behave similarly as beams, but they render twice as fast as beams (for some reason).
If someone knows why transparent trails are much faster than beams, please explain it to me
This is absolutely incredible! I’ve been trying to create volumetric lighting for a long time, but every single time I tried to create it, I failed! It’s very difficult to find information on how to create volumetric lighting in Roblox. I first learned about volumetric lighting from Elttob’s YouTube videos. The only volumetric lighting plugin for Roblox that I know of is VOLUMIKA, but it is paid and quite expensive.
Excited to see you release Luma Light! Thank you so much!
Hi NOPESbucket, a quick request to make the part in the camera locked so the selection box doesn’t show while I’m working. Would be great, thanks. I can lock it myself, but I work in multiple games at a time, testing different features in every game but with the same lighting technology. Would also be very useful for players who don’t know how to avoid this type of situation.
Hello NOPESbucket, great plugin but I have one issue. In the game I am making, it has a day-night cycle, so whenever the sun goes a frame up the lighting gets glitched for a split second. Any possible solutions to this?
Hi Oblation. Lighting glitching is something that I haven’t seen before, but here is the quick solution. In the set Sun/Moon transition (somewhere 6 - 7 [ClockTime]), increase the fog transparency. This should help avoid lighting getting weird (and I suppose it’s a transparency overlay issue).