Senior Environment Artist Jorge Lescale revealed the workflow behind the recently-shown experiments with Houdini's Vertex Animation Textures in Unreal Engine 5.
In case you missed it
You may find these articles interesting
My name Is Jorge Lescale and I am a Senior Environment Artist. I started working in the games industry for an outsourcing company based in Mexico called CGBOT, there I had the chance to be part of many projects for all kinds of platforms, such as The Sims Castaway Stories, Ghostbusters, Need for Speed, and many others.
After that, I worked for a company based in Sweden that has an MMO platform as main product, so I learned the limitations, specs and workflow that making assets for such games required.
My next step was moving out to Japan where I landed a job in Konami as part of Kojima Productions,
There I started working on Metal Gear Solid V: Ground Zeroes and Metal Gear Solid V: The Phantom Pain. While working on these projects, I learned a lot about open-world games and the industry overall. I also had the chance to help the PES environment art team create assets and share techniques for asset creation.
Oh, and also I helped with some assets for the P.T. project and worked on the Metal Gear Survive project as well. After this, I was helping Konami with prototypes, helping to train new talents, and developed new projects that might or might not be revealed soon.
I started working with Houdini after watching some tutorials from SideFX and Entagma. After testing the software, I realized that this non-destructive and node-based workflow would save me a lot of time doing any adjustments to my work. Once you become familiar with the workflow, doing any quick fixes or big changes becomes a very simple task, so this opens the door for artists to make all kinds of quick tests and prototyping before releasing final assets, so I believe you are able to release high-quality assets as a result of this. Plus you get the chance to develop your own tools for procedural assets or actions to automatically optimize your assets, create UVs, scatter elements, and even auto-create high models procedurally!
I learned about the software by following online tutorials and then trying to think about tools that would be useful for the environment art creation and try to create such tools and systems, a lot of testing, failing, and trying again.
I think I won't be able to explain how to start with Houdini's Vertex Animation Textures better than the great Simon Verstraete:
Testing Out Houdini's VATs in UE5
For my Soft Body simulation test in Unreal Engine 5, I wanted to be able to use the simulation quality that Houdini has with vellum, I know there might be some real-time soft body workflows but the simulation quality seems to be poor. So I decided to give VAT a try.
My first step was to create the simulations, I knew that I will be triggering the animations based on the main spots where the bullets impact the surfaces, so beforehand I knew that this would not be super precise to where the hit happens so the animations needed to be somehow generic to cover a wider angle. I mean you can increase the number of animations (VAT) to make it look better but the challenge is to make it work for a real-time scenario. So, I guess the challenge is to make it look believable with the fewer VAT possible.
Here are some examples of the simulations generated:
For the plants, I took the same approach, but it came with its own challenges. The animation needed to loop in order to avoid a big jump when the new animations are triggered, so I created a loop in Houdini using the time shift and blendshapes.
But as you will see the result is a bit odd, so I will keep testing this part to find a better way. Here are some of the results using vellum:
You might see some glitch in the loop here but is because my GIF capture was not precise. The exported version was a correct loop.
For exporting these results, I used the VAT exporting method that you can see described in the following video:
As for the Unreal Engine 5 side of things, this all was assembled in a blueprint, it was really simple as you will find, I just added some collision shapes to receive the hits, and set those as triggers for each animation.
The capsule you can see in the screenshot above triggers the Niagara Particles. I used a leaf as a mesh and played a bit with the particles setup to make it look natural, here are some tests:
And here's the final result:
Overall, I think that this technique would be useful in places where you need high quality in the animation, but you will be giving up some precision with colliding objects.
Also, performance-wise I would only use this technique in some hero assets. I did not test using the VAT blueprint as foliage because I wanted to see how many I can have in the viewport and analyze the impact on performance, so in my interactive plants test the assets placed are just individual blueprints sitting around.