Reverse parenting / Simulate parenting behaviour with animation nodes

Hi there,

I am new to the forum, and I hope I do everything right. But be assured, I used Google and forum search extensively before asking.

So, let’s go, my first question:
Imagine the following (manual) setup: Let’s say we have a simple animation (key 0 to key N) of a cube moving from Point A to Point B (with some rotation). We also have a plane that is parented to the cube. I want to know the future position of the plane at the end of the animation while I am changing its starting position. So what I currently do is duplicating the plane at key 0, clearing parents of the duplicate and then moving forward in the animation timeline. At key N I know have the plane in starting and ending position. The problem is that I need to do many iterations to find a good starting position for the plane.

So, I would like to get the cube’s “Object Info” at frame N to copy those transformations to a duplicate instance of the plane. But I am baffled, as direct input from the “Object Info” => “Transformation” node leads to unexpected results.

Any Help is appreciated.

Hello.

Welcome to blenderArtists!

I don’t really know the answer to your question, but I don’t want you to think that no one is listening.

My initial gut-feel, is that geometry-nodes is not the best avenue to try to solve this problem… but you probably have (unstated) other considerations/requirements for why you want to do it through GeomNodes…

It seems to me, that what you are effectively describing is “Onion-Skinning” – to convince multiple stages of an animation to appear on the screen all at once, so that the animator can assure various alignments, etc.

Blender’s built-in Onion-skinning is still rather primitive (last I checked).
Folks have been asking for YEARS for on-screen editable dynamic motion-curves… but there seems to be some insurmountable technical detail that is preventing this. (Or maybe just the hassle of deciding where in all the parented coordinate systems to evaluate and display the curves. It’s one thing to do the math, but quite another thing to make a user-friendly & intuitive way to interact with the system.)

Last I knew, there were several addons that provided better onion-skinning than that built into blender. The only one of which I have direct experience (several years out of date) is Mesh_Onion_Skin

Another avenue you might approach is via the python API. I cannot advise you in how to proceed here, but I know that it has much more detailed access to animation data, than is currently exposed in Geometry Nodes. Note that if you go this route, you will need to familiarize yourself with all the specific matrix-math that is going on in bone-hierarchies and blender’s internal data representations. Not an insurmountable task, but not really for casual consumption either.

I hope someone else will provide a more helpful answer. Good luck.

i think he meant animation nodes - not geometry nodes :wink:

I can’t help you with animation nodes, but tools exist for this kind of problem : motion paths (found in object properties), graph editor (manipulate transform values at any point in time, not just the current frame), onion skinning (currently built only for grease pencil, but there are addons to make it work with objects I believe).

Hello.

And thank you all so much for making me feel very much welcome on the board.
You guys helped me out so much.
Onion skinning is an excellent solution to my problem. And a way easier solution than expected.

I purchased and installed Onion Skin Tools from Blendermarket, which worked perfectly.

To clarify, I was really intending to do it with geometry nodes. I thought it would be easy to copy Blender’s parenting behaviour. The only bonus would have been to get real-time updates on hover. But now I get them on “click,” which is totally fine as well.

Special thanks go, of course, to @shannonz for the very detailed answer.
Thank you all so much.

N

1 Like