Vellum Part 3

Introduction

Finally, once again we are going to talk about Vellum. Maybe this will be my last vellum article...who knows? :) On this page we are going to talk about some more challenging topics in Vellum, so you will need to have understood the basics of Vellum before reaching this page. Feel free to read the previous two vellum articles to catch up. HERE. If you would like to read about Vellum workflows you can use, you can read about it HERE. Let's get started.

More Vellum Attributes

Bend: A constraint based around four different points on the edges of your geometry. This is both a string and a primitive based attribute. Helps to maintain the edges of your geometry while the simulation is in progress.

Friction: A float, point, and detail based attribute. Controls the static and dynamic friction between vellum objects. 

Layer: Is an integer and point based attribute. Controls the priority of collisions. 

Collision Group: Is a string and point based attribute. Gives the points in this collision group a value, and lets Houdini decide whether or not it should ignore the collision group or interact with it.

Break Type: Is a string and primitive based attribute. This controls the threshold for breaking constraints on your geometry. If it's value is less than zero, no breaking will occur. 

Damping Ratio: Is one of the constraint attributes you can affect in vellum. It is a float and primitive based attribute. Dampens the collisions affected with this attribute. Helps suck force energy away from the simulation.

Collision Ignore: Is a string and point based attribute. Stores information about collision groups to tell Houdini not 

to collide with certain attributes or point groups. Or to tell it to only collide with certain groups.

Vellum Constraints

What are vellum constraints, and how can we use them in our simulations? Let's figure that out.

An easy way to describe constraints, are lines between points that hold them in place. They are also considered  as the other piece of geometry needed for your vellum simulation.

A Vellum Constraints Node contains all the different types of constraints you could possibly use for your simulation. It passes the information about which type of constraint you are using through the second output on the node. Using the node, you can pick from a list of standard constraints based on the type of geometry you have chosen for that constraint. Here are some:

  • Pin to Animation

  • Closest Point

  • Stretch

  • Glue

  • Struts

  • Distance Along Edges(Default setting)

  • Weld Points

  • Stitch Points

  • Hair

  • Cloth

  • String

  • Bend Across Triangles

Depending on what type of vellum simulation you are working with. Your constraints will also act differently. This is because different vellum simulations operate on different parameters and measurements. Let's use cloth and hair for an example:

Cloth: This vellum sim will operate best on the distances along edges and bend across triangle constraints. This is because calculating the width and length of your cloth is equally important. Without these measurements vellum will have no idea how big your cloth is and will not calculate your simulation accordingly. These two constraint types will help do exactly that.

Hair: When you are creating hair in vellum. You will most likely use the hair constraint type. This constraint type is a mix between two others. The distance along edges and bend between edges. These two constraints will help vellum calculate the twist and stretch of hair differently that it would do for regular geometry.

  • Between your vellum constraint node, and your vellum solver you can add wrangles or constraint clusters to further edit your constraints. By adding wrangles you can edit certain values of parameters. For example, editing the rest length value, or telling vellum that it's value should change after a certain point.

The Vellum Constraint DOP is also an important node. It can only be activated inside a DOP network. It gives you cleaner access to the rest length, damping ratio and other parameters of your constants. It also allows you to chose which input from the DOP network to draw your constants from. You can also add VEX expressions into these parameter inputs on the node. 

What's The Difference between the Vellum Solver SOP and Using a DOP Network?

This is something that confused me for the longest time. There is a surface level vellum solver, and a DOP network vellum solver available to use. While learning vellum one of the things I would notice was that some tutorials would use the SOP version, and others the DOP one. So which one is better?

A vellum solver SOP is great for simple vellum simulations. A vellum solver when used in a DOP net is great for complex simulations. A DOP network will help you avoid overlapping attributes if there are many edits to your constraints or simulation. It will also help keep your node tree a bit more clean. You'll be able to edit the constraints more within the DOP, rather than having multiple VEX nodes spread across your scene.

More Resources/References

Vellum Attributes: https://www.sidefx.com/docs/houdini/vellum/vellumattributes.html

Creating Stiff Fur with Vellum: https://forums.odforce.net/topic/41853-vellum-guide-simulate-creating-stiff-fur/

Vex Snippets: https://vfxbrain.wordpress.com/2016/10/02/vex-snippets/

Vex working with Groups: https://vfxbrain.wordpress.com/2019/06/14/vex-snippets-2/