Unreal Engine 4: Best Quality Movie Render with Dynamic Light

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi everybody and welcome back to the channel in this video we are going to take a look at how to render a really high quality movie sequence in one of my previous video about real time ray tracing lighting in a real engine i got a question that was when we crank all these real-time ray tracing options uh the system gets bogged down you really lose performance by using dynamic lighting so how are we going to render a good movie when doing this well here is how to do it i'm going to show you how to render movie sequence with high quality with a lot of setting cranks up they're going to be independent of the performance that you were getting inside the viewport now this works by using unreal as an offline rendering engine if you have work with other rendering engines like v-ray like arnold or light cycles uh you probably know what i'm talking about but for those of you who don't an offline renderer is something that you just set up your scene you hit render and you leave it alone it doesn't have to do anything with real time performance and usually when you're in those types of renderers you're not seeing the final quality image until it's done render so it kind of takes its time it process the image so it spits out a really nice looking sequence this is what we're going to be doing with unreal we're going to be turning this engine into a rendering machine this is a process that's going to be taking time so bear that in mind this is going to hog up all your gpus so your computer will be really slow don't freak out about that it's supposed to happen in this video i'm gonna go in depth into all the variables and properties that you need to take into account when doing a high quality render so make sure you grab a snack and watch this video all the way to the end all right before we get started remember the best way so you can support me is by leaving like leaving a comment share this video subscribe if you haven't and ring that bell for a notification that really helps me out okay so the things that you're gonna need for this is unreal engine 4.25 and onwards i'm not sure this works on previous versions i'm positive it doesn't so make sure you just have uh 4.25 now remember we're going to be doing real time ray tracing so make sure your video card is compatible with that the third thing is going to be something called tdr delay now tdr delay is this thing over here so it's a registry option which is right here and if you are a substance painter user you're probably very familiar with these variables because whenever you start substance painter if you have not done the modifications to these variables it will give you a message that's really annoying every time so we need to modify this because the tdr delay is the amount of time the windows gives to the gpu to respond so if the gpu doesn't respond in a certain period of time then windows crashes the driver and if the driver crashes so will the engine so if you have not done this please stay with me we're going to do this together and i'm gonna guide you through it if you have already done this because you have substance painter or another program that uses this you can skip to the next time stamp in the chapter now for those of you that are staying you may or may not have this option right here so if you do not have that option the thing that you have to do is right click new get into the word 32 bit value now i'm not going to do that because i already have it here it's going to give me an error because it's already there but it has to be d word 32-bit value once you've done that it's going to create a registry onward like this and you just name it exactly as it is right here i'm going to leave some links in the description that talk about this in case you need some help with that but make sure it's exactly written the same way that i have it right here otherwise this is not going to work it has to be the same cases for the t and the d now after you have done that you just double click here and you're going to get this uh little window and in this window you're going to go into decimal and you're going to make sure that this is all the way up to 60. what we're telling it here is wait 60 seconds before you crash the gpu driver from what i've read this process only requires you to modify this variable but since i also have this one might as well do it so just double click it go to decimal and make sure it's at 60. and if you want to bring it in it's the same way as the tdr delay uh it's going to be also in the link that i'm going to leave in the description if you need more help with that now that you have made those changes you need to close this and you need to restart your computer otherwise the changes are not going to happen all right now that we've gotten that out of the way one thing if you want to follow along you can always go into the epic launcher unreal engine the learn tab should have this exact same project that i'm using now some people have told me that sometimes this project's not here and this is a project that was commissioned by epic so there is no reason why it shouldn't be here it's actually under engine feature samples the reason is because this project was made to showcase rtx so if you want to follow along make sure you grab this project right here and you have exactly the same things that i'm going to be showing okay so after that we are going to open our sequence now the way we open our sequence is we go here into cinematics we click this drop down menu if you're using the same file the same project that i'm using you should find it here if not make sure you create your sequence first with your cameras however you liked it and then proceed to the next steps that i'm going to show you but for now if you're following along just click on our base archvis synonym master okay now that we have our sequencer opened if you're following along with the same project you're gonna see that your viewport just went black and the reason for that is because this sequence is said to start with a little fade in and that's going to then turn on the lights and show you everything you might be seeing that's a little bit choppy on the video because i'm recording at the same time and this has the highest quality settings possible now if you are not seeing what i'm seeing right now and you want to get to that all you have to do is press this little camera right here that will take you straight into the cameras for the sequence and as you can see as i scroll it jumps from camera to camera there you go all right i just wanted to show you that and this is the sequence that we're going to be using the way that this used to be done before the movie render queue which is what i'm going to show you today is you were supposed to go here you click here and this will give you a set of options you will set up your options and you would export your movie the problem with this is this is good for um the what's it called the in-game cinematic so if something is happening within your game and you want to have an in-game cinematic at that moment with some dialogue this is the tool to use but if you want to have like a game trailer if you want to have a automotive showcase something arc this or simply you want to do something for your portfolio uh this will be kind of like the low quality one you'll have to use the movie render sequence that we're going to be talking about here i just wanted to show you what used to be the previous option now that we got that out of the way what i'm going to go here is on window you're going to see it says cinematic and over here we have movie render queue if you're on for the 25 you should be able to see this but if by any chance you open this and you don't see movie render queue you all you have to do is go to settings go to plugins and in plugins we're going to look for movie render pipeline and also even add this version this is still in beta i don't know if it's going to be final release on 4.26 but this may have some bugs so that's why you'll see me avoiding certain options just so we can get a high quality without any problems so just bear that in mind so once you have enabled this if you didn't have that all you have to do let me close here and we're going to go here into movie render queue and we get this little window right here so this window is where you're going to do everything that you need and this is also the window that i'm going to be using to show you how to render super high quality images now in order to use this all you have to do is go here on the render and select your sequence so if you are doing a one shot so let's say if you're doing just one picture you're not going to do video you can have your sequence and may and make it be one frame that's fine but you still need a sequence for this to work so i'm gonna click there and you're gonna see that we have the name of the sequence we have some settings so we're gonna talk about we have the output so this is where you will be clicking once this is done so you can get into the files and we have the status so after that we're going to go into the settings so we can see all the options that we have for this so once you click settings you are going to be greeted with another window and this window is where we are going to add all the options necessary this is also the window where you're going to find your presets now we have this preset tab this preset is once you have all your settings you can save those settings so you can reuse them over and over in any additional movies you want to render and those will be saved as an asset for the project so they will not be available to other projects unless you migrate them as an asset just bear that in mind and if i open here you're going to see that i already have some because this is the presets that i created while i was using this but here you have save as preset so you can save all your settings once you're done now over here you just have the bare minimum that you need for render and this is not going to get us a high quality render movie like we want so one of the things that i'm going to do is i'm going to turn off the jpeg because i don't want to use jpeg if you have watched my other videos you know that i don't like jpeg because it's too compressed off a file the file that i like to use is png png is like that happy medium be between a good quality and decent compression so for this we are going to turn this off because these are toggles and we're going to add more settings so if you want to add more settings just click the screen button and you're going to see everything that you have available to you so right now let's start with anti-aliasing now over here in anti-aliasing we have a couple of things that we can modify in this settings we have spatial and you actually can hover over this and it will tell you what these should do but what we're going to be using for this example is going to be the temporal the reason why we're going to use the temporal is because this is the one that i've seen more recommended whenever you are doing your video uh the reason for that is because it works with motion blur and you want motion blur to create those more realistic video tags so in this one what you can do is you can increase the samples here what i'm going to do is i'm going to increase them all the way to six and the settings that i'm going to show you are the settings that i use to render the video that you saw in the beginning um you can crank this up if you want but i'm i'm gonna tell you right now if you crank this up um this is going to take super super long so we're going to leave it at six uh you can lower it if you want to if your lighting scenario allows you to that's why maybe render a couple of frames for some testing just so you can test the amount of noise this temporal sample count anti-aliasing what's going to do is diminish the amount of noise if you use offline renderers like v-ray like renderman arnold whatever then you are used to the sampling count so the sampling count will bring down the amount of noise that you see on the scenes now you don't have to crank this up so much in unreal like unlike other uh rendering engines but for now we're just going to leave it at six we're going to override the anti-aliasing because there is an anti-aliasing in this scene already and if you have anti-aliasing in your scene it's better that you work with these samples right here now for the anti-aliasing method we're going to go with none we're not going to choose on other other option because during my research what i found is that this is the best option for this since this is a beta still it's not recommended that you use anything else although you can try and experiment i really encourage that now the next thing that you're going to do is you're going to click on this drop down and you're going to go into the render warm-up count uh you're going to put that to 32 is fine so let's talk about what this is the warp up count is the amount of frames that the engine is going to render and then discard in order to get all our effects um running so if we actually go here and let me get these out of the way just to show you something so if we go into perspective you're gonna see that when i move there's a little bit of noise that is generated and that is because it's the real-time ray tracing doing its job so it fires raids and as the time passes it denoises it and it gets rid of all those uh little kind of like splotches that you see all around it may not be noticeable in the final video but there is some noise when you move in this scene so that is what the warm-up is for is to give the engine sometimes to um kind of get there and get all the effects and everything that's going on in the scene going before it starts to render otherwise you're going to be render a fairly noisy scene all right the second variable that we have right here is called engine warm-up count so the engine warm account it has to do with the visual effects so if you have any dust particles in there something niagara related any animations anything related that way you are going to want to give this the same amount of time that you are giving the value above or maybe higher depending on how many particles you have the other time when this is important is when you have let's say an exterior scene and you have a landscape and you have a lot of grass usually the engine takes a little bit to compile and that grass needs to be rendered so this is also giving the engine a little bit of time to get going and make sure that everything is ready for your awesome video now we're gonna go into settings again and the next thing that we're going to do is actually let's do png sequence so here are the choices that you have for your render you have bmp which it's kind of like an old 8-bit file you have png which is the one that i mentioned before and the one that we'll be using in this tutorial and you have exr exr it's like the highest quality file it's going to give you a 16 bit file that you can take into programs like davinci resolve after effects or premiere and you can color correct or if you want you could do it in photoshop later when we're doing the image i'm going to be doing an exr so just so you know that this is an option here but for now we're going to be using png sequence one of the things that you're noticing is there is no video file here so if you have rendered uh with an offline renderer before or even if you have used uh marmoset toolbag you know then it's better to always use a image sequence as opposed to video the reason for that is because if you are let's say in let's say your video takes 500 frames and you are rendering a video instead of a sequence of images if you render those 500 frames and it crashes at frame 499 you will have to restart from the beginning if you render it as a video but if you render as a png sequence and you crash at frame 4.99 then you can just render frame 499 and beyond and be done super quickly so this is why you would prefer to render in a png sequence and i'm sorry in an image sequence and the engine is not going to give you any other choice so may as well take it so we're going to do png sequence and the next setting that we're gonna add is we're going to be adding a console variable now in order to get rid of this little warning right here it wants us to do eight samples at least i find that a little bit less than eight looks really nice but if you want a good quality uh to make sure that everything is on the highest quality anything higher than eight would be preferable now let's go back to our console variable which is the next setting that we added and in here you're going to see it's really relatively empty what this does is we're going to be adding some console commands in order to override certain settings so when you're working within the engine you just do your settings as much as you can with the kind of performance that you want however with this type of rendering you're not going to be doing real time so you can kind of crank up some things to make this look a lot better because you're not going to be doing real-time performance so in these variables this is where we can override some values in order to help us bring that quality quite up without having to do it within the editor and get everything super slow now what i did is i brought you to my preset where i've already done all these variables and i'm going to leave a link in the description below to an unreal documentation where you can actually read a little bit more about this and it will also let you know about all these variables that i'm using here so you can go and copy and paste if you need to so you don't spend all your time writing and uh you don't have any typos now that being said the values that you see here are the values that i use to get the quality on the video that you saw on the start actually that video looks really nice it may not look as nice on youtube because of compression but it was really high quality so let's talk about some of the variables and why you should use them now motion blur quality this has to do with the quality of motion blur this doesn't have to do with the amount so just bear that in mind uh motion build now we have another variable for motion blur i find that if i don't do this variable it will not look as good so make sure you have this variable at one as well now this variable is if you have depth of field in your movie if you don't have then this variable is not going to do anything but if you do then this is a nice quality setting to have around four now motion blur you always want to have if you are doing video because always in reality there is at least a little bit of motion blur now the next one is bloom quality very self-explanatory tone mapper quality tone mapper is the kind of like the color correction post processing effect that unreal has so we also want a decent quality for that and now we get into the ray tracing variables so in ray tracing global illumination you're going to see it there's number one this is the one that i need to explain when you type in this variable and if you're doing dynamic lighting you need this variable in here you are telling the engine which type of real write real-time ray tracing solution to use so if you've seen my other videos you know that there are two ways of doing real time ray tracing inside unreal one is called final gather and the other one is called brute force now brute force is the really accurate the one that's going to be really nice looking because it's going to take into account all those nice lighting and all those shadows brute force is mapped in the commands to the number one that is why we're using the number one right here there is a number two command which calls the final gather the problem with the final gather is that it isn't as accurate and again if you've watched my video on real-time ray tracing you'll remember that final gather does not rely on the amount of bounces so that means if you increase the amount of light bounces in your scene it's actually not going to increase the quality that's why we want to use brute force because brute force is more dependent on the amount of bounces that we have in our room now the next one it's related to what i just told you is the amount of bounces and you can see right there on screen what the full command is the maximum amount of bounces that we're going to get from our real-time ray tracing solution so in this case is too uh that's a good amount of bounces for this particular scene if you have a different kind of scene maybe a darker scene you may need a little bit more bounces so again do one or two frames to test these out and change them accordingly now we have the reflection part so we want our max roughness to be one and we want our bounces as well depending on what kind of quality that we want how many bounces do you think you need in order to achieve good quality reflections if you want to look at that you can actually go and let's actually do that go into your post processing volume and if you scroll down you're going to see that you have ray tracing reflections so right now this is turned off for performance purposes and like i said we're going to uh crank it up right here now in here we are going to have the number one so we have our max roughness all the way to one and our maximum bounces we have this option right here so if you want to see an engine how many bounces do you need in order to get a good reflection make sure you check out this option and increase it depending on how much quality do you need for your reflection and then you're going to mimic that amount over here in this case we're just going to use two now for retracing reflection shadows again this number is kind of the quality that we're going to get the higher the number the more shadows that we're going to be able to see because this is real-time ray tracing the lower the number the less shadows if you have too few shadows and your reflection is going to look fake like it does if it was the kind of like a video game setting so remember we're trying to render a high-end quality movie here so we're going to leave that all the way to 2. now over here you're gonna see that i have a bunch of commands that i all zero it out the reason why the road is zero it means that i'm deactivating this in the engine so they actually are not working and for those you can see that all of them have the word denoiser in them the reason why i have the word denoiser in them is because these are commands that work within the engine to denoise the scene to help um make it high performance while still looking good we don't need that denoising here so i just took all those off because those are things that are not needed and those are things that may be adding to our rendering times again the list of this commands it's going to be in the link that i will be leaving in the description below so you guys can take a look at this a little bit closer the last thing that we're going to do here is the output so in here there are some very self-explanatory things the output directory i'm just going to choose which folder so click here and a window will pop up so you can choose which folder you want to save these in this is how the name of the file is going to go so it usually goes sequence name and then frame number i recommend you leave it at this so it's easier to identify it's always good to have the frame number in your png sequence you can later load it into uh davinci uh sony vegas or premiere whatever you're using here we have the output resolution right now i'm going to use full hd you can change it to 4k and go crazy with this but i'm going to leave it at full hd now next to the resolution we have custom frame rate that is if we wanted to switch from the regular film frame rate unreal already gives you a 24 frames per second which is the regular film that you will see on cinema and many movies if you want to do something different let's say you wanted to do 30 or you wanted to do 60 and then you will have to enable that option and change it there but for this tutorial we're not going to do that overwrite x16 output this just means that in case you need to render again it will just overwrite your images that you haven't won't create any extra files now if you click on this drop down you're going to see something called zero pad frame numbers this just indicates the amount of digits that you're gonna have in your frame number so number four will be uh like it says here zero zero zero and one that's the amount of digits that you're going to have for your frame number and here is where you will type your offset frame in our case we are starting at zero so i'm just going to leave it there now these two options are for kind of like advanced shots so you can read this if you want to alter them i'm not going to be altering them in this tutorial but i am going to be checking use custom playback range so i was doing uh some testing for different sequences here but in here is where you're going to specify the range for your render if you want wanna render the whole sequence which the whole sequence will be from zero to fourteen forty frames and you will just leave this from zero to fourteen forty frames but in my case um i'm actually going to start at zero but if you wanted to just let's say do like one of these smallish sequence in order to do the test or get that small piece that you need then you will specify that here alright so once we have done that all you have to do is click accept and you're going to have your settings done now mine has a name uh it's it has an asterisk because i did some changes to it but yours will say probably like unknown name so all you have to do is come here in presets click save as and this window will pop up and you'll save it as a regular asset i'm just going to get out of here once we're done all you have to do is click on render local or render remote now render remote is for those of you who have the fortune of having a render farm a render farm is a group of computers that are going to do the rendering for you this requires a higher level of programming and all of that so i'm not going to touch this what i'm going to do is click on render local and that is going to get the process started that is it for this video thank you so much for bearing with me if you made it all the way till the end at this time after you press render local you just let your machine run i do not recommend you do anything else your machine will be so slow you won't be able to do anything on your machine at the moment now if you like this video please leave a like leave a comment with your questions suggestions for future tutorials let me know how you plan to use this let me know what kind of movies you want to make with this in the next video we're going to come back to the movie render queue and i'm going to show you how to render our super high quality image so you can do portfolio stuff thanks for watching everybody and i'll see you in the next video
Info
Channel: MR3D-Dev
Views: 28,230
Rating: undefined out of 5
Keywords: ue4 rendering, ue4 rendering tutorial, unreal engine 4 render video, ue4 high quality render, ue4 high quality media export, ue4 video, unreal engine 4 video production, ue4 archviz, ue4 architecture, ue4 camera, ue4 sequencer tutorial, best render settings, render settings, ue4, unreal engine, epic games, sequencer unreal engine 4
Id: KLbzNS5Oya4
Channel Id: undefined
Length: 31min 0sec (1860 seconds)
Published: Mon Oct 12 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.