
Blender 5.2 Alpha is out and it has a few incredibly exciting new nodes: Cloth Dynamics, and Geometry Collider.
These are new within Geometry Nodes and appear to be the Blender Foundation’s next step in supplanting the old cloth system with a new, stabler one, that works within Geometry Nodes.
See CGDive’s video on it below:
The fact that it works inside of Geometry Nodes is incredibly exciting, as that means it will be fully compatible with all the Geometry Nodes wizardry we love to see. It still has a few caveats, though.
- Getting cloth objects to interact dynamically with each other is a pain in the ass. It also seems to create dependency cycles.
- It does not seem to have self-collision yet. This can be worked around with geometry proximity, though it’s not perfect.
That all said, it’s still a really promising step towards better cloth simulation within Blender!
Setup

This is the simplest setup for Cloth Dynamics. You just need to connect the geometry to the cloth dynamics node, then define a collider, or list of colliders. Setting a baking node after is also nice to make playback nice and fast.
The only issue here is that you can’t use the object that contains the cloth dynamics node as its own collider, be it within a collection, or as its own object info node.
I assume there either already is a node here that lets you evaluate other cloth dynamic objects for dynamic collisions, or it will be implemented in the future.
Using simulation zones to create shrinking/expansion
Because this works within Geometry Nodes, that means we can use all kinds of nonsense to affect the cloth. Here, we’ll use Set Position, a Simulation Zone, the Position input, and some math in order to create a shrinking/expansion effect.

What this node setup does, from left to right:
- It takes in the Scene Time in frames and once it goes past a Duration value (on the input on the left), it outputs a value of 1.
- That value of 1 triggers the simulation zone to stop, as it is a boolean of 0 or 1. That skip remains 0 until the duration value is hit.
- This duration also part in the shrink factor, as the factor is divided by the duration of the shrinkage.
- That divided value is constantly subtracted from 1.
- And that subtraction controls the scale of the vector.
So low durations lead to more violent shrinking/expanding, while longer durations yield a smoother size transition.
With this, we can make a cloth object get tighter and tighter around another object.


And if we enable tearing, we can make it rip open once tension goes past a tension threshold!

Using attributes
As this works in Geometry Nodes, you can do a lot of goofy stuff with it. A really simple one is using vertex groups. For this example, I painted some vertices in a group named Shrink. I also subdivided the mesh once within geometry nodes (you should subdivide it in here when simulating, rather than as a modifier for better results).



Here’s a different example where I instead just had one edge loop shrinking.


You get the idea.
Forces
Location force

The method I showed just now uses vertex shrinking/expanding. A different method is using Forces. Rather than making the vertices bigger/smaller, this instead applies a force on the vertices.
So now, let’s create some sort of condition where a force gets violently applied once that condition is met.
For this, we’ll use geometry proximity to an icosphere, and we’ll make a strong force in its opposite direction be applied based on distance.

With this setup we get the distance of the icosphere relative to the cube, and once it gets closer than 0.5m, a huge force opposite to the direction of the icosphere will be applied, tearing the cloth cube apart.



Pretty crazy stuff.
Surface normal force with falloff

With this setup, you can create a force that is emitted from the surface normal of another object with a distance-based falloff.


Delightful!
Final thoughts
Overall, this is super SUPER exciting. As with everything in geometry nodes, it’s like wanting to drive a car but being told you need to build the entire car from scratch. However, as more and more nodes are added and support for this is improved, things will get easier to use. I just wish there was a way to get Collection Info while excluding the current object. That would let me get everything I need to make simulated objects stay away from each other more easily.
Anyway, go get 5.2 Alpha! It’s fun!
Leave a Reply