Martin Widö

mawi

About Me

EXPERTISE
VFX Artist
INDUSTRY
Film/TV

Connect

LOCATION
Sweden
WEBSITE

Houdini Skills

Availability

Not Specified

Recent Forum Posts

resize a cube through a Vex Function Feb. 19, 2025, 3:02 a.m.

Use the chain SOP with this exact functionality.

RBD Bullet Solver: How to group broken pieces? Dec. 18, 2024, 9:29 a.m.

merlincg46
Hello,

I have a fractured RBD Bullet sim with glue constraints and my goal is to source the pieces that are broken/not connected for pyro emission source. This [www.sidefx.com] works for deleting the pieces but I just want to group the pieces or assign an attribute. I have been trying this for ages but just keep failing.

In the constraints tab of the bullet solver I have used their the vex snippet to delete broken constraints:

if (@group_broken) removeprim(0, @primnum, 1);

Then I am attempting to set an emit attribute to the points that do not have constraints using a popwrangle inside the RBD bullet solver that uses the ConstraintGeometry object's data:

addattrib(0, "point", "emit", 0);
int pt = nametopoint(1, s@name);
if (pt == -1) {
    setpointattrib(0, "emit", @ptnum, 1, "set"); 
} else {
    setpointattrib(0, "emit", @ptnum, 0, "set"); 
}

But when I examine the output there is no emit attribute in the geometry spreadsheet.

I am sort of new to Houdini so I'm aware there's probably a better way to do this anyway so if anyone can spot what I've done wrong or could give me a simpler solution to achieve my goal it would be much appreciated.

This is often done as a post step to the simulation.
The newest buildt-in node is the debris source SOP. I think the RBD connected faces SOP got a example file on how to set this up with breaking constraints if you need that.

Air Strike Oct. 6, 2024, 4:35 p.m.

Do the retime on the first as a reference for the tempo you want. Then you don’t need to simulate hours to find out.

If possible I would try to split them. At least work with the emission part separately and then if needed run all emitters in same container at the end.