Vellum create falling leaves or snowflakes in Houdini

Vellum create falling leaves or snowflakes

create the leaf geometry (or snowflake)

add geo node, name it leaf and dive inside add grid size: 1 1 rotate: 45 rows: 2 colums: 2 add polybevel node group: 0 3 distance: 0.8 divisions: 8 add remesh node add match size node justify z: min (to add some more variants with different shapes, see multiple versions, variations of geometry with copy to points)

scatter and colorize the leafs (or snowflakes)

add another grid node (inside same geo node) center: 0 5 0 add scatter node force total count: 3 uncheck: relax iterations global seed: $F add attribute randomize node, name it pscale attribute name: pscale dimension: 1 distribution: custom ramp check Fit value 0 to 0.05 check Fit value 1 to 0.15 options tab -> global seed: 4768+$F add attribute randomize node, name it orient attribute name: orient distribution: inside sphere dimensions: 4 options tab -> global seed: 325+$F add point wrangle node, name it randcolor f@randcolor = rand(@ptnum, @Frame); add attribute from pieces node first input: feed randcolor second input: feed the connectitity node here piece attribute: variant mode: random seed: $F add copy to points node feed leaf geo and scatter piece attribute: variant add attribute noise float node, name it colornoise attribute names: foat: randcolor operation: multiply range values: zero centered amplitude: 30 noise type: sparse convolution element size: 0.4 offset: 6.9 add attribute noise float node, name it shapenoise attribute names: vector: P amplitude: 0.3 add color node color type: ramp from attribute attribute: randcolor doubleclick on the color sliders to set values add a nice gradient: green yellow red brown

animating the leafs (or snowflakes) with wind and gravity

on timeline, check real time toggle add vellum configure clothes node

for leafs:

normal drag: 40 tangent drag: 0.3

for snowflakes:

normal drag: 1 tangent drag: 0.1 add vellum solver node (press play buttom, the leafs should fall) check ground position bend -> stiffness: 1 x 10 go into vellum solver node add vellum source node, feed it into SOURCE emission type: each frame sop path: ` opinputpath("../..",0)` constraint sop path: ` opinputpath("../..",1)` add pop wind node, feed it into FORCE amplitude: 0.3 add attribute noise float node (in between vellumcloth and vellumsolver, first input) attribute names: float: dragnormal dragtangent operation: multiply range values: min/max min value: 0.60


Published: November, 2023