Dynamic emissive material

Hi to all,

How to create an emissive material to radiate light to the surrounding in a dynamic lighting environment? I am using 4.19 btw.

You can’t. You’d need to have a light actor to cast the light.

vxgi can do this, if you just use the emissive component of it it can be pretty cheap

I have tried that faking method but it seems to have some limitations if the emissive object is longish or something like a tv screen where multiple colors are expected. Thanks for the help.

Thanks. I will try using that method.

Hope 4.22 will arrive sooner with real time ray tracing.

You need to use a GI solution for dynamic emissives. VXGI, SVOGI, LPV, etc etc. Other than that, again, you can’t.

Oh and RTX isn’t going to be mainstream for probably a few years at best. You’ll have to wait for Moore’s Law to catch up. Their Star Wars tech demo was running on a 30k USD rig with like 3 or 4 Volta GPUs in it, and still was only running at 24fps on a fairly simple scene.

The Star Wars demo used baked lighting for the environment, and the ray traced elements were reflections and dynamic shadows. So real time ray tracing isn’t going to be a solution for this problem.

Using point lights should be good enough for most situations.

Right, but that same RTX tech can and will be used for GI eventually.

Point lights have a Source Length and source radius attribute which can turn them into capsule lights.

Thanks. tried that but it didnt work for my use case.

capsule-lights1.png

Shadows are obviously not work like that. Even if you increase source radius/length, shadows are still cast from a single point. Casting proper shadows from a light with an actual surface area is quite more complex and UE4 doesn’t do that out of the box. You need some sort of ray tracing solution like vxgi, or some changes to engine code. I think it should be possible to make a custom shadow algorithm using the global distance fields to perform raytracing, but it takes a bunch of knowledge and custom HLSL material nodes.