On 09/13/17 17:27, Ponthieux, Joseph G. (LARC-E1A)[LITES II] wrote:

Still, it’s not uncommon for a transform group hierarchy to resemble something like this:

 

Master

                Translation

                                Offset

                                                Random_Transforms

                                                                Offset

Yaw

                                                                                                Pitch

                                                                                                                Roll

                                                                                                                                GeometryMaster

                                                                                                                                                Etc



Hum.

I guess these "intermediate items" are probably part of XSI's internalized abstractions (?)

I'm sure there must be advantages of having it this way, (1 null (& hierarchy level) for each axis of rotation ?)
but I feel that these abstractions remove quite a bit of redundancy and clutter in sometimes already quite cluttered and deep hierarchies.

in any event, thanks for the details!


On 09/13/17 17:27, Ponthieux, Joseph G. (LARC-E1A)[LITES II] wrote:

Yes. I think an “intermediate parent” is one way to put it and is a reasonable assumption. But it can be variable.

 

For example, If you know that you need local translations of Z at a specific non-zero orientation, you use the parent to set the orientation that governs the local transform axis in local Z. If you don’t need that level of control you don’t need that many parents. So it’s not always a 2:1 “double depth” problem necessarily unless you need that level of control. Or more control than average.

 

Still, it’s not uncommon for a transform group hierarchy to resemble something like this:

 

Master

                Translation

                                Offset

                                                Random_Transforms

                                                                Offset

Yaw

                                                                                                Pitch

                                                                                                                Roll

                                                                                                                                GeometryMaster

                                                                                                                                                Etc

 

Every case is unique of course so not everything would look like this but this would be fairly common for me if I were setting up a UAV or other aircraft. Generally though I’ll make new attributes at the Master transform group and connect them back to each position or rotation atrribute on the rig as needed so I only have one place to go for all needed transformations. And stuff like the Random_Transforms would be driven by expressions with attributes also placed at the Master level to drive the random behavior.

 

Freezes and Resets are always relative to the object its parented to. If not parented under anything, it zeroes to world “zero”. If it has a parent, it zeros to the parent “zero” or center. Everything is always relative its parent’s transform coordinates unless otherwise constrained on not a child of anything.

 

If you find you need to make significant changes, you remove the geometry, or whatever, from the hierarchy (using Unparent) then send it back to world zero (using Reset). For example, in the case above I would just remove the Geometry Master (likely an aircraft) from the hierarchy since I know it was created at world zero. After I translate/rotate it back to world zero and rework it there, I then drop it back into the hierarchy below Roll where it was originally located. When back in the hierarchy I execute Reset on GeometryMaster again. It should then move to be in exactly the same place it was before relative Roll, assuming I’ve managed not change the Geo’s relation to transform and pivot zero too drastically.

 

To summarize:

Select geometry object

Unparent

Reset Transformations

Edit object at world zero coordinates

Reinsert object into hierarchy

Reset Transformations

 

If you develop a good set of habits in structuring and managing your hierarchies, placing at least one group transform above each geometry object, that kind of thing, its fairly painless. The parenting required is relative the articulation that is needed.

 

This way of doing things may not likely be familiar  if you’re coming to Maya from XSI. When I learned Maya transforms I was coming from SI 3D, but I also had some experience on Wavefront TAV, so it was less difficult to understand why they did it this way. Funny thing is when I transitioned back to XSI from Maya, about XSI 5 I think, at some point I noted XSI had implemented Transform Groups. As a result I started using the Transform Groups in XSI to continue using the Maya structural “habit”  in XSI. I found that in time I rarely ever touched the Center again.

 

Bear in mind that Maya does provide a “global” abstraction through Move Tools’ setting Axis Orientation. If you set it to world you can move an object according to World XYZ axis via the manipulator, but it will show up as local transform values local to its parent unless you remove it from the hierarchy. (This abstraction also seems kind of buggy in 2017 as it doesn’t update the manipulator sometimes when switching from Object to World or back).

 

If you need to move something to a world specific position, use a locator or group that is not inserted in the hierarchy, set its world position, then snap the object to that world positioned locator(via Snap to Point).  Bear in mind that the object is still relative its parent. It can be nonzero to its parent without much issue if all you are doing is positioning it relative the articulation xform of its parent.

 

So it becomes kind of a game to know how to set up the hierarchy to manage articulations. What gets a lot of depth and what doesn’t. And typically this means you rarely articulate a piece of geometry by itself without a transform group. Granted rigid body simulations, envelopes, and shape animations are typically exclusions to that kind of need for structural depth.

 

Joey

 

--

__________________________________________________

Opinions stated here-in are strictly those of the author and do not

represent the opinions of NASA or any other party.

 

 

 

From: softimage-boun...@listproc.autodesk.com [mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of Jason S
Sent: Wednesday, September 13, 2017 3:41 PM
To: Official Softimage Users Mailing List. https://groups.google.com/forum/#!forum/xsi_list <softimage@listproc.autodesk.com>
Subject: Re: Maya - what were they thinking 2 - transforms

 

It seems to be the same issue in these threads.

 
    CGTalk - how to "zero to parent"
 
    CGTalk - roll / pan / tilt of camera
 
So any item you would want to animate  by it's local axis (or to refer to it's local transforms in expressions) needs an intermediate parent item? 
 
Doesn't that make sub-sub level items become  sub-sub-sub-sub level? (double the items at double depth?)
 
What happens when you reset the transforms of a child of a parent that's somewhere in space, pointing somewhere?  
 (0 zeroing it's transforms) 
the item snaps to world center?  and not to whatever position/orientation of it's parent?
 
On 09/11/17 11:01, Morten Bartholdy wrote:
Thanks guys - there is plenty to investigate here :)
 
//MB
 


------
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with "unsubscribe" in the subject, and reply to confirm.


------
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
"unsubscribe" in the subject, and reply to confirm.

Reply via email to