Skip to content

Understanding scene traversal..

February 21, 2011

Charles

I’ve been looking into Bungies approach to scene traversal, and thinking about how it would work for max. I look at it from time to time – but have recently taken a greater interest into as I’m solidifying a lot of my methods and need a way to traverse there hierarchies.

Essentially (from what i understand), they have metadata nodes which contain standard attributes: type, version etc, children which reference other metadata nodes attached and any additional custom attributes which reference nodes that are attached. Nodes are attached via a .metaParent attribute to allow recursion up to the ‘meta parent’

Im assuming both meta nodes, and nodes themselves use the ‘.metaParent’ attribute to recurse up until a ‘meta root’ is found, and if not how does a meta node find its parent?

In max, i think this would mean single or multiple attributes on the same or different objects could reference each other using the .metaParent’ and ‘type’ attribute.

Where a metaNode or Tag as i like to call it, contains custom attributes pointing to the nodes attached for a specific system such as ik, it essentially becomes a ‘Hub’ with the ability to inherit functions of the tags connected to it.

Would this make the ‘meta children’ attribute redundant though?

Advertisements

2 Comments

Post a comment
  1. February 22, 2011

    I have been looking at this myself too, and have taken an interest in the approach CAT takes in max. It uses the transform controller for everything, it implements all interfaces regarding adressing there (unfortunately interfaces and controllers are not script extendisible). Basicly you can retreive and address property from any controller which reflects the hierarchy. Every specific controller implements it’s parents controller, so a finger controller references the palm controller and the palm the limb, the limb the spine etc. And there’s always the CATparent property that all interfaces implement, where you can get directly to the root of the rig. Now I feel it’s too clunky implemented to navigate the rig with the current tools, but the idea is quit solid.
    Also on the controller is the “right” place for the tagging and interfaces, as parenting is a property of a controller and baseObject is just the shape. Too bad the controller panel is so restricted in max and modify panel is not.

    -Johan

    • February 22, 2011

      I quite like the address approach too – what I hate about it is addresses are ordered which means deleting parts re-orders everything so rebuilding has to be done in the same order else things tend to go wonky. Also some controllers are not exposed e.g. ikTargets etc – which you have to do work a around for.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: