Vellum constraints, collisions for cloth, fabric, softbody in Houdini

Vellum constraints, collisions for cloth, fabric, softbody

basic setup

add planar patch node (like grid, but triangles) edge length: 0.05 center: 0 1 0 add vellum configure clothes node then add 3 null nodes: geo, constraints, colliders add vellum solver node (and connect all) check Ground Position (to add a ground plane)

adjusting strech and bend

vellum cloth -> strech stiffness: 1 (is good default value) damping ratio: 0.01 vellum cloth -> bend stiffness: 1 x 0.01 (paper) 0.0001 (soft textiles) damping ratio: 0.1 vellum solver -> substeps: 2 (so it's less bouncy)

creating a softbody (jelly ball)

(setup basis steps from above...) add sphere node center: 0 1 0 add remesh node (to convert to triangles) (add this to vellumcloth instead planarpatch node)

with vellum struts (only a bit rigid, for hollow objects)

add vellum struts node (after vellumcloth) (all 3 inputs should be connected) vellum struts -> strech: 1 x 0.01

with vellum tetrahedral (solid softbody, jelly-ish objects)

add vellum configure tetrahedral softbody node this create tetconform and vellumtetrahedral nodes feed the remesh node into the tetconform, and plug vellumtetrahedral node into the vellumsolver (unplug the former vellumcloth/vellumstrut nodes)

simulate with low resolution data

add testgeometry rubber toy plug into remesh node on the remesh node: (reduce smoothing, if geo looks weird) target size: 0.05 add point deform node 1st input: original highres geo 2nd input: the geo null node (in between vellumtetrahedral and vellumsolver) 3rd input: first output of the vellum solver node

add a fluid simulation to the softbody one

add a sphere center: 0 1.8 0 add vellum configure fluid node particle size: 0.03 then add 3 null nodes: fluid, fluidconstraints, fluidcolliders add another vellum solver node (plug in the null nodes) check ground position (for the groundplane) substebs: 2 advanced tab -> fluids -> adjust viscosity

add noise for varying viscosity

add attribute noise node (between first null and vellumsolver) attribute names: float: viscosity amplitude: 100

see noise in visualizer

click on white PIN icon, to enable the visualizer find other white PIN icon (right to 3d viewport) right mouse click on PIN icon -> click EDIT pen set using: auto noise value -> check enable remap ramp drag slider in/out to increase contrast

adding the new fluid sim

go into the first vellum solver add vellum source node and plug it into SOURCE sop path: the fluid null node constraint path: the fluid constraint null node

to start this sim delayed:

activation: $FF == 24 set display flag on first vellum solver and run it

mesh the fluid particles and add to point deform

add split node (below first vellum solver) group: stream_defaultsource add 2 null nodes, name them geo and fluid connect them with split node connect geo null with 3d input of point deform node add particle fluid surface node (after fluid null) particle separation: 0.02 add merge node, connect particlefluid surface with pointdeform

adding a collider object to the scene

add a tube rotate tube to intersect with the geo from first sim (alt + mouse click into the rotate field to set keyframes, right click on "rotate" -> delete channel to remove keyframes) plug it into 3rd input of vellumtetrahedral node and also into the merge node at the end


Published: November, 2023