Jump to content

how to make constraints


meshsmooth

Recommended Posts

I am starting out making my first skeletal rig in Houdini. I started in Houdini and thought VEX was the place for constraints and will get around to trying that out but for now I will do it the regular way, now my first step to keep this rig snappy is to not use expressions and keep all the constraints in CHOP's so I am now trying to find the equivalent of all the constraints I am used to in

CHOP's. The easiest way somebody could explain this would be to make a Houdini file with examples of them or write a description.... making a hip file would probably be faster. The constraints I am looking for are..

(the objects should not need to have the same parent)

* translate to another objects position in world space

* translate between two or more objects in world space

(the objects should not need to have the same parent)

* orientate like another object in world space

* orientate like two or more object in world space (using quatonin intopolation)

* aim one axis at another object while not altering the other axises

The reason i natural think to go to vex to for making constraints is because the relationship between objects in space would be best described in vectors. VEX standing for Vector Expression Language just said to me to be Constraints Ahoy! But i am told that CHOP's is the thing for the job and it is the part of the program that is made to deal with 1 dimensional data... go figure!

Link to comment
Share on other sites

Hmm wouldn't the Blend OP do the job.. you could constraint whichever transformation channels that you need for your object. Not sure about what kind of rig you're building but I find houdini expressions pretty snappy (sorry bad pun heh):). Keep us updated.

Adam :

Link to comment
Share on other sites

I have just read this thread

http://www.sidefx.com/forum/viewtopic.php?...p?p=10222#10222

1 object chop is targeting null_A, and the other object chop is targeting null_B

Both reference a world_null and there fraim start and finish rainges set to $F

null_B is parented to another null just to prove it is more than just sibling objects working together.

then added a constant chop with one value of .5

wired that value as the first input of a blend chop folowed by the object chops

then piped that into an export chop sending it to the object that i want to stay between the other two.

OK now...

Using chops I want to make an operator type that simply dose this so you only have to deal with one sop much like the IK chop

I have collapsed it into a subnet and created an object type from it.

I am having trouble linking the target objects to an "operator path" paremeter in the Operator Type Properties /parameters tab.

I made a simple sop operator type with an object merge inside and attempted to link up the target object to an "operator path" paremeter in the Operator Type Properties /parameters tab with no success ether

Any help on this topic?

Link to comment
Share on other sites

Well I want the fastest method because I like to make really slick rigs (in other software so far) with all the bells and whistles but nobody wants a fancy pants rig that is slow. It needs to still feel good when there are 10 characters in the scene and not make you cry when there are 30.

I am just trying to locate the building blocks that I use in other software within Houdini.

Link to comment
Share on other sites

To find out the answer to the question of what is faster the blend opp or the chunk of chops above....

To test the setup I move null_a causing the other parts to re-cook

This is the output of the Performance Monitor

     0.16 ms  1803 cook   /obj/null_a (null)
     0.07 ms  1801 cook  /obj/blend_tool (blend)
     0.00 ms     export      object_null_A_chop
     0.06 ms   103 cook     /ch/ch1/object_null_A_chop (object)
     0.00 ms     export     _blend_chop
     0.04 ms  1149 cook    /ch/ch1/_blend_chop (blend)
     0.01 ms     export    export_chop
     0.09 ms  1153 cook   /ch/ch1/export_chop (export)
     0.04 ms  2774 cook  /obj/null_choped (null)

I read this as saying...

0.16 ms to place null_a after I have moved it

0.07 ms to work out the position of the blend opp

..

0.24 ms the rest is for working out the chop and applying it to the "null_choped"

Even when applying rotation and scale blending blend only gets up to .08 ms

it is more than 3 times as fast So blend opp all the way!

post-18-1081924198.gif

Link to comment
Share on other sites

It's quite expectable that the Blend Object should be faster than a CHOPnet. But CHOPs are damn fast anyway, and a CHOPnet could define very complex behaviour and constraints, which are impossible to do with Blend objects, and still cook very fast. I used quite complex CHOPnets in Touch Designer some time ago, for real time stuff, and never got any slow-downs because of CHOPs.

And speaking of constraints, you can also do "real" point constraints with CHOPs (constrain an object to a geo point), and they are way faster than expressions. Just group the point you need in SOPs, then in CHOPs use a Geometry CHOP to import just the group containing the point. You can now export the co-ordinates to the object you need to constrain.

Dragos

PS Is there a place when I can find some info on Pre-Transforms, the Pre-Trasform menu of Objects and the Pre-Transform CHOP? The help isn't very helpful on this <_< ... Maybe the tutorial on spaces on the wiki... please

Link to comment
Share on other sites

  • 2 weeks later...

I have added the information I have leant from my search for constraints to this page. I have found a method of blending more than 2 rotations so they still behave them selves all the time! I am just working on packaging it up into an Operator type.

wil get it out there soon

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...