Unreal Engine 5.3 Preview 1 - Nanite Foliage: The End of the Story

Поділитися
Вставка
  • Опубліковано 12 лип 2024
  • In this video I cover the new Shadow Cache Invalidation Behavior setting that can be used to tune VSM Cache Invalidations for Nanite Foliage.
    UE5 Hub World MMO Playlist: • UE5 Hub World MMO - Te...
    Hub World MMO Setup Instructions: www.hubworldmmo.com/
    Open World Server 2 & Hub World MMO Discord: / discord
    OWS 2 Installation Instructions: www.openworldserver.com/
    OWS 2 Source Code: github.com/Dartanlla/OWS
  • Ігри

КОМЕНТАРІ • 61

  • @h.jonasrhynedahll1013
    @h.jonasrhynedahll1013 11 місяців тому +10

    Nice to see that UE is making progress towards vast open worlds. Looking forward to the next HubWorld video.

    • @SabreDartStudios
      @SabreDartStudios  11 місяців тому +4

      Yeah, it is great to see the progress UE5 is making for large open worlds. It's a great time to be a game developer!

  • @null643
    @null643 11 місяців тому +2

    Watched your video about this a few weeks ago. Great to see they have a solution for it now!

  • @sarahlynn7807
    @sarahlynn7807 11 місяців тому +3

    Really amazing. I think this will make huge strides in the beauty and aesthetic of foliage int he distance in games. I hope to capitalize on this myself.
    I cannot wait until we have very very robust nanite terrain. The granularity is to die for.

  • @pssstockarena
    @pssstockarena 11 місяців тому +3

    I remember i was thrilled wen you had released the plugin for the shadows. Nice to see that this is fixed by epic now. Thanks for keeping us updated dude keep up the good work

    • @SabreDartStudios
      @SabreDartStudios  11 місяців тому +2

      Thanks!

    • @alyasVictorio
      @alyasVictorio 9 місяців тому

      ​@@SabreDartStudiosOne more thing: in UE 5.3, Nanite is now also implemented into the landscape too, giving better performance for this engine version's upcoming games. As the result, the future of 3D gaming will be more polished than before plus those AAA/high-quality games of UE5.3 runs even on low-end platforms/devices like Nintendo Switch, low-end phones/PCs, etc

  • @Cyviel
    @Cyviel 11 місяців тому +4

    Thank god they finally got around to making it usable with foliage. Thanks for the video dart!

    • @xaby996
      @xaby996 11 місяців тому +2

      "Usable"

  • @willembuiting
    @willembuiting 11 місяців тому +1

    Exactly what i was looking for yesterday, all Day! I'll go check it out later today!

    • @willembuiting
      @willembuiting 11 місяців тому

      Yep. Works like a charme. Rigid Should be a standard setting

  • @unreal_metronomus678
    @unreal_metronomus678 7 місяців тому

    Awesome, thanks! Got a bit frustrated with nanite foliage , but this tip saved my ass.

  • @pannonianknight
    @pannonianknight 7 місяців тому

    Bro, of all the people of the internet making videos about landscape in unreal 5, your the only guy I see that has performance stat enabled. special kudos for that!

  • @callofthemountain
    @callofthemountain 11 місяців тому

    Awesome breakdown dude

  • @quackcharge
    @quackcharge 11 місяців тому

    great videos, great channel! +1 subs :)

  • @Trait74
    @Trait74 7 місяців тому

    LIFE SAVER INFORMATION!!!! EXTREME THANKS :D

  • @OnigoroshiZero
    @OnigoroshiZero 10 місяців тому +1

    Any news about Nanite Landscape will be amazing.

  • @saimon1987
    @saimon1987 11 місяців тому +1

    In 5.2 you could already avoid the shadow invalidation by tweaking the World Position Offset Distance in the details panel of the static meshes or the foliage types.

    • @SabreDartStudios
      @SabreDartStudios  11 місяців тому +1

      I thought that initially as well, but that wasn't true. That setting helped you tune at what distance World Position Offset would be disabled. Which isn't the solution we needed. If you set that value to 1 it would basically just disable World Position Offset which is NOT what we wanted. We wanted to be able to see the trees moving in the wind, but just not have the shadows move with them. If you set the World Position Offset to a larger value so that trees in the distance wouldn't move, but trees up close would, then you still got terrible performance in dense forests because the trees in the distance were not the ones causing the performance issues. The trees directly over top of you were the problem. This is why Epic had to add the new setting "Shadow Cache Invalidation Behavior".

  • @FredGrantV
    @FredGrantV 11 місяців тому +1

    I remember I just turned off world position offset or something like that and it boosted the FPS. (5.1)

    • @SabreDartStudios
      @SabreDartStudios  11 місяців тому +2

      Yeah, in 5.1 we did the same initially, but it was sad having trees that didn't move in the wind. It made our world seem lifeless.

  • @ali3ser
    @ali3ser 11 місяців тому +1

    damn this is the best possible news to wake up to, thanks for the video!
    also, what's the current issue with nanite landscape?

    • @SabreDartStudios
      @SabreDartStudios  11 місяців тому +2

      Constant engine crashes, GPU shutdowns on my 4080 and massive performance loss. Hopefully it is just a Preview 1 issue. I will do a video if I find anything interesting.

    • @ali3ser
      @ali3ser 11 місяців тому

      @@SabreDartStudios thanks! thought i'm not sure if i understand what's new with landscape nanite, wasn't that something that shipped with 5.1?

    • @SabreDartStudios
      @SabreDartStudios  11 місяців тому +1

      While you could enable Nanite Landscape in 5.1, it was missing a ton of features and had very limited support. As of 5.3 it is supposed to have parity with non-Nanite landscape. The initial testing hasn't been going well for me though :(

    • @OverJumpRally
      @OverJumpRally 10 місяців тому +1

      @@SabreDartStudios I'm having none of those issues with Nanite landscapes! They work perfectly.

    • @SuleBandi
      @SuleBandi 9 місяців тому

      @@SabreDartStudiosSame here (5.3 release), sometimes it crashes sometimes it's working. hmm, not sure what to do...any update on your end?

  • @jankowal1791
    @jankowal1791 11 місяців тому

    Can wait for series about multi, you also show how use dedicate server?

    • @SabreDartStudios
      @SabreDartStudios  11 місяців тому

      Yes, I do persistent world multiplayer (MMO) tutorials. Here is the series we are working on right now: ua-cam.com/video/fB_n3jJjF9A/v-deo.html

  • @Soraphis91
    @Soraphis91 7 місяців тому

    Sadly the setting has a lot of visual artifacts, as the shadow is still using the world-position offset, but it just isn't recalculated every frame, but if one part of the shadow is updated without the rest of the tree the artifacts are clearly visible and the updating of the shadows is super visible

  • @TheShinyHaxorus3D
    @TheShinyHaxorus3D 10 місяців тому

    So in terms of this solution, basically the best you can get is either having all trees have static shadows but also have WPO (and subsequently increase performance), or you have to take the FPS hit from having animated shadows within X distance of the player (and not allowing the VSMs to cache) with the WPO culling distance setting, but basically having to remove WPO from all distant trees.
    Man, wish there was a solution that allowed both animated shadows, and WPO out to distances past like 10000 units without murdering performance. Oh well.

    • @SabreDartStudios
      @SabreDartStudios  10 місяців тому

      So they gave us the tools to have full control over each part separately, which allows us to dial in exactly what we want. In the end I think it will come down to your specific map. Our testing shows that allowing animated shadows in sparely populated forests doesn't have nearly the performance hit that a densely populated forest has. The cost appears to be relative to the screen space that is covered by shadows and the number of overlapping shadows. In our specific use case we are working on a densely populated forest where 80% of the screen will be covered in shadows and multiple overlapping shadows per pixel. In this case, animated shadows kills performance, but there is a plus. If overlapping shadows are covering 80% of the screen, then you can't really tell if shadows are animating or not. Animated shadows are most noticeable in sparsely populated areas where there is a mixture of light and shadows. And in this case, the performance hit is much lower. So the ultimate solution may be to tune the animated shadows per tree. Have trees in densely populated areas be set to not animated shadows and trees in sparsely populated areas set to animate shadows. This goes back to a technique I used in UE4 for tree billboards. I set the ring on the outside of the forest to billboard at a longer distance than trees on the inside of the forest. We can likely use the same trick here and set the outside ring of the forest to animate shadows and the trees inside that ring to not animate shadows. This will give us high performance with almost no noticeable impact.

    • @tstone9151
      @tstone9151 5 місяців тому

      @@SabreDartStudios This makes perfect sense. Epic Games simply made it 10X easier for devs to optimize with these new tools

  • @silent_j6198
    @silent_j6198 9 місяців тому

    The issue with this though is setting it to static or rigid causes you to lose the dynamic shadow casting. So if you are using materials that have wind, the leaves and everything will move but the shadows will not. If you don't care about that or don't have wind, then this solution works. But for me, where the dynamic shadows are part of the reason to use the tree assets, this solution does not help.

    • @SabreDartStudios
      @SabreDartStudios  9 місяців тому

      With UE 5.3, we now have the tools to be able to manage our shadows and shadow budget. One of the things we noticed is that in a dense forest where shadow costs are the highest, there are so many overlapping shadows, that you can't even see when the shadows move with the wind. The only time you can tell if a show is moving is if there is some amount of light adjacent to the shadows. This usually happens on the edge of a dense forest not in the forest itself. So what you can do is set the trees on the perimeter of the forest to have moving shadows, but the trees on the interior of the forest to not have moving shadows. This gives you massive performance savings for almost no change in visual quality. And both the perimeter and interior trees move in the wind, which is what is most noticeable.

  • @pppparanoidddd
    @pppparanoidddd 11 місяців тому

    Distance based implementation could be nice where nearby trees have dynamic shadows

    • @ATomCzech
      @ATomCzech 11 місяців тому

      Yes. I also would tell that this would be the best, only few trees around me would have animated shadow, all other will be static.

    • @SabreDartStudios
      @SabreDartStudios  11 місяців тому +1

      You can already do this. I show it in the video, but I didn't mention it as it is a feature from 5.2. It is the part of the video where I adjust the "World Position Offset Disable Distance" setting on the Foliage Type and then only the trees near the camera have the blue VSM cache invalidation. Now keep in mind that the shadows close to you cost a lot more than the shadows in the distance, so setting "World Position Offset Disable Distance" usually doesn't give you much of a performance gain.

    • @Jofoyo
      @Jofoyo 10 місяців тому

      @@SabreDartStudios Does that outright disable WPO or just for the shadow cache? Cause ideally then you could just set the distance really low so you maintain high fidelity animated shadows but only where they really matter, right in front of you.

    • @SabreDartStudios
      @SabreDartStudios  10 місяців тому +1

      "World Position Offset Disable Distance" completely disables WPO. This is meant for foliage in the distance that wouldn't be noticeable if it moved in the wind. The problem is that WPO shadows in the distance don't cost much. The most expensive shadows are the ones right over top you (assuming a fairly dense forest). The good news is that dense forests don't have noticeable shadow movement anyways. Since you can't see shadows when there isn't any light. One of the things I may do a future video on is a technique I used in UE4, where the edge row of trees in a group of trees is higher quality than the trees inside the group as they are less noticeable. This technique might be useful here to turn on animated shadows on the edge row that borders the light, but not on the inner trees that don't border the light.

    • @imlostgaming9542
      @imlostgaming9542 10 місяців тому +2

      @@SabreDartStudiosplease show this I’m trying to optimize a dense forest for my game any technique would be awesome!

  • @0805slawek
    @0805slawek 11 місяців тому +2

    still something wrong far away and very close is good performance, but middle camera fps drop by half, could you make some video how optimize this stupid nanite?

  • @phalhappy8612
    @phalhappy8612 11 місяців тому

    can you share how to setup texture bombing in substrate?

    • @SabreDartStudios
      @SabreDartStudios  11 місяців тому

      My team is in the process of researching substrate right now. If we find anything interesting I will do a video. Not familiar with texture bombing it, but will mention it to my team.

    • @phalhappy8612
      @phalhappy8612 11 місяців тому

      @@SabreDartStudios I also want to learn how to do run time virtual texture on static mesh, as I want to use static mesh as terrain that I scupted and modifyied in Blender and bring to Unreal to use with Nanite. Thanks a lot!

  • @UnrealRealism
    @UnrealRealism 10 місяців тому +1

    If you have problems with Foliage and Nanite going “crazy in the Z axis” i explain how to fix it with ease.
    ua-cam.com/video/wVMImHI24QI/v-deo.html

  • @selimarii
    @selimarii 2 місяці тому

    nanite is not optimized for game. You have 78 fps in editor mode and you dont use full screen mode. If you use full screen mode in editor, you will see maximum 50 fps in nanite mode. and the game is not just about characters. With the addition of characters, the addition of landscape textures, the addition of props and structures, the addition of vfxs and animations, the fps in the game will drop below 10. In summary, when you can get over 250 fps using nanite, only then nanite is suitable for games.

    • @SabreDartStudios
      @SabreDartStudios  2 місяці тому

      I understand what you are talking about with performance, but it is a bit more nuanced than that. Too complicated to go through in a UA-cam comment, but I will start working on a video to go through it in more detail.

    • @DarkSession6208
      @DarkSession6208 2 місяці тому

      This is not true buddy. Nanite performs great, the problem is people are using it wrong and theres not much documentation on how to properly use it for foliage. I don't want to gatekeep but its hard to explain in a youtube comment like sabre already said. But in a nutshell you can have 1.3mln Poly trees all around the map and still 70 FPS in WQHD. Like really dense vegetation. But most studios are too dumb to do just the slightest research, thats why so many UE5 games run bad. All you have to do is model your fucking trees actually yourself instead of using Speedtree or using assets. The Concept of using Alpha Masks is the problem. Nanite gets rid of geometry bottlenecks but people are too stubborn to understand that alpha maps are not geometry and cause overdraw. Im talking about this since months in the UE community and people just don't want to listen... model trees or vegetation like a hard object. Like a gun, a house, props etc. Everyone is using Alpha Masks or Leafcards and then suddenly says the performance is bad with nanite. People are just either too stubborn or too lazy to understand a high performance nanite tree needs to be fully modeled out. EACH individual leaf needs to be geometry. No ALPHA like in Speedtree or how 99% of the 3D modeling tutorials show. If people don't believe me i tell them to use the Megascans European Bornholm Trees from June '23. Those are 1.6-4.8 mln. Poly trees, you can spam your map with it and still have fluid framerates because they are the only assets that use low amounts of alpha mask, if you would completely get rid of alpha the performance would be better. Those Bornholm trees have better performance than a 30k low poly tree with nanite off. Place 50 of those low polys and you have 40% less performance than with the proper nanite trees.

  • @iShrekedJoeMama
    @iShrekedJoeMama 9 місяців тому

    So basically in a current world of 60 fps minimum for a game to be viewed as not broken, all this new stuff they make is still unusable in game development on a serious matter

    • @SabreDartStudios
      @SabreDartStudios  9 місяців тому +1

      If you are targeting the majority of current devices, then yes. If you are only targeting high end devices, then Nanite+Lumen+VSM can work. I think UE5 is a forward looking game engine. If you start a game project now, by the time you release it in 2 or 3 years, then there will be a much larger pool of devices that can run it.

  • @Tystros
    @Tystros 3 місяці тому

    have you tested it with 5.4 yet?

    • @SabreDartStudios
      @SabreDartStudios  3 місяці тому +1

      I installed 5.4 Preview 1 the other day, but have not had a chance to test it.