Workflow for animated foliage in environments?

Not sure where to post this, but I’ve been thinking about this for a long time and I was curious about how the feature film studios does this. For instance, how did they make the environments in The Lion King? They obviously need a software to be able to place all their assets even if they’re proxy and instanced geometry. For a scene that big I can’t believe they do it in Maya?

Something I’ve come to find pretty interesting is how the Unreal Engine 4 has been used for feature film environments. I’m thinking of specifically Disney’s The Mandalorian, but also Zafari, an animated tv-series.

There’s for example this dynamic forest pack and it looks really nice and the fact that it runs so well in unreal is cool.

I mainly work in Maya myself and have an idea of making a very art directed environment, smaller in scale like I’d think scenes are setup for feature films(or at least how they used to be done).
I’ve done some tests with different ways to set up grass. And though I really like the idea of instancing polygon shaped patches of grass which I already created, I’m not really sure how to best set them up to be dynamic without it being both too labor- and Maya intense. In Maya we have both Mash and Xgen for this and my tests have kind of made me think Xgen would be the way to go for grass. But I would really like to be able to instance polygon shaped blades of grass instead of Xgen’s own spikes. Also to be able to instance other models and have them react to dynamics. If possible. Like field of wheat grains or other objects.
For trees I would think SpeedTree is the obvious choice. Bake out a looping 100-200 frames to an alembic file? Then do variations for different kinds of weather conditions. Light breeze, stormy night, etc.

Here are the files of my grass tests.

  1. I’ve tried simply adding dynamic curves using the wire deformer. The more curves you place, the better it would look I suppose. But it’s a tedious process so you obviously need to script it. Also the grass is stretched, but maybe not that noticeable in small movements.

  2. Here I’m converting PaintFx to polygons, then duplicating the new polygons, delete history on the copy and then edit the uvs and wrap it back to the original polygons which have the animation piped in from the PaintFx. Works, but a little bit funky when you’re hiding the original geometry and you also end up with the double amount of geometry in your scene.

  3. Last one is Xgen for grass with dynamic curves. This seems to be the obvious way to go. Apart from working with Xgen that I’m not used to yet, I got into some issues when deleting part of my faces after I already created the Xgen on the surface. Apart from that it’s fast to work with the attributes, adding expressions and adding dynamics is basically a click of a button. Now if I could just figure out how to render an animation of it. I only get static model with batch render. Followed a “solution” on Autodesk’s website, but couldn’t get it right.

Here’s the project with the files

So, yeah. Hit me with your experience, workflow and ideas and let’s start creating lush dynamic environments.