Hi,
I think I'm missing something very basic here… tried searching internets but no success. Probably it's so basic nobody even mentions it…
I have a keyframe animated object which is a child of an object hierarchy which is scaled and otherwise transformed. Then there's a little bit of noise added to the object in question with a chop network.
I want to retrieve the world space xform of that object to a null *with* the noise added from that chopnet.
I'm constraining that null using Get World Space chop node but it gives me that *without* the noise… What am I missing here?
Also … what is the general workflow in this case? I mean extracting object transforms from complex hierarchies…
Cheers,
B.
How to get object worldspace xform after constraints/chops
2213 2 1- bbbaaarrr
- Member
- 14 posts
- Joined: April 2017
- Offline
- friedasparagus
- Member
- 402 posts
- Joined: June 2014
- Offline
Hey,
This isn't very clear from the docs, so I wouldn't beat yourself up
The Get World Space CHOP grabs what Houdini calls the ‘preconstraint transform’. The first input in most CHOP constraint setups will be this node pointing to the object being constrained (with the relative path “../..”). This prevents recursion problems.
In your case you'll be wanting to use the node listed as ‘Object (Constraints)’ under the network editor tab menu. This one fetches the final (post-constraint) world transform of the object, or the final relative transform to the node pointed to in the ‘Reference’ parameter (leave this blank for World Transform).
Be wary of recursion problems if you get too involved in intercepting/rebuilding transform hierarchies through constraints… Even though the ‘Get World Space’ chop node grabs the pre-constraint transform of the target object, that pre-constraint transform still contains any post-constraint transforms that are present in its parents. So attempting to set constraints on a parent object based upon a child object's preconstraint transform will still result in ‘infinite recursion’ errors.
It's more than likely you can ignore that last paragraph as it's something that generally only happens when you try something daft (as I have done many, many times)
This isn't very clear from the docs, so I wouldn't beat yourself up
The Get World Space CHOP grabs what Houdini calls the ‘preconstraint transform’. The first input in most CHOP constraint setups will be this node pointing to the object being constrained (with the relative path “../..”). This prevents recursion problems.
In your case you'll be wanting to use the node listed as ‘Object (Constraints)’ under the network editor tab menu. This one fetches the final (post-constraint) world transform of the object, or the final relative transform to the node pointed to in the ‘Reference’ parameter (leave this blank for World Transform).
Be wary of recursion problems if you get too involved in intercepting/rebuilding transform hierarchies through constraints… Even though the ‘Get World Space’ chop node grabs the pre-constraint transform of the target object, that pre-constraint transform still contains any post-constraint transforms that are present in its parents. So attempting to set constraints on a parent object based upon a child object's preconstraint transform will still result in ‘infinite recursion’ errors.
It's more than likely you can ignore that last paragraph as it's something that generally only happens when you try something daft (as I have done many, many times)
Edited by friedasparagus - May 25, 2018 08:51:48
Henry Dean
- bbbaaarrr
- Member
- 14 posts
- Joined: April 2017
- Offline
Thanks! All clear now!
Just one more question … How about outputting the result from CHOPs?
Is it better to use the constraint way (i.e. enable constraints in object transform) or export directly the CHOP channels?
The difference is that constraint way doesnt show any values in the node transform, while exporting CHOP turns transform fields to orange and you can actually see the values there (and use them in expressions and whatnot).
Cheers,
B.
Just one more question … How about outputting the result from CHOPs?
Is it better to use the constraint way (i.e. enable constraints in object transform) or export directly the CHOP channels?
The difference is that constraint way doesnt show any values in the node transform, while exporting CHOP turns transform fields to orange and you can actually see the values there (and use them in expressions and whatnot).
Cheers,
B.
-
- Quick Links