UE5 Procedural Grass Using Bezier Curves pt. 5: Wind

Поділитися
Вставка
  • Опубліковано 27 вер 2024
  • Here I demonstrate an example of a wind system that leverages the strengths of the bezier curve to create animated grass using a customizable, multi-layered approach.

КОМЕНТАРІ • 31

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

    Again, I never thank you and all the others who break this stuff down, enough. Always appreciated. Knowledge-givers are heroes.

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

      Thanks for the support!

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

      @@TechArtAlex And I saw you did take a nod to preserving-length of the blade. Thank you!

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

      @@Stygmire Definitely! I'm glad my idea worked and turned out reasonably simple to implement. I think the formula would need to change for higher order (ie cubic) curves but I was really happy with the results here.
      Since a lot of what I'm doing is just adapting great work that was already done by Sucker Punch, it's nice to be able to make a meaningful original contribution.

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

    Thank you for such great content. As a new tech artist, your stuff are really helpful!

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

      Thank you! Glad to hear it's been helpful.

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

    Thanks for these video series. Can't wait for another one. Looks wonderful.

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

    This looks great. Really liking the series and looking forward to the optimization

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

    Looking great

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

    Man you are the absolute best! Like for real!
    Finally some Ghost Of Tsushima stuff man
    Been trying for ages to get it like yours
    Like I thought we do need to use the compute shaders, so I went on learning the rendering pipeline of unreal just for that! only if I gave it a 2nd thought
    Thank you so much for the videos

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

      Yeah, I wish Unreal made compute shaders easier to integrate. Niagara has kind of become a hacky alternative to compute shaders.
      But I think PCG will be able to deliver most of the functionality they were able to with their computer shaded. Not sure which will perform better, but at this point I'm already rendering 6x as many blades of grass as the original release, even without optimization so I think it's safe to say this can work well enough.

  • @vaanidel2117
    @vaanidel2117 Місяць тому +1

    This is insane.
    EDIT: ha my dumbass should've just watched the vid first. Nice stuff here!

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

    nice ! but maybe controlling the blade curvature based on the intensity of the wind could create a better result?

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

      That is effectively what this is doing. The sine wave is moving the tip and midpoint up and down, which will increase and decrease the curvature of the blade depending on how intense of a wind swell it is hit by. This is most noticeable when I set the tip wind strength to 0, so only the curvature of the blade is changing and not the overall tilt. Naturally you can tweak the specifics of the implementation, but the core methodology is that the wind should be animated by shifting the control points, which is what defines the curvature at the end of the day.

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

      ok cool ^^ good job, you are. great inspiration ! :)

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

      @@SpaceShrimp Thanks! Glad you're enjoying the videos

  • @TomDenny-s7n
    @TomDenny-s7n Місяць тому +1

    Thank you so much for this series. I have been trying to implement the wind system shown in this video to my grass meshes (from videos before) and it just disappears and I think I may be missing something. Any ideas? Or maybe a screenshot of the wind shader that I could check mine against?

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

      A disappearing mesh may have something to do with the mesh bounds, or just displacing the mesh far away accidentally. Make sure you're only applying the wind to p1 and p2 and not p0.

    • @TomDenny-s7n
      @TomDenny-s7n Місяць тому +1

      @@TechArtAlex Ah, Thank you so much for the quick reply. It turns out because of my messy code I was applying wind to P0 not p1. Once again thank you for this brilliant series.

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

    Does this approach play well with Nanite + VSM? With it being an opaque shader, I feel as it should work nicely.

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

      As of now I find it works a bit better with nanite disabled. VSMs would be invalidated every frame, which isn't ideal. One advantage of non-nanite geometry is that you can control shadow casting per LoD. This means you can set VSM up on just the close grass, but use contact shadows on the distant grass for much better performance with very little quality loss. Meanwhile nanite draws into VSM regardless of distance, and both the main nanite and VSM nanite passes will have lots of overdraw with so many small meshes.
      Being opaque, it does perform significantly better than a masked version would.

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

      @@TechArtAlex It's probably slower due to overdraw or WPO.
      Contact shadows should be good enough regardless. Thanks!

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

    You are awesome!
    Your videos are really well made in terms of proper explanation and this technique of creating grass is so much better and it even look better than the masked ones which can appear blurry and shimmery sometimes.
    I am really looking forward to this series!

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

      Thanks! Still lots of stuff to go over.

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

    Thanks for making these videos. The performance gain by making grass in the manner makes it viable for use in VR archviz.

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

      Thanks for watching! Yeah, often works a lot better than alpha masked grass these days.

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

    looks great