Using Vellum Part 2
In my first vellum article I talked about some basic knowledge you can use in your in your vellum setups. Here I'll talk about how you can use vellum more successfully in productions. As well as how to create a vellum workflow that will be less time consuming and more realistic. As well as some attributes and tricks you can remember to use in your vellum creation. Here we go.
Updates to Vellum in Houdini 18
In Houdini 18, Sidefx made several updates to vellum to improve it's overall function. I thought it might be good to do a quick summary on these before moving forward. My last article was done with Houdini 17.5.
The first major update to Vellum was the improvement of how it handles high and low res meshes. When you now adjust the mass, scale, other parameters, or topology, Houdini will now allow you to manually adjust some of parameters that were locked in default in 17.5. You can now manually adjust the mass and thickness with a Calculate Uniform option. You can also use Calculate Varying which will automatically shrink the pscale for you. Also, remember the default density on the Vellum Constraint node is set to work with cloth. You will have to adjust accordingly if you are using something different like grains.
Sidefx has also improved the way Vellum handles collision objects and reduces tangling between objects. They have also added per-point collision grouping so you can chose which parts of your vellum simulation you would like to collide with your geometry.
You can now stitch points onto primitives instead of just on other points. There is also improved stiffness constraints for how Vellum holds clothing in place.
There is also a general improvement on how vellum handles soft bodies and plasticity. They have also added a falloff ramp for bend and distance. Plus, you can also blend velocities!
This is a brief overview of the updates. But you can read up on them more on the Sidefx website listed below.
Vellum Attributes To Remember
If you would like a successful vellum simulation, you'll need to focus on how vellum handles attributes, where they can be edited, where they can be outputted, how constraints operate on them, and how the solver handles them. Here are some of the important ones, and where they operate in vellum. These are all corresponding with their constraint types in vellum.
This is the weld geometry attribute associated with vellum. You can use the Weld Points option on the Vellum Constraints Node to add and adjust this attribute. By welding the points you can cause multiple points to be welded together, but they will remain independent points. By using a vellum post process node you can remove the overlapping points, and make sure the points appear as one.
You can also use weld to weld your edge fractures back together. But you will have to specify the point groups you would like weld to affect.
Another thing to note is that the vellum solver will treat two welded points as one point so they will no longer collide with each other.
This geometry attribute helps deal with the hard constraints of your simulation These values will affect your chosen point groups. You can pin a point group to some target geometry, and this attribute will stop the points from travelling away from that geometry. You can also use stop to unpin points.
If you would like to edit this attribute, you can do so with a point/attribute wrangle. This attribute does not affect the mass atribute in any way.
This is a point attribute to scale the stiffness by. It works in relation to vellum's bend and stretch constraints. You should increase or decrease the stiffness parameter by a factor of 10 to see results.
Higher resolution cloths and objects will automatically need a higher stiffness value to work. Make sure affect this stiffness value accordingly.
Adding or activating a drop off to this value will make the stiffness slowly decrease to zero. Or increase depending on what you prefer.
Increasing your constraint iterations will increase your stiffness. Remember that stiffness's job is to pull points back to their original rest state.
Be careful there are other stiffness attributes such as compression stiffness and they do different things.
Rest Length Scale:
This is the calculated original resting distance of the points in the original geometry. Keeping this value at zero will make your points collapse. This is also calculated in Houdini as a float value.
The ratio of this attribute can either be based off an absolute distance, or a percentage. A higher value will mean a greater affect on the plasticity of your object. A lower value will mean your object will be less plastic like.
If you animate the values of your rest length, you can delay or increase the speed that your object returns to it's resting state.
You can use the Vellum Pressure Constraint Node to affect this attribute's value. This attribute will help inflate pieces of your geometry. It helps store the original volume of the object, and helps build the point constraints of the Vellum Pressure Constraint Node.
There are way more. But feel free to explore them in your own geometry spreadsheet.
Fracturing, Tearing and Animating with Vellum
There a few different ways to fracture, tear, and animate cloth
in vellum. Preferably, we would like to do this in an ease way.
Let's start with animating vellum.
Unlike almost every other set up, animating values in vellum
cannot be done on the SOP level. You must animate either
inside your Vellum solver, or inside your Vellum DOP network. If you animate on the SOP level, your changes might not be visible, adversely affect your simulation, or not blend your animation well. Preferably do these changes on a Vellum Constraints Property
Node, or if you are operating inside a DOP network, use your POP winds, forces, or constraints.
For Fracturing and tearing Vellum. It is a good idea to consider pre-fracturing your cloth or object before setting up the constraints. You can use the Edge Fracture SOP to do this, and it will automatically create fractures down the edges of your geometry. You also have the option of adding a draw curve to the other input of your edge fracture to chose where you would like the fractures to be created.
When it comes to tearing inside the actual vellum network, you'll need always consider which attributes you are affecting, or which constraint groups you are using. You can create point, primitive, edge, and vertex group to focus your constraints on. add those before you add your vellum nodes.
You can also add target geometry tied to the solver for your vellum object to animate or tear around. You can also pin selective points from your vellum object to your target geometry for simulation to follow. Animating your target object can also add more variation.
Keep in mind that pinned points can only be moved by the vellum solver. To the solver they are calculated as an infinite mass or a permanent constraint. The solver also directly updates all the point positions in your vellum simulation.
Slow motion Vellum Simulations
This is something that might be a bit tricky for the average
beginner. It was for me while working on a certain project
that you'll see later ;). Something interesting about vellum
simulations is that you can always add a re-time node after
your solver and lower the speed that way. This can cause
your whole simulation to look like it has vanished, or is
frozen on one frame. The same thing can happen with
RBD simulations. So how do we solve this, and/or fix this
As discussed above, we talked about animating inside
your vellum solver or DOP net for the best results. Same thing
applies to reducing timescale and forces for slow motion. Reduce your timescale on/inside your solver, or adjust your forces inside your DOP net.
FEM, or Vellum? Which One Works Better?
This is an interesting subject. If you are creating soft or hard constraints between your simulation pieces, then one way might be easier than another.
As we discussed above. You can use the edge fracture SOP to pre-fracture the edges of your cloth, and export a piece attribute. But you can also combine the Voronoi Fracture SOP with the edge fracture node to create more chunkier pieces of cloth. You can also add a switch node and switch between the two to see the different results they both create in your simulation. Or you can add edge fracture, draw curve, and voronoi all together. It's really up to you.
As usual, you can build separate RBD and vellum objects, and then collide them together. Let's say if you wanted pieces of an exploding brick to collide with some cloth. Just remember where you should add your caches, and if you need help with collisions, you can visit my troubleshooting collisions page; Here.
FEM is a physically based way of setting up constraints and fracturing them. However, it is much slower with collisions. Vellum is faster but you will get different results with different resolutions of geometry. Which is apparent on the geo with varying sizes of tetrahedrons. Vellum has more complex effects and it offers more types of constraints. In Houdini 16, Sidefx added some updates to the FEM system to improve how FEM handles fast moving objects, mesh penetration, and overall improved solvers. Feel free to look farther into that.
Vellum grains are particles. They do not contain primitives. As such, think of using them as if you were using a POP net. You'll be applying the forces relativity the same, but applying the constraints differently over various other nodes.
When you are using a Vellum Constraints SOP node in any way on grains, remember to switch it from primitive to points. Otherwise, the constraint will be looking for primitives not points, and your chosen constraint changes will never work.
By adding a cluster SOP you can also have the choice to cluster certain groups of your grains together, and have then activate at different times. You can also use pin to target to have certain grains stay where they are or move with a target. Or even convert them to a particle fluid later on in your simulation.
External Vellum Resources
Vellum Workflow Concepts: SideFX: https://www.sidefx.com/tutorials/vellum-workflow-concepts/
How Vellum Works: Production Tips: https://www.sidefx.com/tutorials/how-vellum-works-in-houdini-useful-production-tricks/
SideFX Digital Learning Material: https://docs.google.com/spreadsheets/d/11FbYBV_OV2INv3LCk38fmcgZbuVrgxYaZK-1KifCpyc/edit#gid=0
Vellum Cg Wiki: http://www.tokeru.com/cgwiki/index.php?title=HoudiniVellum
H17 Vellum and hairgen: https://www.sidefx.com/forum/topic/59139/
Vellum Pin to Target Animation Problem: https://www.sidefx.com/forum/topic/60529/
Vellum Hair Problem: https://www.sidefx.com/forum/topic/60988/
Vellum Grains Constraints Problem: https://forums.odforce.net/topic/41684-vellum-grains-constraints-problem/
Hotkeys SideFX: https://www.sidefx.com/docs/houdini/network/shortcuts.html
Houdini User Interface Tips CgWiki: http://www.tokeru.com/cgwiki/index.php?title=HoudiniUserInterfaceTips
Houdini Shortcuts: https://shortcutworld.com/Houdini/win/Houdini_Shortcuts
Houdini 18 Updates: https://www.sidefx.com/docs/houdini18.0/news/18/index.html
Vellum Collisions: https://www.sidefx.com/docs/houdini18.0/vellum/collisions.html
Vellum Constraints: https://www.sidefx.com/docs/houdini/nodes/sop/vellumconstraints.html
An Example of Vellum Cloth in Houdini 18.