PDA

jeric_synergy
05-12-2014, 09:29 PM
I've been experimenting and practicing w/nodes, and thought that overriding inherited rotation would be a breeze.

For strictly organizational purposes*, I made the objects in question children of a rotating object. The objects were already pinned to the parent via Nodal Motion (not Node Item Motion) to cause them to stick to the points of a disk, like Ferris wheel cars. So, they HAD been moving w/the disk, but had not been actual children of the disk.

I figured as children they would rotate, and they did. But I figured I'd be able to override their rotation via nodes, but so far haven't determined HOW. :stumped:

...I'm seeing now that I'll have to get the invert? reciprocal? of the parent and feed it into Rotation input, but I'm guessing that the Invert node will be of little use here....

struggling on...

*(btw, this is not a practical matter: I'm doing it to increase my mastery of nodal operations, especially relating to rotation. So, unparenting the children is not the point.)

EDIT: here's the file I'm using as a testbed...
121872

RebelHill
05-13-2014, 04:04 AM
Its pretty simple really in so much as you just need to perform a subtraction... find the parents rotation and subtract it from the childs rotation... the child now counter-rotates back against its parent the same amount its parent has rotated... The only difficulty comes in the fact that you need to do this in euler angles (which are ofc a hierarchical, domain constrained co-ord system)... Easiest way... use the hpb<>matrix nodes... Get the parents rotation output as an xyz vector (or set of vectors for the up, right, forward), get the inverse (of each), feed that to each childs rotation input.