Unreal Engine 5 Tutorial - Open World Optimization: Basics

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello everyone this is the second part of optimization tutorial and it's going to be an extension for the first one before viewing this part I would recommend you to watch first part it will grant you much more FPS than this one Let's uh open way you creating a f in my case it's PCG but everything that I'm going to describe on a PCG will work for you if you are using a full AG editor here so let's open a static mesh coroner here and we can have some parameters that we may can change that will help us optimize our foliage or whenever you're building with a foliage here we have a parameter called instance start call distance and end call distance this is a distance on which this mesh stops being rendered so as you can see for example let me find let me navigate here I have a boulder and it is drawn until I'm on a distance less than 20,000 and when I move far it stops rendering also you may notice how my trees also stop rendering but not all of them I want Forest to be visible from afar so I just changed a c distance for 50% of trees okay now I would recommend you to use star call distance and then call distance for every mesh you have even if this value is going to be very high it's better than having a zero here next parameter is the world position of set disabled distance okay we have a world position of set material function and or whenever we are evaluating World position of set especially for Fage to simulate wind almost every Fage that you will download from um Marketplace or Mega scans will have a world position offset and it allows our leaves to move a little bit more realistic but it requires a lot of resources to evaluate so this parameter allows us to disable evalua in this world position of set function only on some distance around the player only in 5,000 radius so um my tree that is far than 5,000 will not evaluate World position like you can see how my bush is evaluating but on on this distance it already stopped moving so now it is not evaluating World position ofet it's not visible for a player but it saves you a lot of resources also all these parameters can be set it up not only for uh for an static mesh it can be also set on the Nector let me open for example my blueberry actor here it is and here on the on the nectar you may found let me type in not on nectar on static mesh now render distance should be something like this where it is [Music] okay it's not for nectar it's for a static MH component in a nectar you have an LOD section here and you have uh a minan draw distance desired Max draw distance and it's the same as call distance also it should have a world position offset yes also it have a world position ofet disabled distance here in rendering section where it is this rendering here here is a rendering section and you can change World position offset here well next thing that I would like to talk about is U nanites by the way uh after an introduction of nanites by epics a lot of people started to use them but nanites is not a Panacea and uh nanit is a solution but in most cases it's a solution when you don't have other Solutions so don't use nites if you can use lods only use n if you have meshes with for example half of a million polygons or a million polygons and so on and you don't have a choice to replace them with less polygon models because nanites is a good is a totally new rendering technique and it will will not give you such big growth of FPS when you're using instances now let's talk a little bit about lods for meshes let me open so for example my some of my bushes I'm going to open Hazelnut and as you can see it has 37,000 of triangles and it doesn't have an lods by default well if uh you want to add lods by yourself but you're not going to use any modeling tools you can generate them by unreal so here on LOD settings you can find a field called number of lods and you can change it by default it is one so if I will change it for example to eight and apply changes it will generate me missing lods it will generate me f first till seventh lods and also my autoc compute LOD distance is toggled on so it will also automatically compute the distance on which this mesh will change it lods so let's wait a little bit here it is now it's on lod1 lod0 lod1 is already 18,000 triangles LOD two three four and five and now let's move far from it now it is LOD zero 1 2 3 4 five it's not visible these changes are not visible by the way but if you want for example L1 to um start from a far distance you can go here and find U LOD picker an LOD picker you can select an LOD you want to edit for example LOD 1 and here you have a field called screen size by default it is disabled it is disabled because we have autoc compute LOD distance checked let's uncheck it and now we can edit a screen size so if you want an LOD to start from a far distance you decrease screen size so I want an LOD to start on now it starts when it is at such distance but I want it to start at for example 02 I'm just typing 02 but I will do that that's it also one more thing if your LOD Zer has too much triangles but you want to start from lod1 for example for example you you found that lod1 looks perfect for you and it has less triangles and you don't want to render lod1 in any case you want to start from LOD one from LOD one then you can navigate to LOD settings and set minimum LOD from zero to one now it will always start from LOD 1 it will never render LOD zero and let's turn it back if you found the that lod1 for example has too much triangles and you expected that it will have less you can also change it here on lod1 settings you have reduction settings here we have a b LOD and you have a percent triangles so that means how it worked it took LOD Z and removed 50% of a triangles you can change this value to less uh value and Ty apply it will regenerate your LOD so that's how lods work basically uh next about nites I'm not sure that there is something to tell about nites it's not very adjustable system you can just you can only turn on nanites and change your fullback mesh so I don't think that you can configure it a lot but I would like to mention that because uh of uh because Nite render Nite meshes render in a new rendering way it's a new rendering technique they are not work they not work correctly every time with instance static with instancing so especially with karch and instance static measures because hierarchal instance stic measures are created for working with lods so if your PCG or foliage Works in a strange way your foliage starts to float in the air to move somehow then it is a problem with 90% that it is a problem with Nite meshes because Nite meshes Works bad with instances and also they work bad with World position of set sometimes but sometimes everything works fine so double check if you have such problems whether you evaluate in World position of set for Nite mesh and if you're using Nite mesh with an instancing so that's all for this video and uh thanks for watching hope it will help someone
Info
Channel: Dengojaba
Views: 4,656
Rating: undefined out of 5
Keywords: unrealengine5, development, tutorial, game, ue5, unreal engine, multiplayer, coop, online, replication, system, fps, optimization, blueprints, instances
Id: RMSp-K6FClg
Channel Id: undefined
Length: 11min 47sec (707 seconds)
Published: Sat Dec 23 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.