Jump to content

Multi RBD to Wire Constraints with Apply Relationship


BOON

Recommended Posts

yeah i've came across that post too.. but i think i'm trying to achieve something different than that.

(hope i'm not missing out any points..)

I am able to constrain an object to a wire with an sbdpinconstraint DOP no problem, and they would interact nicely. But now i want to constraint about 40 objects to 40 lines that happen to be 1 wireobject, and i think the apply relationship DOP would do the job. Unfortunately i just can't quite pull off that trick, needed more tips to wrap my head around it.

Edited by BOON
Link to comment
Share on other sites

You definitely need to do something like feedback force cause houdini doesn't.

As for apply relationship dop:

1) create number of rels == number of rbd spheres (dopobjscreatedby() func). Now you're creating pairs of objects but you don't have them - only one! wire object and bunch of rbds.

2) set only one variable in applyrel dop == $REL - this way you can stamp it in sbdconstraint node to define what sphere and what point on the wire object to constrain. So in sbd constraint:

Constraint object will be your wire,

Constrained point - arg(pointlist(path_to_wire_obj_SOP, point_group_to_constrain), stamp(...$REL... here...)

Goal Object - arg(dopobjscreatedby(your_spheres_object), stamp(...$REL... here...))

Goal Points - the same as Constrained.

Activation - always 1.

  • Like 2
Link to comment
Share on other sites

Thank you so much bloomendale for helping me out with the applyrel dop, now I have a clearer idea of how it works. And yes you are right, it looks like i need to do a feedback force to make them interact with each other. Strange enough, because it looked like they were interacting when I was trying to constraint just 1 object.

Link to comment
Share on other sites

  • 6 years later...
On 30/11/2012 at 7:29 PM, bloomendale said:

You definitely need to do something like feedback force cause houdini doesn't.

As for apply relationship dop:

1) create number of rels == number of rbd spheres (dopobjscreatedby() func). Now you're creating pairs of objects but you don't have them - only one! wire object and bunch of rbds.

2) set only one variable in applyrel dop == $REL - this way you can stamp it in sbdconstraint node to define what sphere and what point on the wire object to constrain. So in sbd constraint:

Constraint object will be your wire,

Constrained point - arg(pointlist(path_to_wire_obj_SOP, point_group_to_constrain), stamp(...$REL... here...)

Goal Object - arg(dopobjscreatedby(your_spheres_object), stamp(...$REL... here...))

Goal Points - the same as Constrained.

Activation - always 1.

Is it possible to provide a hip file with this?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...