Epic: "With Nanite you don't need to think about LODs anymore!" Also Epic: "Nanite is a lot of data, so you should rely on instancing. Also instancing is limited, so here is how you can bring back LODs to swap out Nanite with billboards."
I want to argue with you but this is pretty fair. Really its "With nanite you dont need LODs any more! Well, as long as youre not trying to create a dynamic forest or something. Bunch of rocks? Hell yeah. All day." Then, they looked at that forest limitation and came up with a solution for that and stuff like it. Still cool and really gets us past trees that are just a bunch of cards. Again, you're not wrong though!
And don't forget about the shadows! Nanite is very slow with cascading shadow maps. Therefore, you need to use Virtual Shadow Maps. Virtual Shadow Maps are slow on regular geometry! Let's convert everything to Nanite! Wow, you have a lot of vertex animation that causes the Virtual Shadow Map to update. We will have to limit the maximum distance at which vertex animations occur. Oh, you have variable time of day and night, so the Virtual Shadow Map is updated every frame! And so on and so forth.
A cheaty way to prevent leaves from disappearing, leaving only the trunk, on nanite foliage is to toggle "Preserve Area" = True in the desired static mesh. This has helped a couple of my renders represent distant trees clearly.
So basically the talk was about bringing back LODs into our workflow... nice. To be fair, it's still pretty amazing how you implemented nanite and the new tessellation feature is really nice too. If you asked me, it would be nice that you made the process of creating procedural content more artist friendly, the same way you did with CONTROL RIG. I know people kind of laughed when at the talk they mentioned new gizmos as an exciting feature. It was laughable. BUT, focusing on making things user/artist friendly is something that many software companies many times overlook, and should not be underestimated. If you force users to have to figure out how to use your software instead of enabling them to intuitively explore it and experiment with it, you are loosing users by the second. I would love to see more commitment with PCG. For example, creating a neat UI with placeholders for the tree components. Easier material/terrain workflow. Etc
The talk started with overdraw problem shown with the default approach. Would have been nice to see to see overdraw at the very end to see how much better it got with the method they showed
The key thing was in your acknowledgment about how Nanite works and how to work better with it. So, we don't really need this. Besides, what do you especially want to get from the new picture? Like, even if you compare them, it's useless data because anyway, problem of optimisation is way more complex.
The whole pcg, instancing part, didn't do anything for rendering performance, he's still drawing many overlapped geometries. What it did achieve was simply reducing the amount of on disk data needed to represent the tree by instancing the same lower poly branch over and over as opposed to individual ones made in a DDC. The only part that helped with the rendering performance was switching to billboards in the distance.
I added megascans to PCG Biome and it did not like it at all at anywhere over low scalability. I was 100% sure I was doing something wrong. This video helps me start to understand why I can't just "nanite everything" and go.
I also thought about using pcg to create foliage assets (for billboards tho) when I was messing with tutorial.Fully dynamic workflows is the best tool for these natural environment.Great job!
This is amazing talk. I'm wondering how I can handle world position offset on the tree leaf in PCG, like wind sway or something. As far as I know, I can't paint vertex color or change UV on PCG.
can you explain a bit how they managed that? I still dont quite understand whats going on. Are they using the world partition to load in billboards for the HLOD. which effectivly adds adds an LOD layer to nanite? My biggest question is how did they keep the tree location stable using PCG for the naite trees and the billboards.
would love to see a method on baking ground cover color info into landscape textures / rvts. making it possible to remove ground cover completly at distance. (for example if we have an area with bushes clustered around, we cant change the ground texture to match the bush colors, due to up close the ground still needs to be ground texture. sure we can fade it in using textures and masks over the same areas we place this cover, but landscape materials only got 16 sampler slots, and it starts going a bit crazy when using shared sampler slots that needs to tile 1:1 over several landscapes. Sadly enough we're working with landscapes so large and so forested that we're hitting the cluster cap really early.
This was a cool presentation, but I can't help but cringe at the thought of working with billboards and LOD's in combination with Nanite. That stuff was supposed to go away. It's definitely not a long term solution, in my opinion. Also, while using PCG to construct the tree in-engine is super nifty, it's not an option for people who use software like speedtree to build their trees.
UE5.4.1 The bug issue with the motion graphics function remains unresolved, the same as before; Especially when generating SVG models and opening them after saving, if the axis center point automatically deviates, the use of the animator function above is also prone to failure. When the animator switches to Sequence control, the effect is unstable or ineffective. Material designers cannot save multiple effects, and custom colors for material design become invalid after switching text parameters to semi transparent----Recently, text bugs have been discovered, text animation strokes, the preview window is normal, and the MRQ rendering output has no strokes. After the preview stroke is saved, it directly returns to the default first material when opened, as well as texture cloning, and the preview and rendering output effects are unstable.
Really love the presentation. I was wondering whether epic can release the project file from the presentations so that it can be studied by the community?
Insightful! Great work. Hoping we can get this in a content sample so we can review it in editor with some examples. Regardless, thanks for the knowledge!
One other problem for realistic trees are shadows. You can have all the leaf detail you want, but if it does not have correct shadows, addtional detail is absolutely poitless. Trees with individually modeled leaves look same as billboard trees - no depth, everything is flat. So if you have individually modeled leaves or needles, they also need to have needle level shadows that average cascaded shadow maps just can't do and all these performance hit is for nothing, no visual benefit.
Regarding the latter half of the talk, making forests out of subsections. Would the method shown then be incompatible with the procedural foliage volume feature? Because at a glance based on this video: that handles procedural placement much better, taking into account individual tree heights, collisions with each other, randomising the rotations, min/max ground normals, inc/excluding from landscape/transluscents/staticmeshes/landscape layers; and some other fun settings-- and it's just in the engine ready to use and doesn't require the end user to then create several 100+ node trees.
You could probably use the 'Actor Foliage' foliage type with the base tree PCG Actor with the Procedural Foliage Volume for placement. Though that may result in the trunks not being part of an instanced mesh (with Nanite and auto-instancing I'm not sure how much of a performance hit that really brings. Could be negligible.)
Based on the part of building a tree with pcg, I have my tree in a level instance built with pcg however i have it tagged with "KeepVerticle" so I can reference it in my forest pcg and change the rotation to absolute. However, the branches don't follow the trunk is there anyway to keep them together?
I tried this method to make trees but made some adjustments. Instead of using masked material for the leaves, I used actual meshes with opaque material. I noticed that when the camera moves away, the leaves remain mostly the same, eliminating the need to add an extra LOD to the tree.
So what do you do with wide aerial cinematic shots where you have lots of trees in the distance? Billboards are not really a good workaround in this case....
The other potentially large performance issue with Foliage is WPO causing VSM invalidation, you can work around this by limiting WPO over certain distances in the mesh/foliage tool settings or you can use the new Shadow Invalidation setting on the Mesh to stop the meshes shadow being affected by WPO / making its shadow static even if its moving.
How the look at works? Trying to get actor properties into the graph from external components, no documentation, no tutorials. Now way to get around how to pass such data? Anyone knows?
There are many bugs in motion design at present. The animator's effect is unstable and the rendering output cannot work. Text strokes cannot be saved and the rendering output cannot be saved. The material designer's multi-effect overlay cannot be saved. The SVG model generation axis is automatically offset and many effects fail. . . Most bugs are related to material designer animator SVG. . .
Imagine saying to a late-90's game dev that one day a game engine will model something as mundane as trees to each individual needle or leaf. They'd laugh in your face.
Cool, but the tutorial isn't feasible. He utilized a custom blueprint named "pcgbp look at." While there's a blueprint named "look at" in the electric dream environment, it lacks the "look at position" parameter, making it a different (custom) PCG blueprint. I stopped there; I understand it's stressful, but at least highlight the crucial nodes to create a comprehensible tutorial or provide the project.
You can take the blueprint out of the ElectricDream demo, remove the 2D look at branching and replace the Look At Target by a vector property on your PCG Actor. The LookAt used on the tree is bascially just a center point from which the branch and leaf point from.
@@JulienFournierJulinoleum Can you tell me more, please? I removed the two '2D look at' branching, but what do I set to the 'set members in PCGPoint'? I found the 'get vector property' in the Event Graph of my actor, but how can I incorporate it into my PCG graph? Thank you for answering.
Can anyone explain how I can disallow nanite with the world partition? I tried according to the process but I think I missed something. I have almost zero knowledge about world partition. So if anyone can explain how these things work then I will be really grateful. Thank you
Great stuff, got a question about HLODs. Does Pcg has the same hlod as level? Im recreated the tree pcg with look ats, but cant get them fallback to LODs through HLODs disable nanite
@@Cloroqx Nope, its only were causing different bugs. Like a chunk of trees dissapears, but wouldn't fall back to normal LODs. Everythng till HLODs part works (though instancing packed level instance isnt consistent i would say). I guess its better to just use old LOD system for foliage
I would love to have seen the overdraw result of the scene once every leaf is a triangle. With relatively low overdraw, I've been able to spawn 30 billions of leaves with a decent frame time (
As a Unity developer it's always very strange to see how much more developed Unreal Engine is on so many levels. I really think Unity should focus much more on mobile hardware and just fix and implement basic functionality . Imho they have lost the battle on the high end rendering front a long time ago 😅
Even in the best case scenario for Nanite, it will still be slower than real optimizing. There is proof on the unreal forums criticizing the lack of context on the documentation. Nanite will only "improve performance" if you have abused overdraw, it's not even about poly count as you can see in 6 million poly test on that thread. Keep quad overdraw(in optimization views) under a VERY light sprinkle of green, no green is better. And material shaders under dark green. Keep to this and you'll be performing way better than using Nanite. The overdraw point where you get "better performance" with Nanite is where your meshes have so much detail it looks like noise after a couple of meters from distancing yourself from it, which can only be fixed with TAA which will blur detail everything in basic motion or TSR which is 10x more expensive and still blurs thin objects foliage or basic camera motion. Not only that, thet overdraw point of "returns" requires VSMs which can cost a ton on 9thgen power. So then the overhead cost of Nanite vs LODs ends up being Overhead of Nanite+All the other crap that's needed(4x slower) vs just using LODs. Foliage has tons of overdraw, but guess what. Nanite explodes when WPO is on making it several times slower even with the WPO distance limiter. Horrible systems by Epic Games. We need better LOD algorithms, transition effects, deferred texturing, and precomputed instancable meshlets. EDIT: See our video covering Nanite.
I see only like 5-10% framerate drop on packaged project, with like ~100 trees WPO on/off w/native 4k on 4080. On ancient laptop with 1060 WPO nanite is much slower but I guess this tech is not for 8 years old graphics cards
@@redtroll80 "I see only like 5-10% framerate drop on packaged project, with like ~100 trees WPO on/off w/native 4k on 4080", On mass consumer hardware (9thgen consoles, and $300 GPUs), the performance loss percentages' are much higher as anomalistic GPU cards like 3080+ shrink these percentages. This is why we develop on high ends cards like your, but only conduct performance test and target performance on $300 GPUs. We also stated in another comment the additional(expensive) requirements nanite also needs to remain "stable" or "worth it". We are releasing a massive video soon about UE5 problems.
@YOOOOOOOOOOOOO-dv2nt Very interesting, thanks for sharing that plugin. Nanite prioritizes storage over performance as admitted by the inventor Brian Karis. Visibility buffer rendering have been proven to be performant for some scenarios such as HFW, so small chance it could help performance in non-overdraw abused scenes. We will have to wait though. There's also the concern with how it deals with subpixel detail.
so nanite is not fast/good enough so we go back to billboards partly. that is kinda way more work again and the illusion is breaking again as before. so maybe software nanite is not enough and you gonna use the already exisiting "hardware nanite" which every dx12 ultimate compatible GPU has. mesh shaders can do the same stuff
You do realize the point of showing foliage in this short talk was to highlight the ONE issue nanite mainly has right, idk about you but I can't think of many games or scenes that are just pure foliage, vehicles, interiors, miscellaneous items buildings, ect. Not to mention you can use Nanite with Niagara mesh particles and the likes, if you still think nanite is "more work" overall you are delusional
@@cburn-YT On top of my head; GTA, Everybody's Gone to the Rapture, Firewatch, The Vanishing of Ethan Carter, Hunter Call of the Wild. Most of these are static in nature and highly optimized for their purposes. Though, the work that went into that is tremendous considering some of the engines that they used that were even older at that point. Yes almost every game in the past 10 or so years have some or more sections that involve a ton of foliage, interiors, etc. This is why it's brought up and why they are actively trying to solve those pain points in Nanite. It's not based on a hunch. It's also why this talk even exists. It's not based on "what if", but rather on the real feedback they've gotten from artists.
As incredible as the tech is and I've been like a kid in a candy store excited ever since I saw the unveiling of UE5 back in April of 2020, it's kinda messed up how since the initial launch demo dropped Epic has been touting "it just works, it just works" yet now they are saying the opposite...???
All this talk about Nanite and no game is actually using it. Gaming industry is in a sad state now. Instead make a single game that actually uses this.
Arran is one of the best tech artists instructors out there! Excellent talk 🎉 thanks for the concise presentation
He really is the goat. So knowledgeable on so many topics.
Epic: "With Nanite you don't need to think about LODs anymore!"
Also Epic: "Nanite is a lot of data, so you should rely on instancing. Also instancing is limited, so here is how you can bring back LODs to swap out Nanite with billboards."
I want to argue with you but this is pretty fair.
Really its "With nanite you dont need LODs any more! Well, as long as youre not trying to create a dynamic forest or something. Bunch of rocks? Hell yeah. All day."
Then, they looked at that forest limitation and came up with a solution for that and stuff like it. Still cool and really gets us past trees that are just a bunch of cards.
Again, you're not wrong though!
@@Sluggernaut Well you can argue with that because they were saying it when nanite was not supporting, among many, foliage.
And don't forget about the shadows!
Nanite is very slow with cascading shadow maps. Therefore, you need to use Virtual Shadow Maps. Virtual Shadow Maps are slow on regular geometry! Let's convert everything to Nanite! Wow, you have a lot of vertex animation that causes the Virtual Shadow Map to update. We will have to limit the maximum distance at which vertex animations occur. Oh, you have variable time of day and night, so the Virtual Shadow Map is updated every frame! And so on and so forth.
Instances are limited to 16 million. Most developers will never even reach half of that limit.
@@pavelksen3166 this is definitely the bigger issue
the guy who screamed when you turn on the overdraws at 01:44 made my day!❤😂, thank you for this video! we are learning a lot!
That's Arran, the presenter. Absolute GOAT!
@@Jiggywatt GOAT!!!!
awesome, very clear and concise breakdown and super smart way of working. thanks for sharing this workflow/technique!
A cheaty way to prevent leaves from disappearing, leaving only the trunk, on nanite foliage is to toggle "Preserve Area" = True in the desired static mesh. This has helped a couple of my renders represent distant trees clearly.
So basically the talk was about bringing back LODs into our workflow... nice.
To be fair, it's still pretty amazing how you implemented nanite and the new tessellation feature is really nice too.
If you asked me, it would be nice that you made the process of creating procedural content more artist friendly, the same way you did with CONTROL RIG.
I know people kind of laughed when at the talk they mentioned new gizmos as an exciting feature. It was laughable. BUT, focusing on making things user/artist friendly is something that many software companies many times overlook, and should not be underestimated. If you force users to have to figure out how to use your software instead of enabling them to intuitively explore it and experiment with it, you are loosing users by the second.
I would love to see more commitment with PCG. For example, creating a neat UI with placeholders for the tree components.
Easier material/terrain workflow.
Etc
surprisingly awesome presenter / speaker. well done
The talk started with overdraw problem shown with the default approach. Would have been nice to see to see overdraw at the very end to see how much better it got with the method they showed
The key thing was in your acknowledgment about how Nanite works and how to work better with it. So, we don't really need this. Besides, what do you especially want to get from the new picture? Like, even if you compare them, it's useless data because anyway, problem of optimisation is way more complex.
The whole pcg, instancing part, didn't do anything for rendering performance, he's still drawing many overlapped geometries. What it did achieve was simply reducing the amount of on disk data needed to represent the tree by instancing the same lower poly branch over and over as opposed to individual ones made in a DDC. The only part that helped with the rendering performance was switching to billboards in the distance.
ME : you were ment to destroy LODs and billboards not join them !
Nanite : ha ha billboards and LODs go brrrrrrrrrrrrrrrrrrrrrrrrrrrrr
I added megascans to PCG Biome and it did not like it at all at anywhere over low scalability. I was 100% sure I was doing something wrong. This video helps me start to understand why I can't just "nanite everything" and go.
I also thought about using pcg to create foliage assets (for billboards tho) when I was messing with tutorial.Fully dynamic workflows is the best tool for these natural environment.Great job!
I want my vertex painting back...EPIC!
Gee, thanks EPIC. I would love to implement this super hacky workflow with the promise that you guys will figure it out properly in the future
Can't watch it now, but thanks for your time Arran! Looking forward to this.
This is amazing talk.
I'm wondering how I can handle world position offset on the tree leaf in PCG, like wind sway or something.
As far as I know, I can't paint vertex color or change UV on PCG.
insane to me that you can just construct a cheap tree using PCG like that. opened my eyes to the possibilities
can you explain a bit how they managed that? I still dont quite understand whats going on. Are they using the world partition to load in billboards for the HLOD. which effectivly adds adds an LOD layer to nanite? My biggest question is how did they keep the tree location stable using PCG for the naite trees and the billboards.
Love the presenter and the presentation
would love to see a method on baking ground cover color info into landscape textures / rvts. making it possible to remove ground cover completly at distance. (for example if we have an area with bushes clustered around, we cant change the ground texture to match the bush colors, due to up close the ground still needs to be ground texture. sure we can fade it in using textures and masks over the same areas we place this cover, but landscape materials only got 16 sampler slots, and it starts going a bit crazy when using shared sampler slots that needs to tile 1:1 over several landscapes. Sadly enough we're working with landscapes so large and so forested that we're hitting the cluster cap really early.
This was a cool presentation, but I can't help but cringe at the thought of working with billboards and LOD's in combination with Nanite. That stuff was supposed to go away. It's definitely not a long term solution, in my opinion. Also, while using PCG to construct the tree in-engine is super nifty, it's not an option for people who use software like speedtree to build their trees.
@@8nowon8**Two days if you're a c++ dev 😂
How did he manage to do that HLOD with the billboards? does anyone have a tutorial on this subject?
UE5.4.1 The bug issue with the motion graphics function remains unresolved, the same as before; Especially when generating SVG models and opening them after saving, if the axis center point automatically deviates, the use of the animator function above is also prone to failure. When the animator switches to Sequence control, the effect is unstable or ineffective. Material designers cannot save multiple effects, and custom colors for material design become invalid after switching text parameters to semi transparent----Recently, text bugs have been discovered, text animation strokes, the preview window is normal, and the MRQ rendering output has no strokes. After the preview stroke is saved, it directly returns to the default first material when opened, as well as texture cloning, and the preview and rendering output effects are unstable.
Really love the presentation. I was wondering whether epic can release the project file from the presentations so that it can be studied by the community?
Insightful! Great work. Hoping we can get this in a content sample so we can review it in editor with some examples. Regardless, thanks for the knowledge!
One other problem for realistic trees are shadows. You can have all the leaf detail you want, but if it does not have correct shadows, addtional detail is absolutely poitless. Trees with individually modeled leaves look same as billboard trees - no depth, everything is flat. So if you have individually modeled leaves or needles, they also need to have needle level shadows that average cascaded shadow maps just can't do and all these performance hit is for nothing, no visual benefit.
Regarding the latter half of the talk, making forests out of subsections.
Would the method shown then be incompatible with the procedural foliage volume feature? Because at a glance based on this video: that handles procedural placement much better, taking into account individual tree heights, collisions with each other, randomising the rotations, min/max ground normals, inc/excluding from landscape/transluscents/staticmeshes/landscape layers; and some other fun settings-- and it's just in the engine ready to use and doesn't require the end user to then create several 100+ node trees.
You could probably use the 'Actor Foliage' foliage type with the base tree PCG Actor with the Procedural Foliage Volume for placement. Though that may result in the trunks not being part of an instanced mesh (with Nanite and auto-instancing I'm not sure how much of a performance hit that really brings. Could be negligible.)
Based on the part of building a tree with pcg, I have my tree in a level instance built with pcg however i have it tagged with "KeepVerticle" so I can reference it in my forest pcg and change the rotation to absolute. However, the branches don't follow the trunk is there anyway to keep them together?
I tried this method to make trees but made some adjustments. Instead of using masked material for the leaves, I used actual meshes with opaque material. I noticed that when the camera moves away, the leaves remain mostly the same, eliminating the need to add an extra LOD to the tree.
can you explain the HLOD Billboard / nanite switch he showed in the video? How exaclty did he put a billboard into the static mesh chain?
Love to see you guys really cared about foliage problem and the effort of trying!
amazing.... really enjoy these type of talks
awesome talk
So what do you do with wide aerial cinematic shots where you have lots of trees in the distance? Billboards are not really a good workaround in this case....
Brilliant fusion of PCG with traditional workflows. I'm blown away.
Exceptional 🏆🏆🏆! Thank you 😁!
for the terrain material he showed at 11 minutes-ish, why not use depth to reduce the tesselation the further is it from the camera?
Nanite 101 - Start here,everyone
The other potentially large performance issue with Foliage is WPO causing VSM invalidation, you can work around this by limiting WPO over certain distances in the mesh/foliage tool settings or you can use the new Shadow Invalidation setting on the Mesh to stop the meshes shadow being affected by WPO / making its shadow static even if its moving.
If the shadow of a moving tree is static, wouldn't that mess up self-shadowing on the tree?
Nanite and lumen, the framerate destroyer.
How the look at works? Trying to get actor properties into the graph from external components, no documentation, no tutorials. Now way to get around how to pass such data? Anyone knows?
so nanite is great for rocks.... kinda wanted to know that in 2021
There are many bugs in motion design at present. The animator's effect is unstable and the rendering output cannot work. Text strokes cannot be saved and the rendering output cannot be saved. The material designer's multi-effect overlay cannot be saved. The SVG model generation axis is automatically offset and many effects fail. . . Most bugs are related to material designer animator SVG. . .
Thanks for this!
Imagine saying to a late-90's game dev that one day a game engine will model something as mundane as trees to each individual needle or leaf. They'd laugh in your face.
Cool, but the tutorial isn't feasible. He utilized a custom blueprint named "pcgbp look at." While there's a blueprint named "look at" in the electric dream environment, it lacks the "look at position" parameter, making it a different (custom) PCG blueprint. I stopped there; I understand it's stressful, but at least highlight the crucial nodes to create a comprehensible tutorial or provide the project.
You can take the blueprint out of the ElectricDream demo, remove the 2D look at branching and replace the Look At Target by a vector property on your PCG Actor.
The LookAt used on the tree is bascially just a center point from which the branch and leaf point from.
@@JulienFournierJulinoleum Can you tell me more, please? I removed the two '2D look at' branching, but what do I set to the 'set members in PCGPoint'? I found the 'get vector property' in the Event Graph of my actor, but how can I incorporate it into my PCG graph? Thank you for answering.
@@adrienhoffmann6752did you ever figure it out? I’m trying this method too
@@imlostgaming9542 No, I tried some workarounds with poor results, sadly. Can someone clarify the steps to create the custom "pcgbp look at" please
You don't need that node and he explains what it does anyway. It wouldn't be hard to recreate it.
Can anyone explain how I can disallow nanite with the world partition? I tried according to the process but I think I missed something. I have almost zero knowledge about world partition. So if anyone can explain how these things work then I will be really grateful. Thank you
ever since i have updated to 5.4, I have not been able to use UE. everytime is "GPU Crashed or D3d Device Removed"
people are rightfully clowning on the funny fact that we still need LoDs with nanite. but that being said, damn is nanite still freaking amazing.
sort of, the visual fidelity up close is insane though tbh
Awesome!👍💪
Great stuff, got a question about HLODs. Does Pcg has the same hlod as level? Im recreated the tree pcg with look ats, but cant get them fallback to LODs through HLODs disable nanite
Did you ever get this working? I can't get ISM's to work with HLOD either.
@@Cloroqx Nope, its only were causing different bugs. Like a chunk of trees dissapears, but wouldn't fall back to normal LODs. Everythng till HLODs part works (though instancing packed level instance isnt consistent i would say). I guess its better to just use old LOD system for foliage
@@Cloroqx I really wish theyd upload project for marketplace or smth like demo
I would love to have seen the overdraw result of the scene once every leaf is a triangle.
With relatively low overdraw, I've been able to spawn 30 billions of leaves with a decent frame time (
Is it possible to have the project file for this demonstration?
Fantastic talk!! Arran rocks!
Nanite tasselation has a problem with AMD, besides buying an Nvidia could anyone find any fix on this?
great info
As a Unity developer it's always very strange to see how much more developed Unreal Engine is on so many levels. I really think Unity should focus much more on mobile hardware and just fix and implement basic functionality . Imho they have lost the battle on the high end rendering front a long time ago 😅
doing trees inside unreal with pcg? im not sure i will like it
Even in the best case scenario for Nanite, it will still be slower than real optimizing. There is proof on the unreal forums criticizing the lack of context on the documentation.
Nanite will only "improve performance" if you have abused overdraw, it's not even about poly count as you can see in 6 million poly test on that thread. Keep quad overdraw(in optimization views) under a VERY light sprinkle of green, no green is better. And material shaders under dark green. Keep to this and you'll be performing way better than using Nanite.
The overdraw point where you get "better performance" with Nanite is where your meshes have so much detail it looks like noise after a couple of meters from distancing yourself from it, which can only be fixed with TAA which will blur detail everything in basic motion or TSR which is 10x more expensive and still blurs thin objects foliage or basic camera motion. Not only that, thet overdraw point of "returns" requires VSMs which can cost a ton on 9thgen power. So then the overhead cost of Nanite vs LODs ends up being Overhead of Nanite+All the other crap that's needed(4x slower) vs just using LODs.
Foliage has tons of overdraw, but guess what. Nanite explodes when WPO is on making it several times slower even with the WPO distance limiter.
Horrible systems by Epic Games. We need better LOD algorithms, transition effects, deferred texturing, and precomputed instancable meshlets.
EDIT: See our video covering Nanite.
I see only like 5-10% framerate drop on packaged project, with like ~100 trees WPO on/off w/native 4k on 4080. On ancient laptop with 1060 WPO nanite is much slower but I guess this tech is not for 8 years old graphics cards
Hello TheKj what's up ?
@@redtroll80 "I see only like 5-10% framerate drop on packaged project, with like ~100 trees WPO on/off w/native 4k on 4080",
On mass consumer hardware (9thgen consoles, and $300 GPUs), the performance loss percentages' are much higher as anomalistic GPU cards like 3080+ shrink these percentages. This is why we develop on high ends cards like your, but only conduct performance test and target performance on $300 GPUs. We also stated in another comment the additional(expensive) requirements nanite also needs to remain "stable" or "worth it".
We are releasing a massive video soon about UE5 problems.
@@Shunkan26 This studio is owned by that person you mentioned, we consist of few people but our founder would like to respond: Not performance 🙃
@YOOOOOOOOOOOOO-dv2nt
Very interesting, thanks for sharing that plugin. Nanite prioritizes storage over performance as admitted by the inventor Brian Karis. Visibility buffer rendering have been proven to be performant for some scenarios such as HFW, so small chance it could help performance in non-overdraw abused scenes. We will have to wait though. There's also the concern with how it deals with subpixel detail.
Nanite meshes have issues with nav mesh; the nav mesh doesn't recognize there's a mesh in space to remove the nav mesh from the mesh space.
cen we have the laptop/pc spec ?
Nanite For M1 chips is important
Are there plans to have Nanite work on decals? Sci-fi objects using mesh decals/trim sheet floaters need some Nanite love.
That was super cool! Thanks!
It would be nice if nanite could generate the billboards automatically
so nanite is not fast/good enough so we go back to billboards partly. that is kinda way more work again and the illusion is breaking again as before. so maybe software nanite is not enough and you gonna use the already exisiting "hardware nanite" which every dx12 ultimate compatible GPU has. mesh shaders can do the same stuff
You do realize the point of showing foliage in this short talk was to highlight the ONE issue nanite mainly has right, idk about you but I can't think of many games or scenes that are just pure foliage, vehicles, interiors, miscellaneous items buildings, ect.
Not to mention you can use Nanite with Niagara mesh particles and the likes, if you still think nanite is "more work" overall you are delusional
@@cburn-YT On top of my head; GTA, Everybody's Gone to the Rapture, Firewatch, The Vanishing of Ethan Carter, Hunter Call of the Wild. Most of these are static in nature and highly optimized for their purposes. Though, the work that went into that is tremendous considering some of the engines that they used that were even older at that point.
Yes almost every game in the past 10 or so years have some or more sections that involve a ton of foliage, interiors, etc. This is why it's brought up and why they are actively trying to solve those pain points in Nanite. It's not based on a hunch.
It's also why this talk even exists. It's not based on "what if", but rather on the real feedback they've gotten from artists.
Can't you just not use nanite for foliage and use it for other things?
The future of so many things in our life might come out of unreal engine and I'm here for the ride.
So leaves are not supposed to be impossibly thin planes, who woulda thunk.
Born to be a speaker
This was great thank you 🫡
What about a forest of rocks? Like a stone quarry for example
Aweome presentation
As incredible as the tech is and I've been like a kid in a candy store excited ever since I saw the unveiling of UE5 back in April of 2020, it's kinda messed up how since the initial launch demo dropped Epic has been touting "it just works, it just works" yet now they are saying the opposite...???
Threat Interactive shows how Nanite hurts performance.
Not only is this an excellent tutorial but I also learned Unreal Devs use Blender mega based.
Yay.. some day Ill work with the unreal engine 🥰 for now ps5
someone should tell them about normal maps
For movies normal maps are not good enough.
I can’t believe he’s still using such weird maps. Total amateur.
Awesome tech
also more optimize for Mac's
"which we know is bad". you guys don't know jack
Let’s go
Krasse scheiße, I love It!
nice
Нічого не зрозуміло але дуже цікаво :D
Включи субтитры и авто-перевод.
@@DeltaZavr. я знаю англійську))
😂 youtube can't even handle rendering those trees in a video, nanite is incredible.
another reminder that my macbook is not good enough for me
im depressed
All this talk about Nanite and no game is actually using it. Gaming industry is in a sad state now. Instead make a single game that actually uses this.
@madfingergames, we need this tech in Gray Zone Warfare.
🤌🏻
Discriminating trees....
NOT COOL!
1st
nop
fixe steam session
elaborate please
@@Mittzys it not working at all but in 4.26 it work
Add fsr3
r.Nanite.DicingRate -> reduce dynamic nanite resolution (ME LOVE!)
dont see anything changing for me when I set this. Where should I expect to see changes?
@@mauriciosevilla174 In the Nanite preview (triangles) you should see the difference, depending on the value entered.
@@mauriciosevilla174 12:50 ;)
r.Nanite.DicingRate 8
🤍🖤