Okay, so after some technical difficulties, the last session is recorded! I think its over 2h and the arctic environment is finished up, so you dont need to wait any longer
I am still comping the thing since the nvidia experience likes to chop stuff into many parts, but I hope to have it online tomorrow!
For everyone else, the next part is now online! Since the last session turned out to be so long, this is Part 1 and Part 2 will be available tomorrow morning^^ The session is finished with those last 2 parts, so we can think about what we all would like to see as a next project
I think the âUse Area Shadows for Stationary Lightâ works with the same limitations, itâs something you donât mention because you donât have to, but the main advantage of using Stationary is the blending between Static and Dynamic objetcs with the same shadow.
Itâs btw my main problem with my map (SGC from Stargate), itâs a very tight place with many lights and I need a good blending between the player, dynamic objects and statics.
I use a little trick for the corridor for example, I place Static Lights and when Iâm happy with the render, I divide by two the intensity and multiply the GI by two as well, duplicate all the concerned lights and put them in dynamic. This way I donât use any channels for shadows and I still have nice dynamic shadows with dynamic objects.
However, this trick only work well with âbrightâ area, when itâs too dark, shadows are a little bit off, if you have a very dark area baked, you canât darken a shadow from a movable unfortunately.
Something very important to know as well from the Stationary is, this light bake shadows only on Static Objects and dynamic shadows are only active on Dynamic Objects, you canât have both, I really wish to have a way to use both in near distance (or a way to receive dynamic but cast static), in CS:GO Valve did that with the sun, the dynamic shadow is over the bake and with the distance the transition is pretty clean.
HahaâŚman, already 3 people recommended OBS to me now. I will definitely have a look at it
Regarding Stationary lightsâŚI have to admit that I slightly disagree with you^^
The thing is this: â3 lights per object limitationâ this one ONLY exists because of the distance field shadowmap that is being generated by the stationary mode. Static lights dont have that, which is the reason static light baked shadows look worse with low lightmnap rez. When turning on area shadows for you stationary light, it actually defaults back to the old shadow baking technique JUST with soft penumbras. So in theory, that should get rid of that 3 lights per object limitation since its not using the same shadowing technique anymore. I actually think that this behavior is a bug, but I will ask Wright about it, he should be the guy that knows exactly whats going on there^^
About mixing baked and shadows with dynamic objectsâŚI agree that stationary lights help with that, but there is an even more important reason why you want to use as many stationary lights as you can: specular and the dynamic direct lighting. You wont get any specular from static lights, so if you want to have nice little lights on a element close to the ground and you want GI from them AND specular reflection, you need to use stationary and turn off shadows to get past that limitaion.
I almost always want specular from all my main light sources which is why stationary lights are so important. Also, subsurface gets only affected by dynamic direct lighting. Static lights will not âbleedâ through sub surface materials, you need âdynamicâ direct lighting for thatâŚand since I also want to have baked GI from those lights, I have to use stationary^^
While I do agree with you in some points, the difficult thing here is clearly that not all approaches work well with each other and depending on your needs, some things are more important than others or wont work at all. I strongly believe that fixing this behavior for stationary lights would be a huge improvement. Right now, you cant have a light that can make GI for lightmass, has specular AND it doesnt matter how many you haveâŚso thats clearly something that can be improved. Also, if you think about it, that behavior doesnt make any sense from a logical standpoint: You can have unlimited static lights that bake GI and shadows but have no runtime specular. You can have unlimited (until your performance is dead^^) movable lights that have runtime specular but dont bake GI. So why cant you have a light that bakes the same way as the static does but also has dynamic runtime direct light and specular?
Well aaaaanyways, I am getting side tracked I will ask about whats going on there, maybe he can shed some light into this (no pun intended :P)
Thanks again for the constructive feedback! I love talking and sharing ideas about this stuff!
Cheers!
EDIT: lets do it like this: @DanielW any idea if what we discuss above is unexpected behavior or not? Would be awesome to get some clarity on how its supposed to work. Maybe I got it all wrong
I completely agree with you about the weird logic behind Stationary Light, I think area shadows is just here to have more control on it and itâs not a bug, itâs just not very clear and we need more options to have the choice to enable something or not (and I strongly believe the limitation is here just for the shadows blending between static and dynamic), like turn off completely specular on movable, enable specular on static, etc.
What you want is exactly to do my trick but with only one entitie (specular option + dynamic shadow in complement of the static).
The only big bug I found with spotlights is when you have a movable and you push the Attenuation Radius too far, you donât cast shadowmaps anymore for some reason.
But maybe youâre right, itâs a bug and Iâve been fooled by the weird logic behind this light ^^.
WellâŚagain, I am not really sure if it is a bug! Its just that it feels like it would be one based on my knowledge on how this technique works. But yeah, I might be totally wrong with that until de-mystifies it
Regarding your shadowing issueâŚI am not sure what I am looking at in your screenshot I can see some shadows working and I dont see the radius of the lightâŚso its hard to judge^^ However, if I am not mistaken, Unreal uses screen percentage culling for shadows. That means that even if something is in the radius of a light and both, the geometry and the light have cast shadows enabled, the shadow could still be not visible for that object because the actual area the shadow would cover in screenspace is below a certain threshold. So that optimization makes the shadow go away. Thats just a guess though. Do the shadows reappear when you move closer to the geometry that is supposed to cast the shadow (with you camera, not with the light)? That could be an indicator for this.
The limitation is 4 shadow casting stationary lights affecting any point in space. The directional light consumes one everywhere so you effectively get 3 for point / spot lights.
Static lights bake all their lighting and shadowing into the lightmap so they donât have any limitation on overlap but they also canât ever integrate properly with shadowing from movable objects and characters.
Stationary lights bake out their shadowing separately for each light. In the deferred renderer we have to get these shadow factors from the BasePass (where lightmap UVs are available) to the deferred lighting passes so we have to pack the 4 shadow factors into the GBuffer. This is why the limit of 4 exists - to keep the GBuffer small as itâs like a performance tax on the entire deferred renderer. The Forward renderer also has a 4 shadow casting overlap limit, but for slightly different reasons.
So regardless of whether you choose âUse Area Shadows for Stationary Lightâ or not, we still have to store out shadow factors separately for each stationary light to support combining with dynamic shadowing and the 4 overlap limit is the same.
Technically static light sources are drawn into reflection captures so you do get direct specular from static lights if you have reflection captures setup, but yeah it wonât be anywhere near the quality of Stationary lights, which have correct parallax and are shadowed correctly.
It is possible to support more than 4 shadow casting stationary lights affecting a single point, but it would add rendering overhead (either another GBuffer, or re-render the sceneâs meshes again to output the next 4 shadowmap channels) so we havenât tackled it yet.
Nope, but I partially solved the issue, I put 5000 instead of 50000 to the Attenuation Radius (stretch the shadowmap so far isnât a good idea :p), the problem is less visible, Iâve always this Shadow Bias problem (I canât go lower without artefact), but itâs much better, I will find a solution, like always.
Sometimes I wish to have a bridge between Arnold/Vray/Redshift/etc. to UE4 for the lighting, I donât know if they have any plans to enhance the lighting part to boost everything up.
Edit : itâs not so bad https://streamable.com/t4up6, itâs pretty weird than the planar reflection catch the light when the door is closed though.
Looking forward for the next episode!!!
It would be veeeeeerryyyyyyy cool if you explore REAL volumetric lights in Unreal (probably with the NVIDIA volumetric light for UE4).
Keep this, man
the tomb was one of the projects of my students and I dont have access to that scene. It was just an example before I started the Lighting Academy to show people what they can expect from this
I am sorry, but I will not work with experimental builds for now since this is not something people can follow along easily and there is so much to explore with the defaults Unreal provides that I dont really see a lot of benefit in this. But I do agree that new features like that are cool to try out!
Very awesome Videos! You give very good tips to avoid unlimited âtry and error of doom 3000 des Todesâ
Since i wanna start using Unreal fĂźr highend Archviz (currently 3dsmax + vray+ fusion) it helps me a lot with lightning and lightmass stuff.
ill check all your sessions and thanks for your efforts!
Sorry for the long silence! Work was busy as hell with finishing up the announcement trailer for SW: Battlefront 2 for which I had the honor to work on multiple shots. I think it turned out pretty awesome and its always amazing and super rewarding to see the fan reactions for something as big as this Also, there was a bit of easter vacation as well^^
Aaaanyways, I am in talks with some people for the next scene right now, so I hope to have more details on that pretty soon. So please stay tuned and have a great time!