Realistic Snow Simulation
MPM Solver in Houdini 20.5
Close-up shots
17-million point-per-frame MPM simulation
In this case study, I’ll walk you through the process of creating a realistic snow environment using Houdini 20.5 and the MPM (Material Point Method) solver, alongside character animation and cloth simulation, all powered by GridMarkets Renderfarm. This project tells the story of a medieval soldier returning home from the battlefield, walking across a snow-covered landscape under a hopeful morning sun.
Explore the in-depth explanations below to uncover the details of the process
DOWNLOAD THE MPM EXPERIENCE SCENE orTHE BREAKDOWN and try it yourself!
By Yuansi “Ivy” Mai
Share this case study

Project Overview
The project consists of two CG shots, each offering a different perspective of the soldier’s journey through the snow. The main technical focus areas of the project were creating the snow-covered environment, rigging and animating the soldier, cloth simulation, and ankle-height snow simulation using the MPM solver.
Here's a breakdown of the key elements involved:
To create a realistic winter environment, I used procedural methods to generate the snow-covered landscape:
-
Spruce Tree Procedural Generation:
The spruce trees were created using the volume colonization method, allowing for a natural distribution of branches and foliage without relying on pre-made assets.
-
Snow Piling on Tree Branches:
The accumulation of snow on the tree branches was simulated to achieve the soft, realistic look of snow gradually settling onto the branches.
1. Snowland Environment
2. Character Creation and Animation
The character was designed based on a model from a game toolkit, but it required rigging and animation adjustments to fit the scene and the story.
-
Character Rigging and Animation:
Since the purchased character model didn’t come with a rig, I had to rig the character from its posed model. Using Houdini’s KineFX tools, I created a custom rig, ensuring that the character could be properly animated and posed for the shot.
The animation was based on Houdini’s built-in mocap biped animation, which provided a solid foundation for the character's movement. Using MotionClip nodes, I blended and retimed motion clips to make the soldier walk with a limp, reflecting his injured state.
-
Character Cloth Simulation:
The character had several clothing layers, including a belt, gambeson, gloves, helmet, pants, shoes, and a skirt, all of which needed to be simulated realistically. I first fit each piece of clothing to the character in an A-pose, then simulated them individually to ensure they adhered to the character’s animation. To handle the interactions between clothing layers, I used one more Vellum solver to ensure proper collision and realistic behavior.
3. Ankle-Height Snow Simulation Using MPM Solver
The realistic simulation of ankle-high snow was one of the most challenging aspects of this project, requiring careful attention to detail and significant computational power.
-
Low-Resolution Simulation for Drone Shot:
For the wide-angle drone shot, I used a relatively lower-resolution grid (particles separation 0.8 centimeter) for the snow simulation.
-
High-Resolution Simulation for Close-Up Shot:
For the more intimate close-up shots, I used high-resolution (particles separation 0.4 centimeter) in MPM simulations. These simulations are computationally demanding as they represent snow as material points. The high level of detail was necessary to capture the subtle interaction between the soldier’s feet and the snow.



How GridMarkets Enhanced Storytelling
While achieving technical accuracy was a challenge, the biggest benefit of using GridMarkets was how it freed me to focus on storytelling.
Iterating Quickly for Refinement: Even with identical parameters, low-resolution and high-resolution simulations can behave drastically differently, often yielding unexpected results. Testing the right parameters with mid-resolution simulations was a critical part of the process. With access to powerful cloud rendering, I was able to run multiple tests on snow behavior and character movement without being limited by my local machine’s processing power. This meant I could spend more time refining the emotional beats rather than waiting on simulations. I was able to submit different takes and compute a 2-million point-per-frame MPM simulation at a time, allowing for rapid iteration and fine-tuning.
High-Resolution Simulations Without Compromise: GridMarkets’ capabilities allowed me to rapidly test different configurations to fine-tune the snow simulation and ensure the best results. Instead of scaling down the quality due to hardware limitations, GridMarkets allowed me to push for maximum realism in close-up shots. I was able to run a 17-million point-per-frame MPM simulation using their machines, something my local computer would struggle to do without errors or overload.
Optimized Workflow with "TAKES": With guidance from Adam Ferestad, I leveraged the "takes" feature to efficiently test different takes with varying parameters. This allowed me to fine-tune the snow’s response to the character’s footsteps in record time, keeping the production process smooth and efficient.
Conclusion and Gratitude
GridMarkets played a pivotal role in the successful completion of this project, providing the computational power required to simulate high-resolution snow and run complex cloth simulations. Their render farm services allowed me to push the limits of what I could achieve on my own machine, making high-quality MPM simulations possible without compromising on detail or realism.
I am truly grateful for the opportunity to collaborate with GridMarkets, and I deeply appreciate their seamless, fast, and efficient service. This experience not only saved me time and resources but also allowed me to focus on the creative aspects of the project, knowing that I had a reliable partner handling the heavy computational tasks.
By: GridMarkets marketing