Vertex Block Descent in Houdini

   1815   6   2
User Avatar
Member
15 posts
Joined: Aug. 2020
Offline
I'm working on rewriting Vertex Block Descent (VBD) in OpenCL. It's a softbody simulation method like Vellum (XPBD), but supposedly faster and better in various ways. I wanted to test this by making a native implementation to compare to Vellum.

Currently it supports Mass-Spring (string) constraints from TinyVBD, and Neo-Hookean (tetrahedral) constraints. StVK is coming soon.
It only supports ground collisions currently.

I designed it to work the same as Vellum so it should feel familiar to use.

Download here:
https://github.com/MysteryPancake/Houdini-VBD [github.com]


Edited by Hallam Roberts - July 18, 2025 05:17:49

Attachments:
cloth.png (754.7 KB)
Enter_a_filename.gif (2.8 MB)

User Avatar
Member
15 posts
Joined: Aug. 2020
Offline
Just added support for Neo-Hookean constraints from GAIA.

These are used for tetrahedral meshes, like the FEM solver or the tetrahedral stretch option in Vellum.


Edited by Hallam Roberts - July 17, 2025 12:29:25

Attachments:
Enter_a_filename.png (1.1 MB)
Enter_a_filename.gif (3.2 MB)

User Avatar
Member
15 posts
Joined: Jan. 2016
Offline
Very cool stuff!
User Avatar
Member
15 posts
Joined: Aug. 2020
Offline
I added WIP support for dual constraint solving based on avbd-2d. This is the main technique the AVBD paper introduced.

Sadly this makes it around 2x slower, since it means you have to solve both points (VBD) and prims (like Vellum does)
For now it's a toggle but in the future it might have to be enabled for all constraint types.

Currently it's only supported for one type of constraint: the new Spring (AVBD) constraint. When the stiffness is infinite it gets solved as a hard constraint. This works OK for ropes, but it's very unstable if used for a full cloth.

Edited by Hallam Roberts - Aug. 15, 2025 12:51:23

Attachments:
Enter_a_filename.gif (1.9 MB)

User Avatar
Member
15 posts
Joined: Aug. 2020
Offline
Added the ability to break constraints, since this was supported in AVBD

Edited by Hallam Roberts - Aug. 16, 2025 08:22:18

Attachments:
Enter_a_filename.gif (3.0 MB)

User Avatar
Member
15 posts
Joined: Aug. 2020
Offline
Someone asked for a comparison between Vellum and VBD with the same settings. VBD is in blue and Vellum is in white.

For cloth (distance/mass-spring) it's similar, though VBD has some weird flattening behaviour likely due to the hessian getting clamped.

For tetrahedrons (tetstretch/neo-hookean), VBD is a lot more stable. I heard SideFX used it in the new Otis solver, likely for this reason.

Edited by Hallam Roberts - Aug. 16, 2025 20:45:40
User Avatar
Member
15 posts
Joined: Aug. 2020
Offline
Little ad for the current features:

Edited by Hallam Roberts - Aug. 27, 2025 13:02:37
  • Quick Links