The client required an efficient method to generate thousands of unique NFT animations from a set of over 100 assets. My role involved character animation, clothing simulations, automating the rendering process, and optimizing the workflow for rapid asset creation and processing.
Initially, I considered rendering every combination of assets individually, but this approach would have resulted in extremely long render times. Instead, I devised a more efficient solution by rendering each asset as a separate layer and later compositing them in Adobe After Effects. This approach not only avoided redundant rendering of repeated assets across different combinations but also allowed for quick fixes if individual assets needed adjustments, significantly speeding up the entire production pipeline.
A key challenge was ensuring the clothing simulations were seamlessly looped for the animations. Using Houdini, I created a setup that automatically blended the start and end of the clothing simulations, ensuring a smooth, continuous loop. The process started in Marvelous Designer, where I simulated the garments running through two full character animation loops. I then imported the simulations into Houdini, where I utilized the Blend Node to transition the animation seamlessly. By blending the beginning of the second loop with the end of the first, I was able to create a perfect loop.
To further streamline the workflow, I parameterized all the essential elements of the Houdini setup. This meant that for every new clothing simulation, I only needed to adjust a few parameters, such as the transition from the neutral pose to the simulation pose and the length of one simulation loop. The rest of the process—blending, looping, and exporting—was handled automatically by the system I built. In addition, I wrote custom Python scripts within Houdini to automate file handling. These scripts allowed me to recursively search user-defined folders for simulation files in Alembic (.abc) format, loop the animations, and export them with new, loop-ready filenames. This automation reduced what would have been a highly repetitive and time-consuming task into a process that could be completed with just a few clicks.
This approach avoided redundant rendering of the same assets multiple times, reducing the overall render time by reusing the same renders across combinations. It also allowed for fast fixes in case any of the assets needed that. After optimizing and simulating garments, I batch imported everything into Blender, ensuring materials and animations were correct. I used a Python script to automate individual asset rendering.
- Blender: Used primarily for character animation and batch asset rendering with Python scripts. - Marvelous Designer: Simulated and designed realistic clothing for characters. - Houdini: Managed looping simulations for seamless animations, particularly with clothing and dynamics. - Python: Automated the rendering process, including asset imports, materials, and animation setups. - Adobe After Effects: Composited asset layers and created final NFT animations by managing combinations. - JavaScript/Adobe ExtendScript: Automated the compositing process in After Effects, ensuring efficient handling of multiple asset layers and variations.