Understanding Joints inside instances of a component
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I have a componeint called "Hexagon Panel - Engines". I also have two INSTANCES of that component, so they are named "Hexagon Panel - Engines:1", "Hexagon Panel - Engines:2", and "Hexagon Panel - Engines:3".
Within the component I have a sub-component named "Rocket Engine Unit:1". (It, too, has an additional instance, but we can ignore that for this discussion). Rocket Engine Unit:1 has a revolute joint between it and the main part of the panel. That revolute joint object resides within the main "Hexagon Panel - Engines" component.
Now, if I were to make any edits to the "Hexagon Panel - Engines" component or the "Rocket Engine Unit:1" that is contained with it, that change would be reflected in the other instances of the "Hexagon Panel - Engines". All well and good. Exactly as expected.
But if I click on the revolute joint that controls the rotational position of the "Rocket Engine Unit:1" and select to Animate Model it ONLY animates that one selected joint, the other joints in the other INSTANCES of the "Hexagon Panel - Engines" don't move. That seems a bit odd to me. Since there are multiple INSTANCES of the component and all instances of a component refer back to just one basic component I would expect that the Joints in each of the instances ALSO just refer back to the basic component, meaning that an animation of the selected joint would implicitly show as animation of ALL the instances of the joint.
I've also written a C++ add-on script which gets access to that joint and makes it move. And even when THAT is manipulating the joint it only affects the single joint.
It's as if the joints in the several instances are somehow SEPARATE or INDEPENDENT of the base component, even though they reside within an instance of a common base component .
It appears that, for my C++ script, I need to access each instance separately (e.g. get a pointer to the instance) and locate the joint WITHIN each "Hexagon Panel - Engines" instance, in order to have control of the "Rocket Engine Unit:1" within each one.