Download

Realistic Interactive Foliage

Hey guys,

I have a question on what’s actually possible with the Pivot Painter… I’ve got interactive grass working using the usual pivot painter setup. Now I’m trying to create some bigger plants that collide with the player more realistically.

Looking at these plants in Uncharted 4, I remember the devs mentioned that all the foliage interaction was done within the shader rather than actual physics. So I’m wondering if this kind of interaction is possible with the Pivot Painter approach (I understand it might require some crazy logic)

https://youtube.com/watch?v=BzDq8D3Eq7g

Or are those plants done using actual skeletal meshes with physics?

I don’t know… The foliage in that video definitely looks like it’s using bones… I’m sure they use a regular “push out” shader for standard foliage like grass and whatnot, where it pushes outward from the player position.

yeah I was thinking the same thing. I know it’s possible to bend a plant using the pivot hierarchy, but then calculating the drag and animating the sway seems like a lot of extra calculations.

This is really fantastic video, I like this game a lot. keep it up

Here’s a great demo, includes a paper and gumroad link with the project files https://www.artstation.com/artwork/6z0zW

Thanks @ZacD Yeah, I did go through this. I’ve also been looking at how Omno did it. https://mailchi.mp/0b815f8e2517/omno-news-288077
Same method. Although I’m still curious if it’s possible in the shader.

http://advances.realtimerendering.com/other/2016/naughty_dog/NaughtyDog_TechArt_Final.pdf

Not much mentioned about the bigger plant interaction, just the rotate about axis method for each sub-object.

Here’s what I have so far. This is just using the default Pivot Painter Material functions.

https://youtube.com/watch?v=RkHouwCAzTo

https://youtube.com/watch?v=bLaxfBXNA1I

I managed to get it done within the shader. It’s not as precise as full physics, but way cheaper

https://www.youtube.com/watch?v=rRYW66OZW58

Nice job, looking good!

I cant believe that is shader ONLY. How do you storage the last pivot orientation?

look into the Pivot Painter tools