1
$\begingroup$

Im pretty new to blender rigging but I have a decent knowledge about rigging in 3ds max. Nevertheless, I cant find a propper solution for a simple problem: I want an object to follow a curve. I have added a "Follow Path" constraint to the object, works like expected. Then I want the path to be a child of a "master" empty so I can move the path with the animated object on the path BUT I also want this because I need to export the whole setup via fbx to a game engine and hierarchy is important.

Setup in Blender: Cube (mesh) is child of empty which holds the Follow Path Contraint. Empty itself is child of the the "master" empty and also the path is child of the master empty.

enter image description here setup in Blender

When I move the master empty (like here on the y-axis) the object shifts away from the path. enter image description here

As far as I understand this is because the empty with Follow Path contraint is already child of the path (by the constraint) which is child of the master empty and will get double transforms when its parented. When I change the hierarchy like this it will work: enter image description here

So the empty with the Follow Path contraint cant be "moved" by the contraint AND the parent? This means Im not able to "group" evertyhing in a clean hierarchy when exporting it. Is there any workaround or solution?

I also discoverd this problem when using "Child of" constraints. In this case I used a bone with bone contraint "Child of" instead of an empty and this worked fine, no doubled transforms. For the follow path contraint it didnt work.

Blender 3.6

$\endgroup$
1
  • 1
    $\begingroup$ If you need to parent to an empty, parent the curve to the empty, not the cube. Does the cube absolutely needs to be parented to something? $\endgroup$
    – moonboots
    Nov 7, 2023 at 21:39

1 Answer 1

0
$\begingroup$

ANIM's global position is defined by its position in the Local Space of the BezierCircle. That means ANIM will stay attached to the BezierCircle no matter how you rotate or translate the latter. The BezierCircle is a parent to the ANIM empty it a sense - only the Scale of the ANIM is independent, Rotation is partially controlled by the Follow Curve option.

This is sufficient to control the parented to the ANIM object - Cube - in the scene.

If The CTRL Empty is also parent to ANIM via Parenting relation or other constraint (like Child Of). The program now has to transform ANIM according to two Local Spaces, so the program executes two transformation operations in a sequence.

Unless that is the desired result you should avoid parenting an object to two or more parent objects.

If you can only export baked animations and Empties and you need a control object to be a parent to ANIM the correct procedure in your case is:

  1. Parent Cube to ANIM
  2. Constrain ANIM to follow the path of BezierCircle
  3. Parent the BezierCircle to the CTRL
  4. Animate the Cube
  5. Export your animation with the selected objects

In the import program you can parent ANIM to CTRL This way each object will transform respective to the Local Space of their respective parent.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .