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."
@Sluggernaut8 ай бұрын
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!
@korinogaro8 ай бұрын
@@Sluggernaut Well you can argue with that because they were saying it when nanite was not supporting, among many, foliage.
@pavelksen31668 ай бұрын
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.
@caden63058 ай бұрын
Instances are limited to 16 million. Most developers will never even reach half of that limit.
@Bruno-cb5gk8 ай бұрын
@@pavelksen3166 this is definitely the bigger issue
@LoganPinney8 ай бұрын
Arran is one of the best tech artists instructors out there! Excellent talk 🎉 thanks for the concise presentation
@BradDaemons7 ай бұрын
He really is the goat. So knowledgeable on so many topics.
@egretfx7 ай бұрын
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!
@Jiggywatt7 ай бұрын
That's Arran, the presenter. Absolute GOAT!
@egretfx7 ай бұрын
@@Jiggywatt GOAT!!!!
@PolygonAcademy8 ай бұрын
awesome, very clear and concise breakdown and super smart way of working. thanks for sharing this workflow/technique!
@ImeCoulter5 ай бұрын
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.
@juezna7 ай бұрын
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
@Pakilla649 күн бұрын
lmao right UE is like navigating through bureaucratic red tape
@KintaroTakanori8 ай бұрын
surprisingly awesome presenter / speaker. well done
@IndyStry7 ай бұрын
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
@Charlotte-ef9th7 ай бұрын
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.
@sephtv27596 ай бұрын
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.
@tehf00n8 ай бұрын
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.
@byunjoy13207 ай бұрын
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!
@Achi-g4r19 күн бұрын
Nanite and lumen, the framerate destroyer.
@carbonium12647 ай бұрын
ME : you were ment to destroy LODs and billboards not join them ! Nanite : ha ha billboards and LODs go brrrrrrrrrrrrrrrrrrrrrrrrrrrrr
@prometheus_beard8 ай бұрын
Can't watch it now, but thanks for your time Arran! Looking forward to this.
@oskarwallin87157 ай бұрын
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.
@Copa207778 ай бұрын
Love the presenter and the presentation
@pipesfranco6 ай бұрын
I want my vertex painting back...EPIC!
@PeterKLee2557 ай бұрын
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.
@TriChaser7 ай бұрын
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?
@RayCheng_Super7 ай бұрын
Love to see you guys really cared about foliage problem and the effort of trying!
@yonghengshouhu7 ай бұрын
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.
@blanketparty52594 ай бұрын
How did he manage to do that HLOD with the billboards? does anyone have a tutorial on this subject?
@lukephillips170821 күн бұрын
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?
@jonah197621 күн бұрын
Threat Interactive shows how Nanite hurts performance.
@Boliang3275 ай бұрын
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.
@blanketparty52594 ай бұрын
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?
@BirbicusButticus8 ай бұрын
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.
@Fafhrd427 ай бұрын
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.)
@dyelon136 ай бұрын
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
@sierrafoxtrot13317 ай бұрын
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!
@makkon067 ай бұрын
insane to me that you can just construct a cheap tree using PCG like that. opened my eyes to the possibilities
@blanketparty5259Ай бұрын
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.
@towelkeeper7 ай бұрын
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.
@spectrecular97216 ай бұрын
@@8nowon8**Two days if you're a c++ dev 😂
@klausbdl7 ай бұрын
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?
@pbrglez7 ай бұрын
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....
@pacificlinedesign198 ай бұрын
amazing.... really enjoy these type of talks
@NicoleSummer87 ай бұрын
Awesome!👍💪
@adrienhoffmann67527 ай бұрын
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.
@JulienFournierJulinoleum7 ай бұрын
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.
@adrienhoffmann67527 ай бұрын
@@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.
@imlostgaming95427 ай бұрын
@@adrienhoffmann6752did you ever figure it out? I’m trying this method too
@adrienhoffmann67526 ай бұрын
@@imlostgaming9542 No, I tried some workarounds with poor results, sadly. Can someone clarify the steps to create the custom "pcgbp look at" please
@Mordynak6 ай бұрын
You don't need that node and he explains what it does anyway. It wouldn't be hard to recreate it.
@shannenmr7 ай бұрын
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.
@nathanfranck58227 ай бұрын
If the shadow of a moving tree is static, wouldn't that mess up self-shadowing on the tree?
@JoshPurple8 ай бұрын
Exceptional 🏆🏆🏆! Thank you 😁!
@l_t_m_f7 ай бұрын
Brilliant fusion of PCG with traditional workflows. I'm blown away.
@THAblackful3 ай бұрын
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?
@georgefromjungle52116 ай бұрын
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.
@cymarin3d5117 ай бұрын
Is it possible to have the project file for this demonstration?
@Retro_simone8 ай бұрын
Fantastic talk!! Arran rocks!
@thevoid67567 ай бұрын
awesome talk
@yonghengshouhu7 ай бұрын
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. . .
@patrikbaboumian8 ай бұрын
Thanks for this!
@shimlaDnB7 ай бұрын
so nanite is great for rocks.... kinda wanted to know that in 2021
@huhuhuh5257 ай бұрын
ever since i have updated to 5.4, I have not been able to use UE. everytime is "GPU Crashed or D3d Device Removed"
@MdSojibBiswas-o3d20 күн бұрын
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
@katsiarynaharelik44667 ай бұрын
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
@Cloroqx6 ай бұрын
Did you ever get this working? I can't get ISM's to work with HLOD either.
@katsiarynaharelik44665 ай бұрын
@@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
@katsiarynaharelik44665 ай бұрын
@@Cloroqx I really wish theyd upload project for marketplace or smth like demo
@leoindiecapodcast7 ай бұрын
Nanite tasselation has a problem with AMD, besides buying an Nvidia could anyone find any fix on this?
@aarorissanen9307 ай бұрын
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.
@Jbbriant-Ardaria7 ай бұрын
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 (
@CGFUN8297 ай бұрын
cen we have the laptop/pc spec ?
@behrampatel48727 ай бұрын
Nanite 101 - Start here,everyone
@-413377 ай бұрын
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.
@blanketparty52594 ай бұрын
sort of, the visual fidelity up close is insane though tbh
@ThreatInteractive8 ай бұрын
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.
@redtroll807 ай бұрын
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
@Shunkan267 ай бұрын
Hello TheKj what's up ?
@ThreatInteractive7 ай бұрын
@@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.
@ThreatInteractive7 ай бұрын
@@Shunkan26 This studio is owned by that person you mentioned, we consist of few people but our founder would like to respond: Not performance 🙃
@ThreatInteractive7 ай бұрын
@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.
@n1lknarf7 ай бұрын
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.
@DonC8767 ай бұрын
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 😅
@AuronDzilk8 ай бұрын
The future of so many things in our life might come out of unreal engine and I'm here for the ride.
@trebilicious7 ай бұрын
Are there plans to have Nanite work on decals? Sci-fi objects using mesh decals/trim sheet floaters need some Nanite love.
@MooseheadStudios5 ай бұрын
great info
@OwenPrescott7 ай бұрын
Can't you just not use nanite for foliage and use it for other things?
@micho5109007 ай бұрын
Born to be a speaker
@Dhieen7 ай бұрын
doing trees inside unreal with pcg? im not sure i will like it
@ThatTechGuy1237 ай бұрын
That was super cool! Thanks!
@crazyAlexander237 ай бұрын
Nanite For M1 chips is important
@SpatialBiggs7 ай бұрын
This was great thank you 🫡
@kyuuketsukikun4207 ай бұрын
It would be nice if nanite could generate the billboards automatically
@MaleOreo7 ай бұрын
Not only is this an excellent tutorial but I also learned Unreal Devs use Blender mega based.
@PrefoX7 ай бұрын
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
@cburn-YT7 ай бұрын
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
@dealloc7 ай бұрын
@@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.
@danielmauriciotorogarcia57837 ай бұрын
Aweome presentation
@lonewitness7 ай бұрын
So leaves are not supposed to be impossibly thin planes, who woulda thunk.
@Riclaval7 ай бұрын
What about a forest of rocks? Like a stone quarry for example
@TheResilentNerd7 ай бұрын
Yay.. some day Ill work with the unreal engine 🥰 for now ps5
@UnrealDojo8 ай бұрын
Let’s go
@JenAnty_JA8 ай бұрын
Awesome tech
@chelo1118 ай бұрын
@ChadT-n9q7 ай бұрын
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...???
@over81247 ай бұрын
someone should tell them about normal maps
@JoJo-ue9vg7 ай бұрын
For movies normal maps are not good enough.
@lkyuvsad7 ай бұрын
I can’t believe he’s still using such weird maps. Total amateur.
@p.schattenfell96127 ай бұрын
Krasse scheiße, I love It!
@crazyAlexander237 ай бұрын
also more optimize for Mac's
@IM2awsme7 ай бұрын
😂 youtube can't even handle rendering those trees in a video, nanite is incredible.
@nil0bject7 ай бұрын
"which we know is bad". you guys don't know jack
@SinanWP8 ай бұрын
nice
@injectionAI7 ай бұрын
another reminder that my macbook is not good enough for me
@hq21368 ай бұрын
Нічого не зрозуміло але дуже цікаво :D
@DeltaZavr.7 ай бұрын
Включи субтитры и авто-перевод.
@hq21367 ай бұрын
@@DeltaZavr. я знаю англійську))
@RH3D7 ай бұрын
im depressed
@gn27276 ай бұрын
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.
@simayecemucar8 ай бұрын
🤌🏻
@ickebins69488 ай бұрын
Discriminating trees.... NOT COOL!
@haiao29958 ай бұрын
1st
@The9PointStar8 ай бұрын
nop
@Raptor_i818 ай бұрын
@madfingergames, we need this tech in Gray Zone Warfare.
@ismaillinkin78968 ай бұрын
fixe steam session
@Mittzys8 ай бұрын
elaborate please
@ismaillinkin78968 ай бұрын
@@Mittzys it not working at all but in 4.26 it work