Objects and chain root world space

   1819   9   2
User Avatar
Member
375 posts
Joined: May 2014
Offline
Hello, in the series “understanding Houdini's transforms”, I have 2 questions:

1) In /obj level, when I select an object, in its parameter pane, I can see and set its coordinates in local space, relative to its parent. But how can I see and set its coordinates in world space?

2) When I create a box anywhere in the scene, NOT at the scene's origin, I get translation coordinates that are not 0 0 0.
When I create a bone chain anywhere in the scene, NOT at the scene's origin, the chain_root node's translations are 0 0 0.
These coordinates are supposed to be in local space, and in this case, the parent of an isolated object is the world origin.
So the coordinates seem logical for the box, but not for the bone.
What's the deal?

Thanks
Gz
Houdini gamboler
User Avatar
Staff
3455 posts
Joined: July 2005
Offline
1 - if an object doesn't have a parent then it's Local coordinates are the same as it's world coordinates.
2 - the bone root's local coordinates are being stored in the root's pre-transform.
middle mouse on any node and you'll see this info

http://www.sidefx.com/docs/houdini/basics/objects.html [www.sidefx.com]
Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
161 posts
Joined: May 2015
Offline
Hi Grendizer,

To answer your first question, I don't think that there is a UI way of seeing and/or editing the world transform of an object in Houdini unfortunately.

It would be awesome if we could! I am really missing this feature from other softwares like softimage or 3dsmax… It is so helpful!

If you want to build a Python Panel that would mimic this behaviour, have a look at the worldTransform() and setWorldTransform() methods of the hou.ObjNode class.

If you just want to drive the worldTransform of objects, have a look at the “constraints network” from the “constraints” shelf tool.
This will build a CHOP network in which you can put a “Transform VOP” node. There you can do any maths that you want to drive the world transform of objets. Just be sure to put the “Transform VOP”'s “Channel Range” parameter to “Use Current Frame” to speed thing up.
User Avatar
Member
161 posts
Joined: May 2015
Offline
To answer your second question, I strongly suggest that you set your preferences so that Houdini does not write to the Pre-Transforms parameters. This should give more intuitive results.

I prefer working this way since we do not seem to have access to the pre-transform parameters like in other softwares. We can inspect them by middle clicking on an object node (the world parameters also by the way), but we cannot edit them like other parameters unfortunately.

With this preference turned on, you should have the chain's root values not to be (0, 0, 0) when creating a bone chain
Edited by cval - Nov. 21, 2018 14:33:13

Attachments:
PreXform_Preferences.png (69.5 KB)

User Avatar
Member
375 posts
Joined: May 2014
Offline
Thanks a lot to you both for the complete and informative answers!!!
Yes Cval, it would be nice to have better access to global transforms, like in XSI Is this feature request logged yet?
Houdini gamboler
User Avatar
Member
161 posts
Joined: May 2015
Offline
I have a logged an RFE 3 years ago about this. ID : #69987

Please submit one also if you feel it is important.

In my RFE I put the emphasis mostly on being able to drive world kinematics, which is now possible through the CHOP constraints system. However, it would be really nice to have a U.I. to actually view and edit world transform parameters. Keying world transforms would also be very very useful and very powerful in some situations. I guess we can also achieve something similar with the CHOP constraints system, but the manipulation is not as straightforward as just keying them.
User Avatar
Staff
3455 posts
Joined: July 2005
Offline
you can expose the pre-transforms by clicking the gear icon of a node's parameter pane and then selecting ‘Edit Parameter Interface’
then in the left side
click on the ‘Node Properties’ tab
then in the bottom filter type ‘pre’ and enter
now you will see the pretransforms
select the ‘Pre-Transform’ folder and use the arrow to move it to the right hand side
click Accept
Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
161 posts
Joined: May 2015
Offline
Hi Michael,

Thanks for this post! I keep forgetting that they are on the Node Properties, I always try to find them in the “Invisible Parameters”. I am so happy to find them again!

Out of curiosity, do you know why they are not exposed by default? Is it for performance issues?
User Avatar
Staff
3455 posts
Joined: July 2005
Offline
it's just more visual clutter that most users don't want/need.
Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
375 posts
Joined: May 2014
Offline
Hello Goldfarb.

It's important to state that exposing the pre-transforms should be done BEFORE transforming the object, otherwise it will reset the object's transforms.
Houdini gamboler
  • Quick Links