Vellum Sink
Links
- Vellum Cloth | Jeff Lait | H17 Masterclass lots of cool tips
Tips
You can simulate interactions between Vellum fluids and Vellum grains or Vellum cloth, for example. Vellum hair is currently not supported.
Intersections
- To fix intersected collisions create
disableexternalpoint int attribute with value of 2
Transfer sim to the original geo
To precisely transfer Vellum animation back onto the original (hi-res) mesh you can use either PointDeform or simply AttribCopy. PointDeform requires point ids on the input for exact matching, but creating the i@id attribute intrudes into the Vellum calculations, that can lead to problems such as geo explosions.
Use case:
Tetrahedral softbody (wip yet):
- If the geo is fractured, store
i@matchidpoint attributei@pmatchid = @ptnum + 1on the welded sides to match exact point pairs to fuse withFusenode - Store
i@pidpoint attributei@pid = @ptnum + 1on the original geo - Tetrahedralize with
TetConform - Tetrahedralization will preserve the attribute on the original points, but it will add new inner points (with pid = 0 default value)
- If the geo is fractured, now store the piece attribute (from the connectivity) after tetrahedralization, so that all inner points have it as well
- Fill them with something like
i@pid = (i@pid==0) ? @ptnum + 50000 : i@pid;to avoid duplicatepidvalues - Simulate
- Rename
@pidto@id - PointDeform
- Create point group
tofuseby@pmatchid>0 - Fuse this group, matching points by
@matchidattribute (equal mode) - Subdivide
Or much simpler, if the topology allows:
- Use
AttribCopyto transferPattribute (and any other required) matching points bypidattribute. - Fuse if the geo fractured and fusing is required the same way as 11 above
Chaining vellum solvers
Minimal solver
If minimal solver is present in the chain (first in my case) then Attach to geometry constraint (probably along with some others) won't work. The reason is it requires the target geo to be present in the collider stream as geo, not as volume (as the minimal solver requires). Break the the collider stream into segments for each next solver, feed the volume collider directly into the minimal solver.
Moreover, the volume colliders won't be visible in the following solvers' collision visualizations.
Invalid particles
When chaining Vellum fluid solvers one into another (from the initial state to the actual simulation for example), the next Vellum solver tends to flag the chunks of intersecting particles as invalid, which causes a significant volume loss. In my experience the best way is to use the Minimal solver to initialize the fluid, this way it's easier to avoid particle intersections.
Caching
VellumIO
The third input wires directly to the third output and is not cached to disk.
Scale
Vellum fluids don't seem to like anything of below 0.1 m scale. Upscale the setup. That will also make it faster.