Unreal 4 Lighting Academy....or something like that ;)

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 :smiley:

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!

Here is a small tease:
cae9eec1fcc2d389bcb99a200fd7e5302ac8ee89.jpeg


http://imagizer.imageshack.us/v2/xq90/922/MBDPFa.jpg

And here are the original shots from Sascha again for reference https://www.artstation.com/artwork/vBbYv

Cheers!

Hey , I’m very much interested in taking part of this session you are offering. How would I go about setting one up with you? Thanks

I just sent you a PN :wink:

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 :slight_smile:

Hope you guys like it and have a great time!

Cheers! :slight_smile:

Hello , nice stuff like always.

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.

If you are curious about my work in progress

Ps : OBS shouldn’t do “parts”, but if you want to keep Shadowplay give a try to avidemux to stitch your videos

Great stuff. The depth and contrast you are able to bring to these projects is really inspiring.

Haha…man, already 3 people recommended OBS to me now. I will definitely have a look at it :slight_smile:

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 :smiley: 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! :slight_smile:

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 :smiley:

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 :smiley:

Regarding your shadowing issue…I am not sure what I am looking at in your screenshot :smiley: 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.

Cheers! :slight_smile:

I have been summoned.

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.

I think you dont have enough resolution for a shadowmap with that huge radius. Try increasing the rez via console, that should fix it :wink:

Yeah! Thank you so much ! This is really explaining it nicely :slight_smile: Makes a lot more sense to me now.

Aaaand here is the last part for your viewing pleasure! :slight_smile:

added your playlist. i hope you will show the egiptian tomb scene or what is that. looks really good :slight_smile:

really nice outcome of this scene, thanks for all the precious info’s!

Looking forward for the next episode!!! :slight_smile:
It would be veeeeeerryyyyyyy cool if you explore REAL volumetric lights in Unreal (probably with the NVIDIA volumetric light for UE4).
Keep this, man :wink:

Hey,

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 :slight_smile:

Hey man,

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! :smiley:

Cheers!

Moin! :wink:

Very awesome Videos! You give very good tips to avoid unlimited “try and error of doom 3000 des Todes” :wink:
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!

big fat greetings from cologne, germany :wink:
!

Hey guys!

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 :smiley: 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! :slight_smile:

Cheers!