Nanite for Artists | GDC 2024

Ойындар

Much has changed with Nanite since it was first released in Early Access. During that time, artists have been exploring what is possible with technology. In this session, we will demonstrate the best way to build with Nanite, explore the tough edge cases, and create assets that work well across all platforms.

Пікірлер: 150

  • @kazioo2
    @kazioo221 күн бұрын

    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."

  • @Sluggernaut

    @Sluggernaut

    21 күн бұрын

    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!

  • @korinogaro

    @korinogaro

    21 күн бұрын

    @@Sluggernaut Well you can argue with that because they were saying it when nanite was not supporting, among many, foliage.

  • @pavelksen3166

    @pavelksen3166

    21 күн бұрын

    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.

  • @caden6305

    @caden6305

    21 күн бұрын

    Instances are limited to 16 million. Most developers will never even reach half of that limit.

  • @Bruno-cb5gk

    @Bruno-cb5gk

    21 күн бұрын

    @@pavelksen3166 this is definitely the bigger issue

  • @LoganPinney
    @LoganPinney21 күн бұрын

    Arran is one of the best tech artists instructors out there! Excellent talk 🎉 thanks for the concise presentation

  • @BradDaemons

    @BradDaemons

    20 күн бұрын

    He really is the goat. So knowledgeable on so many topics.

  • @egretfx
    @egretfx11 күн бұрын

    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!

  • @JiggyWatt

    @JiggyWatt

    6 күн бұрын

    That's Arran, the presenter. Absolute GOAT!

  • @egretfx

    @egretfx

    6 күн бұрын

    @@JiggyWatt GOAT!!!!

  • @byunjoy1320
    @byunjoy132016 күн бұрын

    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!

  • @PolygonAcademy
    @PolygonAcademy21 күн бұрын

    awesome, very clear and concise breakdown and super smart way of working. thanks for sharing this workflow/technique!

  • @juezna
    @juezna20 күн бұрын

    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

  • @KintaroTakanori
    @KintaroTakanori21 күн бұрын

    surprisingly awesome presenter / speaker. well done

  • @PeterKLee255
    @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.

  • @sierrafoxtrot1331
    @sierrafoxtrot133120 күн бұрын

    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!

  • @patrikbaboumian
    @patrikbaboumian21 күн бұрын

    Thanks for this!

  • @oskarwallin8715
    @oskarwallin871520 күн бұрын

    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.

  • @IndyStry
    @IndyStry14 күн бұрын

    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-ef9th

    @Charlotte-ef9th

    5 күн бұрын

    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.

  • @tehf00n
    @tehf00n21 күн бұрын

    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.

  • @colorsreflections
    @colorsreflections17 күн бұрын

    muito legal a palestra

  • @katsiarynaharelik4466
    @katsiarynaharelik44669 күн бұрын

    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

  • @prometheus_beard
    @prometheus_beard21 күн бұрын

    Can't watch it now, but thanks for your time Arran! Looking forward to this.

  • @randomshadesofpaint
    @randomshadesofpaint6 күн бұрын

    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?

  • @carbonium1264
    @carbonium126419 күн бұрын

    ME : you were ment to destroy LODs and billboards not join them ! Nanite : ha ha billboards and LODs go brrrrrrrrrrrrrrrrrrrrrrrrrrrrr

  • @UnrealDojo
    @UnrealDojo21 күн бұрын

    Let’s go

  • @Copa20777
    @Copa2077721 күн бұрын

    Love the presenter and the presentation

  • @user-ev4ud5xs2j
    @user-ev4ud5xs2j3 күн бұрын

    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. . .

  • @klausbdl
    @klausbdl5 күн бұрын

    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?

  • @thevoid6756
    @thevoid675611 күн бұрын

    awesome talk

  • @BirbicusButticus
    @BirbicusButticus21 күн бұрын

    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.

  • @Fafhrd42

    @Fafhrd42

    21 күн бұрын

    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.)

  • @huhuhuh525
    @huhuhuh52519 күн бұрын

    ever since i have updated to 5.4, I have not been able to use UE. everytime is "GPU Crashed or D3d Device Removed"

  • @user-ev4ud5xs2j
    @user-ev4ud5xs2j9 күн бұрын

    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.

  • @shannenmr
    @shannenmr18 күн бұрын

    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.

  • @nathanfranck5822

    @nathanfranck5822

    15 күн бұрын

    If the shadow of a moving tree is static, wouldn't that mess up self-shadowing on the tree?

  • @JoshPurple
    @JoshPurple21 күн бұрын

    Exceptional 🏆🏆🏆! Thank you 😁!

  • @-41337
    @-413373 күн бұрын

    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.

  • @Jbbriant-Ardaria
    @Jbbriant-Ardaria11 күн бұрын

    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 (

  • @SinanWP
    @SinanWP21 күн бұрын

    nice

  • @micho510900
    @micho51090021 күн бұрын

    Born to be a speaker

  • @pbrglez
    @pbrglez20 күн бұрын

    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....

  • @leonhaze9852
    @leonhaze985219 күн бұрын

    Nanite tasselation has a problem with AMD, besides buying an Nvidia could anyone find any fix on this?

  • @kaizu4914
    @kaizu491420 күн бұрын

    complex and confusing with a lot information, is there any documentation about how to model an asset best fit for nanite and performance overall?

  • @epicgames_simone
    @epicgames_simone21 күн бұрын

    Fantastic talk!! Arran rocks!

  • @CGFUN829
    @CGFUN82921 күн бұрын

    cen we have the laptop/pc spec ?

  • @crazyAlexander23
    @crazyAlexander2321 күн бұрын

    Nanite For M1 chips is important

  • @behrampatel4872
    @behrampatel487220 күн бұрын

    Nanite 101 - Start here,everyone

  • @kyuuketsukikun420
    @kyuuketsukikun42019 күн бұрын

    It would be nice if nanite could generate the billboards automatically

  • @makkon06
    @makkon0621 күн бұрын

    insane to me that you can just construct a cheap tree using PCG like that. opened my eyes to the possibilities

  • @pacificlinedesign19
    @pacificlinedesign1921 күн бұрын

    amazing.... really enjoy these type of talks

  • @chelo111
    @chelo11121 күн бұрын

  • @RayCheng_Super
    @RayCheng_Super18 күн бұрын

    Love to see you guys really cared about foliage problem and the effort of trying!

  • @towelkeeper
    @towelkeeper10 күн бұрын

    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.

  • @RustigChill

    @RustigChill

    8 күн бұрын

    don’t worry there will be ue6 but it will need 1 day to open 😂

  • @TheResilence.StoneyPepsi
    @TheResilence.StoneyPepsi21 күн бұрын

    Yay.. some day Ill work with the unreal engine 🥰 for now ps5

  • @l_t_m_f
    @l_t_m_f20 күн бұрын

    Brilliant fusion of PCG with traditional workflows. I'm blown away.

  • @trebilicious
    @trebilicious20 күн бұрын

    Are there plans to have Nanite work on decals? Sci-fi objects using mesh decals/trim sheet floaters need some Nanite love.

  • @DonC876
    @DonC87611 күн бұрын

    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 😅

  • @shimlaDnB
    @shimlaDnB16 күн бұрын

    so nanite is great for rocks.... kinda wanted to know that in 2021

  • @crazyAlexander23
    @crazyAlexander2321 күн бұрын

    also more optimize for Mac's

  • @lonewitness
    @lonewitness18 күн бұрын

    So leaves are not supposed to be impossibly thin planes, who woulda thunk.

  • @Riclaval
    @Riclaval19 күн бұрын

    What about a forest of rocks? Like a stone quarry for example

  • @Dhieen
    @Dhieen16 күн бұрын

    doing trees inside unreal with pcg? im not sure i will like it

  • @p.schattenfell9612
    @p.schattenfell961218 күн бұрын

    Krasse scheiße, I love It!

  • @ThatTechGuy123
    @ThatTechGuy12320 күн бұрын

    That was super cool! Thanks!

  • @SpatialBiggs
    @SpatialBiggs20 күн бұрын

    This was great thank you 🫡

  • @danielmauriciotorogarcia5783
    @danielmauriciotorogarcia578321 күн бұрын

    Aweome presentation

  • @JenAnty_JA
    @JenAnty_JA21 күн бұрын

    Awesome tech

  • @over8124
    @over812416 күн бұрын

    someone should tell them about normal maps

  • @JoJo-ue9vg

    @JoJo-ue9vg

    6 күн бұрын

    For movies normal maps are not good enough.

  • @lkyuvsad

    @lkyuvsad

    5 күн бұрын

    I can’t believe he’s still using such weird maps. Total amateur.

  • @user-qv2wd2jc6m
    @user-qv2wd2jc6m18 күн бұрын

    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...???

  • @AuronDzilk
    @AuronDzilk21 күн бұрын

    The future of so many things in our life might come out of unreal engine and I'm here for the ride.

  • @n1lknarf
    @n1lknarf20 күн бұрын

    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.

  • @Cazaq
    @Cazaq20 күн бұрын

    Give us a vertex color per instance solution! Our artists don't want to use Nanite because of this.

  • @DeputyChiefWhip

    @DeputyChiefWhip

    20 күн бұрын

    Hi... What do you mean by this?

  • @lukeme7702

    @lukeme7702

    17 күн бұрын

    Custom primitive data?

  • @Cazaq

    @Cazaq

    17 күн бұрын

    @@lukeme7702 Can't store enough information. Some sort of sparse volume to project/interpolate vertex color from is required.

  • @ThreatInteractive
    @ThreatInteractive21 күн бұрын

    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.

  • @redtroll80

    @redtroll80

    21 күн бұрын

    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

  • @Shunkan26

    @Shunkan26

    20 күн бұрын

    Hello TheKj what's up ?

  • @ThreatInteractive

    @ThreatInteractive

    20 күн бұрын

    ​@@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.

  • @ThreatInteractive

    @ThreatInteractive

    20 күн бұрын

    @@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

    @YOOOOOOOOOOOOO-dv2nt

    20 күн бұрын

    ​@@ThreatInteractive ...So no nanite on the Quest 2 then? I'm kidding of course, but seriously. VR is one of the places that tech like Nanite will (most likely) be necessary to push fidelity forward. But right now? Doesn't seem viable from the tests I've performed in UE. I work with Unity and I'm waiting for the release of a Nanite-like 3rd part plugin called Nanotech, but I suspect I will run into many of the same issues with that plugin that are seen in Unreal Engine's implementation.

  • @adrienhoffmann6752
    @adrienhoffmann675217 күн бұрын

    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.

  • @JulienFournierJulinoleum

    @JulienFournierJulinoleum

    13 күн бұрын

    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.

  • @adrienhoffmann6752

    @adrienhoffmann6752

    7 күн бұрын

    ​@@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.

  • @imlostgaming9542

    @imlostgaming9542

    2 күн бұрын

    @@adrienhoffmann6752did you ever figure it out? I’m trying this method too

  • @MaleOreo
    @MaleOreo20 күн бұрын

    Not only is this an excellent tutorial but I also learned Unreal Devs use Blender mega based.

  • @nil0bject
    @nil0bject12 күн бұрын

    "which we know is bad". you guys don't know jack

  • @PrefoX
    @PrefoX19 күн бұрын

    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-YT

    @cburn-YT

    13 күн бұрын

    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

  • @dealloc

    @dealloc

    11 күн бұрын

    @@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.

  • @IM2awsme
    @IM2awsme16 күн бұрын

    😂 youtube can't even handle rendering those trees in a video, nanite is incredible.

  • @RH3D
    @RH3D6 күн бұрын

    im depressed

  • @demonhogo
    @demonhogo20 күн бұрын

    another reminder that my macbook is not good enough for me

  • @simayecemucar
    @simayecemucar21 күн бұрын

    🤌🏻

  • @hq2136
    @hq213621 күн бұрын

    Нічого не зрозуміло але дуже цікаво :D

  • @DeltaZavr.

    @DeltaZavr.

    21 күн бұрын

    Включи субтитры и авто-перевод.

  • @hq2136

    @hq2136

    20 күн бұрын

    @@DeltaZavr. я знаю англійську))

  • @user-zc3wp1ri7w
    @user-zc3wp1ri7w20 күн бұрын

    EpicGames:Could you guys allow us to merge Houdini in unreal ? SideFX:Nope EpicGames:No problem, we will start making ours ones.

  • @NathanRitchie

    @NathanRitchie

    17 күн бұрын

    I know, right? Having a houdini lite/geo-nodes baked in is insane. Plus the new motion tools. 0.0

  • @haiao2995
    @haiao299521 күн бұрын

    1st

  • @The9PointStar

    @The9PointStar

    21 күн бұрын

    nop

  • @ismaillinkin7896
    @ismaillinkin789621 күн бұрын

    fixe steam session

  • @Mittzys

    @Mittzys

    21 күн бұрын

    elaborate please

  • @ismaillinkin7896

    @ismaillinkin7896

    21 күн бұрын

    @@Mittzys it not working at all but in 4.26 it work

  • @ickebins6948
    @ickebins694821 күн бұрын

    Discriminating trees.... NOT COOL!

  • @Raptor_i81
    @Raptor_i8121 күн бұрын

    @madfingergames, we need this tech in Gray Zone Warfare.

  • @RealDaveTheFreak
    @RealDaveTheFreak17 күн бұрын

    r.Nanite.DicingRate -> reduce dynamic nanite resolution (ME LOVE!)

  • @esparafucio
    @esparafucio21 күн бұрын

    r.Nanite.DicingRate 8

  • @not_amanullah
    @not_amanullah18 күн бұрын

    🤍🖤

Келесі