Marble Run
About
This marble run is an exploration of Houdini's Vellum solver. This simulation shows a two-way interaction between rigid bodies and soft bodies.
Year
2022
Technical Guide
Vellum
To start with Vellum is quite simple. All the configuration happens at the SOP level. For example, if you want cloth, throw down a Vellum Constraint node, set to cloth, and you will be off. However, achieving something specific with your simulation is not as simple. From what I have seen, most of the work involved in getting the desired outcome tends to be educated guesswork. That is unless you have a starting point. For this project, I wanted to create the rubber bands and have the marbles interact with them. I found a nice Vellum simulation online that documented their process nicely. An artist Jasper Schubert posted their work on Vimeo, https://vimeo.com/366419126. This was a perfect starting point for my rubber band marble run.
​
Jasper simply created bands of cloth that had a low resting edge length. This causes the cloth to contract in a way that is similar to a rubber band. I was able to input an extruded curve into this configuration to get any rubber band shape I wanted. Since all the curves use the same settings, they can be simply merged at the beginning.
![](https://static.wixstatic.com/media/7640d2_14656cb3b32b421b87b76c693bc1f4a0~mv2.jpg/v1/fill/w_430,h_367,al_c,q_80,enc_avif,quality_auto/7640d2_14656cb3b32b421b87b76c693bc1f4a0~mv2.jpg)
Two-way Interaction
For this project, it was very important to me that the marbles and the rubber bands had forces that acted on one another. Looking at the reference animation, when a marble hits the rubber band there is no reactive force. Because of this, it causes the animation to look rigid with unrealistic behavior.
​
To solve this problem, I needed to keep all my interactions within the Vellum solver. I needed to create a rigid body inside a soft body simulation. Luckily Houdini recently released a new constraint for Vellum called Shape Match. This constraint is specific for allowing a rigid item inside the soft body simulation.
![](https://static.wixstatic.com/media/7640d2_67f7159a7caa4675a67d9621c5c28829~mv2.jpg/v1/fill/w_446,h_470,al_c,q_80,enc_avif,quality_auto/7640d2_67f7159a7caa4675a67d9621c5c28829~mv2.jpg)
There are some caveats with this constraint. When the stiffness gets too high the output geometry can sometimes turn into Jell-O. A nice tutorial can be found on YouTube here: https://youtu.be/iCxkGeiXtfc.
![](https://static.wixstatic.com/media/7640d2_9b70c0747d9b4ed7a0a1381b183583d5~mv2.jpg/v1/fill/w_538,h_303,al_c,q_80,enc_avif,quality_auto/7640d2_9b70c0747d9b4ed7a0a1381b183583d5~mv2.jpg)