Make Optimized PCG GRASS in Unreal Engine 5 (Reusable Graph)

Поділитися
Вставка
  • Опубліковано 5 лют 2025

КОМЕНТАРІ • 86

  • @azielarts
    @azielarts  13 днів тому

    🔥If you're serious about learning PCG and Environment Art in Unreal Engine 5, join my Aziel Arts Community: www.azielarts.com/academy

  • @lindsaybruce1396
    @lindsaybruce1396 3 місяці тому +9

    Fantastic! I'm constantly amazed at how fast this technology is moving - but more than that, the generosity of creative individuals like yourself sharing their skills and experience so that us noobs can rapidly evolve our own projects. Thank you Aziel, this is awesome.

    • @azielarts
      @azielarts  3 місяці тому +6

      Absolutely happy to help!! If I can help one person make something awesome as a result that is totally worth it! You all are an awesome community, so it makes it easy.

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

      @@azielarts hey How you find this option 'get landscape data out'? I cannot find it. Please help me. 13:25

    • @brodvideo6390
      @brodvideo6390 27 днів тому

      @@MixiManiaOfficial get landscape 1:40 , or at 13:25 output is right clic (named reroute node)

  • @unrealhabitat
    @unrealhabitat 3 місяці тому +5

    This is so naturalistic, great job Aziel!

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

      Thanks so much! Hope it works for you as well.

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

      @@azielarts hey How you find this option 'get landscape data out'? I cannot find it. Please help me. 13:25

  • @lord83dredd
    @lord83dredd 26 днів тому

    You've done a really good job with this video🎉

  • @cyke216
    @cyke216 Місяць тому

    Very good tutorial. After hours and hours, your video made me finally understand how to control performance with foliage :)

  • @Mordynak
    @Mordynak 3 місяці тому +5

    To save some nodes. Instead of altering the bounds of the initial seeds, select the distance node and set the "Source Shape" to center.
    Also, with the named reroute nodes. They dont need to be connected to anything going out. So long as they have something going in, you can reuse the output anywhere.

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

      Awesome tips, thank you !

  • @마나-h1l
    @마나-h1l 2 місяці тому +1

    Thank you for this very useful tip. I was using it inconveniently as a node to change the contrast in a complicated way, but I think it will become more accurate this way.

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

      Awesome!! Glad it was helpful

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

    Thanks 🙏🏼 i was looking for this type of optimization, amazing!! 🎉

  • @마나-h1l
    @마나-h1l 2 місяці тому

    Thank you very much for the really good information. Thank you again for learning a lot of ideas and features about Unreal pcg here.

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

    thanks for this men. I have been pulling my hair out trying to figure this out

  • @thomaswindfeld728
    @thomaswindfeld728 3 місяці тому +2

    Thanx for putting the node names on screen.👍

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

      You are welcome, glad it was helpful

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

      @@azielarts hey How you find this option 'get landscape data out'? I cannot find it. Please help me. 13:25

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

    Thank you a lot Aziel, you're really a great Teacher.

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

      Thanks so much. I love teaching, glad it comes through.

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

      @@azielarts hey How you find this option 'get landscape data out'? I cannot find it. Please help me. 13:25

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

    What good timing. Just saw a framerate drop that concerned me dropping grass in lol.

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

    Thanks!! Your videos are really good! Im sharing this with my team!

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

      also, is nanite enabled?

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

      Awesome! Happy To Help

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

      @@espiritogeek Yep nanite on everything

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

    I made a similar setup not to long ago. But I was using spline surfaces and projecting to get the grids on a surface. Worked well even if not doing every point caused some to slightly float.

  • @danielbalzer3524
    @danielbalzer3524 3 місяці тому +2

    Thanks for another great tutorial. I have a question to make the grass landscape even cooler 😎 is it possible to apply a global noise using world coordinates to give the grass color variation, or would that be done within the material?

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

      Yep absolutely. That would be in the material. You could totally use a world projected grunge or map to tint the color.

  • @astralstormgamestudios1259
    @astralstormgamestudios1259 2 місяці тому +1

    Question ⁉️ : What about generation of HLOD for foliage? For foliage not in the distance instead of nothing? Also second question ⁉️: When you did the copy points, for the random points outside of the main point, can I have different meshes? like a Tree with stones and trunks around it?

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

    Thank you for this! How do I make certain Meshes spawn less then the other? For example: more grass but less flowers?

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

    This video and your Zelda inspired series have both helped me incredibly. I seriously went through each one at least 10 times as I refined my landscapes.
    not sure if this approach is optimal or not, but I have an "interactable" landscape and cannot use the mesh spawner. So I have to use Spawn actor, but it only allows one type, I want to place many. so in some cases I have a very granular "Density Filter" with a tight range so it spawns one type, then I branch of a few more density filters to place other types, like Sticks, collectible rocks and so on. I'm just wondering if there's a better way to drop Actors without them all spawning on each other.

  • @itsmishki7005
    @itsmishki7005 Місяць тому

    thanks! btw what grass did you use?

  • @Fragcatt
    @Fragcatt День тому

    Hi! thanks for the great tutorial, however I have a question. Would this be a better approach performance wise than using Landscape Grass Types? that is what I use for my cover foliage such as grass, rocks that sort of thing but I do like this approach as well, it just seems to have a bit more of a lengthy setup, which is good as it offers much more personalization but I just wonder what advantages other than capability for personalization. Thank you!

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

    Nice, I'm going to give it a try

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

      Awesome! Let me know how it goes

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

      @@azielarts sure

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

    Youre videos have helped me immensively. I've combined this with VRTs and am getting some really beautiful looking levels, with decent performance. I bit the bullet on dynamic sky and wow it makes a big difference.
    Im wondering, is there a way to make meshes for say the "whiter" nodes and other meshes more likely for the denser/"blacker" nodes?

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

      also would this method of optimization be good for other foliage like trees?

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

    Amazing!!!

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

      Thanks! Hope it is helpful

  • @timbiegel6545
    @timbiegel6545 Місяць тому

    Can you do something about the instances please ? Pcg Graph instances

  • @GabrielCasamasso
    @GabrielCasamasso 3 місяці тому +2

    Really Great video! One question, for a very large landscape (4km x 4km), is it ideal to have only one PCG volume to generate everything (grass, rocks, trees, plants, etc)? The way you optimized I didn't knew yet, it's really great, although I think we can't do the same with trees, otherwise they will disappear more noticeably. And about the generation, after generated, everytime the level loads, does it need to generate again? Thank you for the content!!!

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

      Hey yeah I am not sure I Would use a small grid size with trees, partitioning will still help because of how it breaks up the pcg volume for large areas, but yeah maybe have a different very large grid size for the trees so you don't see them popping in. I am still researching techniques on this front, maybe have some new videos soon!

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

      @@azielarts I appreciate brother! Wish you all the best!

  • @superplouf7825
    @superplouf7825 21 день тому

    Thank you very much for your video; it's truly amazing! I have a small question: I’ve generated a very, very, very large terrain, and I want the PCG to cover it entirely, which I’ve done. However, when I’m in the editor or even in-game and move very quickly in the area-even very high above my landscape but still within the PCG volume-my FPS drops from 100 to 5, haha. I imagine that as I move, the PCG generates a lot of points because I’m using runtime generation. How can I optimize this? In my case, if I’m flying a plane in my game, since the plane moves fast, I get 5 FPS, which isn’t very playable, haha.

  • @danilovX
    @danilovX 12 днів тому

    Quick tip for those who can't see PCG grass in sequencer during rendering.
    If you turn on Game Overrides it automaticaly will switch on "Disable HLOD" if you turn it back off - Then grass should appear again.

  • @FryCook87
    @FryCook87 17 днів тому

    is it possible to put this inside a spline or will this only work for the cube volume?

  • @KDstudioes
    @KDstudioes Місяць тому

    How to apply grass textures exclusively to grass areas and avoid placing grass on undesired locations like cliffs. Which node should we use for it?

  • @Restart-Gaming
    @Restart-Gaming 3 місяці тому +1

    Mine me asking what map asset you are using?

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

    It would be cool if you can Set the Parameter like a variable. Get World second... growing grass. Is it possible?

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

    Do you have an advice for trees? :)

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

    Hi, would you say this is better than the Landscape Grass node?
    Or are there even more optimized Grass rendering techniques?

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

      Good question, would like to know too. Its alot simpler and once off with landscape nodes, but it sounds like this is more optimized?

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

      ​@@IWillYeah Im not sure but I think the Landscape Grass is rendered differently to PCG, but I dont know if its better.

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

      I've found that using pcg for grass on larger maps struggles with max instance counts where as Grass layers do not. the PCG is loads better for variation control etc so I will try the methods in this video and see if it copes with larger worlds (I'm not talking huge, pcg grass normally fails around 9km2 and I've got 64gb ram)

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

    At the academy, do the videos have Spanish subtitles?

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

    Hey.
    Perhaps this is a stupid question. Lets say you use 4 different grass meshes for one pcg like the one you´re displaying, is it more efficient to create a new pcg for trees, bushes or should you just create a new nod "string" within the first grass pcg?
    Best Regards

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

    Any plan to create a Pateron? I would support you

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

      Thanks so much! I do have a private group you can join if you would like. Kind of my version of Patreon. You can check it out in the description.

  • @JimmyWebs
    @JimmyWebs 3 місяці тому +2

    The only issue with this is constant hitching when triggering the simulation of the next grid

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

    I was struggling with the debug view in my version of unreal - my fix was changing the nodes 'Scale Method' from 'extents' to anything else. I used 'relative' cause hey why not.

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

    Is this still layer bound like Landscape layer nodes (e.g. grass layer)?

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

    nice

  • @rickfuzzy
    @rickfuzzy 16 днів тому

    Is this really a better optimization than using culling distances on the mesh? Personally I'd feel a lot safer knowing the overhead of spawning was a one-time payment. The thought of running a real-time pcg in a production game that is frame sensitive seems like a bad idea to me.

  • @마나-h1l
    @마나-h1l 2 місяці тому

    I can't see Reroute Nodes on PCG graph, is there a way? But I can see it on material graph.

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

    could you use unbound and set cull distance to say 3600 and get the same optimization?

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

      You'll still have an overhead of "actors" (transforms, mesh settings etc) persisting in the world. When using grid runtime setup these "actors" will spawn/despawn everytime you trigger generation in the next grid

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

    I'm only about 25% into this but it seems more straight forward than PCG Biome Core ?

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

      Yep it depends what you need. Biome core is much more complicated and modular than a lot of people will need.

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

    Ooooh, it's giving Gravesite Plains. A hint of more Elden Ring to come?

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

      Oooh maybe. Actually didn't even realize till you mentioned it. Guess I am in that brain space

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

    How is possible put PCG grass on PCG rocks? meshes (grass) over rock

  • @zsgrzesi3k
    @zsgrzesi3k 27 днів тому

    Using the "Generate on Runtime" option causes issues with the Attribute Filter, making the landscape layer attribute invisible. In both the editor and standalone builds, the grass simply does not appear, and the following warning is displayed: [PCGRuntimeGenPartitionActor - AttributeFilter (layername)]: TargetData doesn't have target attribute/property 'layername'
    Does anyone have ideas or suggestions for resolving this issue?

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

    my copy points isnt showing any output, it tried checking everything any fixes ?

  • @mcskyyy7233
    @mcskyyy7233 9 днів тому +1

    I followed this Tutorial to a T, but for some reason I can only debug the Surface Sampler Node and every Node after that I cant debug and wont show up. Therefore my static meshes also dont show up when I place them in the Static Mesh Node. Does anybody know why this happens? Im on Unreal Engine 5.3

    • @azielarts
      @azielarts  8 днів тому +1

      Hey, not sure exactly, but sounds like you are not getting the actual points from the landscape. Make sure you have a landscape in your world and the PCG volume is overlapping with it.

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

    hey How you find this option 'get landscape data out'? I cannot find it. Please help me. 13:25

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

      There is a new get landscape data node you can use instead in recent versions of unreal.

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

    The problem for me is that i cannot find a way to instansiate foliage static meshes instead of just static meshes. The foliage looks better with lumen for one and is more performance friendly. Does anyone know how to instansiate foliage meshes in PCG?

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

    The grass doesn't spawn in lower areas of the map.

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

      Hey probably need to expand your volume, if it does not overlap with the landscape, it won't grab points from it.

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

    My brothers name is Aziel

  • @한승원-x9h
    @한승원-x9h 3 місяці тому

    풀은인정이지 개추밖습니다. 영어몰라서 ㅈㅅ