Jeff Lait

jlait

About Me

Expertise
Developer
Location
Not Specified
Website

Connect

My Tutorials

obj-image Masterclass
Attribute Paint | H18 Masterclass
obj-image Masterclass
Vellum Cloth | H17 Masterclass
obj-image Masterclass
Vellum Drape | H17 Masterclass
obj-image Masterclass
Vellum Overview | H17 Masterclass
obj-image Masterclass
OpenCL | H16.5 Masterclass
obj-image Masterclass
Heightfields | H16 Masterclass

Recent Forum Posts

New Paint SOP Dec. 2, 2019, 4:13 p.m.

pickled
Paint Attributes/Attribute Paint SOPs redundancy?

“Situation normal.”

I wanted “Tab->Paint<enter>” to get you the new paint sop. So it has to be called Paint Attributes in the tab menu for that. But the natural naming scheme for this is “Attribute Paint” to match the other Attribute prefixed nodes.

Of course, we allow typing names out of order in the tab menu, so whichever you type the other will show up… Best course would likely be to have only the highest-matching variant show up in the menu, but that will require a fair bit of extra metadata to tie the tools together.

Animated groups driving vellum simulations Nov. 12, 2019, 3:24 p.m.

In the vellumconstraintspropertiy it is bound to the Constraint primitives. Thus @PinSelection would read the primitive attribute on the constraint geometry, which likely isn't where you have your animated data.

This is why you likely want to use a point() expression to read from one of the other inputs, and set that input to the animated geometry. In particular,

stiffness = 1e10 * point(2, ‘PinSelection’, @ptnum);

would work if the Third Input (2) is set to point to the SOP that has the animated PinSelection attribute.

Note stiffness is exponential, so it will be pretty much on/off even for intermediate values of PinSelection like 0.5.

Animated groups driving vellum simulations Nov. 12, 2019, 10:52 a.m.

The vellum constraint node is only run on the first frame. So it creates all the pin constraints on that first frame. The “Animated” flag adds an attribute that the target position to be updated, but will not re-create the pins. Thus it won't notice that the group has since changed. This might seem a pedantic separation when the group is “pins” as it seems trivial to re-evaluate membership in that group. But that generation group can be any arbitrary expression.

Since you created soft pins they exist as spheres on the Constraints geometry.

The easiest way to deactivate them is to set their stiffness to 0. You can do this in the vellumconstraintproperty DOP inside the forces tab.

The Animated Constraints help card example shows a setup reading in to a vellum constraints property. You could do similar with a vexpression of

stiffness = 1e10 * inpointgroup(2, “pins”, @ptnum);

and then set the Input 3 to point to where the pins group is animated.