5
$\begingroup$

Once you have an animated object using typical key-framing (other methods such as physics, driver or NLA apply too).

It could be useful to apply the motion to a path:

  • to adjust the evaluation time
  • edit curve points points may be easier
  • have many objects move along the same path.
  • ability to follow the path.

Is there a way to do this?


Note that rotation and scale won't be taken into account.

$\endgroup$
6
$\begingroup$

Would the BTracer Addon work for you?

It creates a bezier curve object from any animation by tracing an object, mesh vertex or particle motion path through the scene space for every frame.

Have in mind that it doesn't convert the animation for you it only traces and creates a curve object from it. You may then manually rebuild your animation to use this path, although some transformations may be lost or not translate completely as expected, like rotations.

EDIT

Select your animated object, and in 3D View > Tool Shelf > Misc Tab > BTrace Panel you will find all the settings you need.

  1. Choose the Mesh Follow option
  2. Expand the Settings button
  3. Choose Object option to trace the object center.
  4. You can also set the step size so there is less than a vertex per frame, although it probably comes at the cost of accuracy
  5. Press the Curve Settings button bellow
  6. Choose the desired Bezier curve interpolation (you can change here the type of handle from vector to aligned or auto)

In the end if there are too may vertex maybe you can clean up a bit with the Simplify Curves addon (in Blender by default), though again probably at the cost of accuracy.

Now I am not much into animation so I am not sure how this may go, maybe someone else more experienced as a better workflow but:

  • You can then either clear the animation of your object and parent it to the curve and use the Properties Window > Object Data > Path Animation for the curve object;
  • Or clear the animation of your object and use a Properties Window > Constraints > Relationship > Follow Path and pick your curve.

Not sure which one is best.

$\endgroup$
  • $\begingroup$ The BTrace addon from the link above crashes for me on 2.77. A quick look at the code and it creates a curve path from the objects location for each frame, rather than using the objects matrix_world.to_translation() hence it doesn't give a reliable path for physics or constraint driven animation. Try with a simple rigid body gravity fall. $\endgroup$ – batFINGER May 18 '16 at 6:43
  • $\begingroup$ Just did a quick test and it didn't crash for me in 2.77, but yes, it does seem to work around the blender animation data, only reading directly world transformations every frame, not really extracted from animation data itself, so it may not be as precise as required.. $\endgroup$ – Duarte Farrajota Ramos May 18 '16 at 13:11
  • $\begingroup$ Note that if BTraces is a solution, could be good to give steps to use this for moving keyframe to object-path animation. $\endgroup$ – ideasman42 May 18 '16 at 17:09
  • $\begingroup$ I tried to use the addon and managed to get it to create a curve that followed a meshes vertices, but not the object center. However it added a single point per keyframe, used vector handles (not nice for editing). So while it seems similar but not really usable to convert a keyframe animation to a path animation. $\endgroup$ – ideasman42 May 18 '16 at 17:09
  • $\begingroup$ You can track object centers too and set your preferred bezier handle type. Added further info to my answer, check above. I am not fluent in animation, so not sure if the method above is the "correct" way to do the animation part though. $\endgroup$ – Duarte Farrajota Ramos May 18 '16 at 17:39
1
$\begingroup$

I was wondering the internet and just found out about this. Never used it myself, and I am not sure it still works on current versions of Blender, but have you ever heard of Motion Trail Addon?

It seems to provide what you are looking for, a direct way to control an existing animation straight from the 3D viewport. It doesn't seem to interpolate every single frame into a point on the bezier curve, instead providing a bezier curve with handles only on keyframes

Demo Video Wiki page and Official Website

Motion Trail Addon

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.