Volumetric Light Beam - Volumetric Lighting solution compatible with Mobile, VR and WebGL

3247719--1160637--ScreenFeaturesList.jpg
>> Get it on the Asset Store
>> WebGL Demo
>> Android, Oculus / Meta Quest, PC VR, PC and Mac OSX Demos
>> Documentation

The simple and efficient volumetric lighting solution compatible with every platforms: Windows PC, Mac OS X, Linux, WebGL, iOS, Android, VR, Oculus Quest, AR, Built-in/Legacy Render Pipeline, SRP (URP, LWRP & HDRP)!

Presentation
Volumetric Light Beam is the perfect, easy and cheap way to simulate density, depth and volume for your spotlights and flashlights, even on Mobile!
It greatly improves the lighting of your scenes by automatically and efficiently generating truly volumetric procedural beams of light to render high quality light shafts rays effects.

3247719--812033--ScreenShowcase.jpg

3247719--992940--ScreenSRP.png

3247719--1160640--ScreenVR.jpg

Two different Volumetric Light Beam implementations, each one optimized for specific use-cases:

  • SD Beams (legacy beams) are super fast with limited features (no true volumetric shadow nor cookie support): they are optimized to run on mobile and standalone VR (Oculus Quest).
  • HD Beams offer more advanced features (true volumetric shadow & cookie) but are heavier on performance: they should be used only on high-end platforms (PC & consoles).

3247719--1160643--Screen2Implementations.jpg

Showcased in great released games
Volumetric Light Beam is a production ready plugin proven by awesome released games featuring it:

How to use it?
Volumetric Light Beam is designed to be extremely easy to use. No setup is required. You don’t have to link multiple objects together. You just need to use 1 simple new component. You can literally add a new light beam in 2 clicks!
In the Unity’s “Create” menu, browse to Light, and choose either one of the new entity:

  • Volumetric Beam: creates a new standalone beam of light (no lights attached).
  • Volumetric Beam and Spotlight: creates a new Spot-light with a beam of light attached to it.
    In addition, you can add a Beam of light to any of your previously existing lights (or any GameObject) by just attaching the “Volumetric Light Beam” component to them.

You can precisely customize the rendering of each beam of light by adjusting a set of user-friendly properties. For even faster nice looking results, some properties are automatically binded to the Spot light attached.

Features

Note that this asset is NOT a fullscreen Post Process / image effect. This is NOT similar to Unity’s built-in Sun Shafts image effect.
Instead, Volumetric Light Beam will generate optimized geometry and material for each light beam. This technique has several advantages:

  • More granularity: precisely customize each light beam independently.
  • You can add light beams anywhere, even at locations where there is no light.
  • When attached to a spot-light, it supports realtime, baked and mixed modes.
  • Much easier to integrate with your own pipeline.
  • Runs faster. No Post Process to add to your camera.
  • Supports low-end platforms like mobile.

Limitations

  • It only supports ‘spotlights’ (beams shaped like a cone). Point lights or directional lights are not supported.
  • *The plugin fully works with Deferred Rendering path: like any semi-transparent objects, beams are rendered using a Forward rendering pass on top of the Deferred one. This is a well known limitation of the Deferred Rendering technique.
  • Since this plugin requires custom scripts execution, it won’t work for a VRChat world using the VRCSDK.

Hope you will find this plugin useful! Feel free to reach us if you need help, or to suggest some improvements/features.
Please consider rating and writing a review on the Asset Store page if you like it!

Thanks :slight_smile:

4 Likes

Added a Stress Test demo featuring 400 dynamic Volumetric Spotlights.
Check it in this WebGL demo!

3249736--250180--ScreenStressTest.png

This demo will be included in the next plugin update.

Hope you’ll like it :slight_smile:

1 Like

Just posted a new showcase video which highlights how to use the plugin:

A new version has been submitted to Unity and should be available next week. This update will include performance improvements, new property to show/hide the cone cap, and various bug fixes.

hi
please help me.
I used this asset in a VR project.However, in the editor, cones are also displayed on the HMD, but nothing is displayed on the EXE that was built.Unity version is 2017.1.1p4.
I will upload images so please check.


Hi @hidex ,
I will look into it. Could you provide me these information about your issue:

  • Have you tried to export the EXE without VR? Can you see the beams in this case?
  • Do you use Single or Multi pass rendering for VR?
    3257749--251064--Screenshot_9.png
    Thanks

Thanks to help.

  • Have you tried to export the EXE without VR? Can you see the beams in this case?
    I tryed uncheck “Virtual Reality Supported” option to export the EXE.But the results were the same.
  • Do you use Single or Multi pass rendering for VR?
    I tried both but the result was the same.

*I am sorry for poor English. Thank you.

Thanks @hidex . I found the problem. There is a new bug in the latest version 1.02. Sorry about that…

I will fix it and push the update to the Asset Store today.
I can give you a fix in the afternoon. Please send me an email to techsaladunity@gmail.com so I can send you a unitypackage.

Sorry for the inconvenience!

Thank you for your prompt response!
I am waiting for bug fixes.
*I also sent an e-mail.

Just to let you know, the bug has been fixed and a new version (1.03) has been submitted to the AssetStore.
If you experience the issue with the current version of the plugin and need the fix ASAP, please contact me by email (techsaladunity@gmail.com) with your invoice number, so I can send you a unitypackage.

Sorry for the inconvenience!

The version 1.03 is now available on the AssetStore!

Hi,

your asset looks really great and I was looking for a good volumetric light solution for quite some time and I believe I’ve found it. :slight_smile:

Anyway, I’m planing on using your asset in a 3D environment that consists for the most part of 2D sprites. Do your light rays work properly with 2D sprites? Especially ones with full transparent areas (like player sprite etc). I’m also using a custom shader (created with the Shadero Shader editor) in case that makes any difference.

Hi Crystan,
Thank you for your message and your kind words.
To be honest, with the current version of the plugin, it won’t work with 2D sprites. However it’s really super simple to handle: I could add a “Sorting Layer” property on the light beam, so you could tweak when the beams are rendered in comparison to the other sprites layers. I ran a quick test in a 2D game and it works just fine like that:

https://www.youtube.com/watch?v=3iq7aTbwTNg

If you are interested in this feature, I could implement it ASAP. Let me know if it would work for you.
Thanks

Thanks for the quick reply!

I think I misinterpret the way the asset works: I thought it would allow me to create “god ray” similar effects. For some reason i didn’t notice that this wasn’t exactly the case when I played the demo. However, your asset will def. become usefull in the near future for another project (or later in my current) which is currently in concept phase, since it’s nevertheless a really nice looking asset.

No worries @Crystan and thanks:)

I am really excited to announce that the 3D Noise feature will be available very soon in the next update! It will use a 3D noise texture to simulate a truly volumetric fog/mist/smoke effect and will allow even better light beam rendering.

Here is a sneak peek of this feature:

The 1.1 update has been submitted to the AssetStore and should be available next week. This is a huge update featuring many major improvements:

  • New 3D Noise feature to simulate dynamic and volumetric fog, mist and smoke.
  • add multi-object editing support.
  • improve global configuration, with global noise properties and geometry layer ID.
  • major optimizations thanks to shader’s multi compile.

Hope you’ll like it :slight_smile:

Hi @techsalad , I’ve bought your asset. It’s working and it is quite good. But I’ve got a slight problem. My source of light is a rectangular spot light. How do I make it like have a rectangular beam?

Thanks.

Oh yeah and also, Animator doesn’t work in the light beam. How do I animate it? Eg. Changing the length / angle of the beam.

Hi @bawenang
Thanks for your purchase and your message.

Regarding the feature which would allow to change parameters dynamically at runtime (like length / angle), this is specified in the development roadmap, and is planned to be supported in an upcoming update.

About rectangular spotlights, this is a very interesting idea. I quickly tried to setup a Volumetric Light Beam with 4 sides only, but the result is not satisfying since it requires special computation for the normals. This is a really interesting feature though, and could definitely be implemented.

About your needs, which feature would you need in priority? Changing parameters at runtime or rectangular/square light beam?

Thanks again for your relevant suggestions.

Hi @techsalad

Thanks for the quick response. For my needs, we probably need the changing parameters more. Since I need to show the animation of the light beam when it is starting to go on / off.

Thanks for your valuable feedback. I would be happy to help, so I will focus on this feature first. I cannot give you an ETA though, but I’ll let you know.
Thanks :slight_smile: