Nanite: Everything You Should Know [Unreal Engine 5]

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

A good video in my opinion, that clears up how Nanite actually works and what the actual benefits & problems + limitations are.

👍︎︎ 3 👤︎︎ u/WombatusMighty 📅︎︎ Jun 15 2021 🗫︎ replies

Thanks for sharing. His "Things To Know About LUMEN" video also very useful.

👍︎︎ 1 👤︎︎ u/SpitneyBearz 📅︎︎ Jun 15 2021 🗫︎ replies
Captions
hey everyone welcome back it's great to see you again with unreal engine 5 that dropped nanite with one of its most defining new features so this tutorial is going to be all about nanite everything you need to know its pros and cons and of course its limitations so with that being said let's jump right in so for starters let's talk about how to set it up it's really easy to do it's completely non-destructive and very easy to turn off and on again if you so desire so in order to import an object as nanite when you get the following dialog box make sure you check the build nanite box and that's really all you need to do to import a mesh as nanite but what about converting an existing static mesh into night again all you need to do is to open up your static mesh editor from the content browser right here and in the actual static mesh editor you're going to click on the enabled check box under the nanite settings it's really as dumb as that you can uncheck the enabled box at any time to revert your mesh from nanite back into a regular non-nanite static mesh it's really as simple as that the general rule of thumb is if nanites support that type of mesh properly you should leave it on just because of how optimized nana is but we'll get into those specifics a little bit later in this video so now that we know how to import a mesh of nanite and convert it to nanolite let's talk about some of the general notes and things that are just good to know about nanite before going into the pros and cons and limitations so let's talk about what nanite is exactly nanite is essentially an extremely efficient way to render triangles on screen and the way this works is thanks to a feature called cluster culling so going into the nanite cluster view mode right here you'll notice that your model is split up into a bunch of individual clusters each color here is represents one cluster so clusters adjust based on size on screen distance and resolution each cluster here is what's going to get lod away or just culled away the moment that is not visible on screen this allows you to have a i mean not per pixel but almost per pixel level of lod per mesh per object cluster culling which is often about 128 triangles per cluster this is a crazy genius bananas lod system this is how we can get millions and millions of triangles in a scene without frying your computer the lmds are all view dependent and based on these clusters so in the event that you want to see some of the stats related to night what you can do is go all the way to the console command down here and we're going to be typing nanite stats list and you'll see right away you'll have all the information pertaining to nanite right here what's more is that all opaque geometry so no translucency and no mass geometry all opaque geometry can be done on a single draw call not for each object as it was in unreal engine 4. nanite is smart enough to only update changes and not the entire frame as usual so nanite has a lot happening under the hood and each one of those things is benefiting us the artists in a very exciting way this means that draw calls are not really an issue anymore at least when it comes to the amount of instances and the amount of geo on screen now can we hit pixel scale detail with geometry or triangles that are smaller than a pixel in general no that's where nanite optimizes the geo in a very smart and efficient way so this is a feature and a limitation in its own sense for those of you coming from a film background we're kind of used to seeing that subpixel level of detail there which we're not going to get with nanite but for all intents and purposes this is enough and one more thing that makes nanite incredibly impressive is that it compresses extremely well a one million triangle mesh is about 14 megabytes on disk that's smaller than the single 4k normal map what so what makes this the ancient valley tech demo 100 gigabytes is not nanite it's the texture resolutions so many textures are you know 8k probably even 16k i haven't checked but all these textures take up a lot of space on this so the compression that's happening with nanite under the hood is just insane so i think that nanite despite its flaws is here to stay this is too impressive to ignore and with more epic is planning on reducing the nanite file size even more than that talk about exciting so now let's get into the pros and cons so starting with the pros obviously goes without saying the sheer triangle density that you can achieve with nanite is its main advantage here it can handle millions and millions of polygons on screen at a single time it's smart enough to update only the things that change it's absolutely fantastic next up is it's not just the height map anymore for those of you who've worked with landscape in the past it was impossible to get those overhangs right so you've got like landscape caves that sort of thing we couldn't do that with the landscape editor but now with nanite that's no longer a problem now we can achieve a certain amount of realism that was just physically impossible to do with the landscape editor and now thanks to the very fine-grained occlusion culling that we just talked about kit bashing is easier and better than ever for those of you who are not familiar with the content the kit bashing it's basically taking a whole bunch of bottles and smashing them together to create a bigger structure that's called kit bashing and before in unreal engine 4 it wasn't really ideal because you it were so many draw calls you had to lose so many individual models in one time and it still had to render those polygons or triangles even if they weren't visible kind of hidden behind the structure right so this makes you know kit bashing way more renewable than it ever has been before and you get amazing performance on top of that now let's talk about some of the cons and inconveniences and limitations of nanite the first of which is nanite gets exponentially more expensive the higher you go in resolution this seems like an obvious thing but nanite itself won't perform as well the higher the resolution on top of the obvious decrease in performance you'll have in higher resolutions next up is overdraw and that can be an issue so overdraw is essentially the number of time that nanite had to draw that pixel overdraw occurs when you have a lot of layers of geo even if it's buried or below the surface sometimes with overdraw it still has to render those pixels and that can really affect your performance it can get up to two times as expensive or more depending on how much overthrow is happening at a time so at glancing angles occlusion culling really starts being a problem so in order to help you guys visualize what's happening here let's go into the overdraw view mode that comes in ue5 now the overdraw view mode here is kind of a heat map so the hotter it gets the more overdraw there is the more overdraw there is the worse performance you're going to get so you'll notice that all these glancing angles occlusion culling starts to have a hard time so it tests to see if the polygons or triangles are visible and a glancing angle it's really hard for nanite to know if it's visible or not and this gets even worse as you get like a bird's eye view over your scene because there's so much geo in the scene nana is having a really hard time rendering all this properly so just to be clear this is not a global nanite issue this only occurs when you have lots of stacked layers of geometry over one another so let us demonstrate right here and you'll see what i mean if we move the camera below the surface pay attention to how many layers of geometry are stacked onto one another here this was done to achieve a max level of quality on the ground itself to give it as much detail as possible but you'll notice that there's a reason why the performance is is not as great as people expected so as long as you keep things reasonable and you don't necessarily go overboard or completely overkill with the amount of detail here and you have the layers of stack geometry kept to a minimum your performance will be much better sometimes in this scene there's up to 10 layers of stacked geometry over 10 centimeters or 3 inches so there's obviously a ton of stack geo here which leads to subpar performance now another caveat here is that nanite does not support the following translucent are masked materials two-sided faces deforming objects such as skeletal meshes and such it does not support tessellation or displacement so those of you wondering why it's not working in ue5 this is why and last but not least it doesn't work so well with what we call aggregate geometry so what the heck is that fancy word aggregate geometry is basically anything that you know fine detail so like hair fur grass leaves trees foliage in general all these things are not going to perform very well with nanite nana is going to start culling itself apart it's going to tear itself apart trying to optimize and you know if not it's just gonna try to figure out what to render on screen and on top of that your performance is really going to struggle so that's why they don't recommend using nanite on stuff such as foliage of course feel free to try it it's just not recommended so as you can see there's a fair amount of caveats and things to know about when it comes to using nanite so the question remains when should you use nanite when should you not use nanite nand lite should generally be used where possible okay you're going to get much better performance you're going to get better virtual shadow maps you're going to be getting some better memory management and it's going to take up less space on disk thanks to its fantastic levels of compression so more specifically a mesh is a good candidate for nanite if it contains many triangles or has triangles that will be very small on screen it has many instances in the scene or if it acts as a major occluder of other nanite geometry an example of this is a giant cliff phase big closed watertight meshes those things are perfect for nanite then i start becoming an issue when you have like kind of big open-ended open geo like leaves on a tree for example again this is just a rule of thumb you don't need to take these to the letter do feel free to experiment and try your own things i think even epic is still in the process of figuring out what works and what doesn't and in turn they are making changes based on the feedback they get from us and that my friend concludes this video on nanite i hope that helps demystify nand night a little bit for you if you want even more information more juicy tidbits of information epic released a very good two-hour live stream with a devs you can find in the description below so as always folks thank you so much for watching and i'll see you all next week
Info
Channel: William Faucher
Views: 40,645
Rating: 4.9572954 out of 5
Keywords: Unreal Engine, Cinematics, UE5, Realtime, realtime rendering, rendering, CGI, 3D, 3D Artist, nanite, Unreal Engine 5, virtualized geometry, ue5, ue5 early access, highpoly, high poly, optimization, LOD
Id: P65cADzsP8Q
Channel Id: undefined
Length: 10min 32sec (632 seconds)
Published: Mon Jun 14 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.