Motiontrail3d

by Wayde Moss in Scripts and Addons

For more info, check out https://blenderartists.org/t/addon-editable-motion-trails-3d/1197906

Update: 10/07/20: Optimization

  • optimization: There's not much to specifically say without adding statistics. Generally, performance has been significantly improved for trail activation and runtime. There are still some potential areas for performance improvement. Let me know if you're having performance issues so I can pinpoint where I need to optimize next time.
  • bugfix: Zooming in or going into camera view should no longer throw an error when trail text is rendered. This bug only existed in the prior version from August.
  • bugfix: Using Path To Mesh should no longer silent error (shown in System Console) and should work again.

Known Bugs:

  • If a bone has disabled "Use Local Location", then trail won't work correctly.
  • If a bone has disabled "Inherit Rotation", then the trail won't work correctly.


Caveats and Limitations:

  • For efficiency, only changes to the local channels of the trail target is seen in real time. Changes to a trail target's parent hierarchy or constraint dependencies will not be seen. You'll have to refresh the trail to view such changes. Exception: By creating multiple trails of a bone hierarchy, you can mark other trails as a hierarchy dependency so it updates with the parent.
  • You should never delete any trail control. This is undefined behavior. You can create and delete keys through normal blender means. The exception is if you saved your file while the trail was active. On reloading the file, you can safely delete the persisted trail controls. For convenience, R-Click the collection its in and Delete Hierarchy.
  • Depending on your PC, you may not be able to transform the controls while the animation is playing, especially at 60fps. This is due to Blender not calling update when the target FPS is not hit.
  • Do no animate the controls. The addon automatically deletes animation on controls to prevent undefined behavior. You do not have to turn off Auto Keying. The performance hit for leaving it on should be minimal.
  • Although controls are Blender objects, they are pooled and reused. Treat them as volatile. Animating, constraining, and reparenting them is undefined behavior.
  • I mentioned that when handles are FREE and you retime them, the curve is preserved. This works as long as the time of handles do not pass adjacent handles or keys. If you do, Blender modifies the curve to prevent cases where, at a single frame, there are multiple curve values. Basically, blender doesn't allow you to create loop-de-loops. In terms of retiming, the curve-preservation property is lost.
  • Be careful to not select time controls when trying to transform the curve as a whole. The addon will treat this as if you're attempting to retime. It's convenient to disable time controls in this case.
  • Dense keys lead to a problem of clutter. The current solution is to turn on selection sync to sync key and handle selection between the graph editor and motion trail controls. You can also hide specific Co, handle and time controls separately and individually. If anyone has better ideas, I'm open to suggestions.


MotionTrail3D allows you to author arcs in 3D world space. The 3D-controls are implemented as normal Blender objects. They're selectable and transformable through normal Blender means. Keys can also be added and deleted through normal Blender means. As you modify the local channels, the 3D trail will also update in real time, even if the animation is playing.

To install the script, first unzip the folder. In Blender, Go to File > User Preferences , select Add-on Tab, then press Install Add-on and then select the appropriate python(.py) addon file. Enable it by selecting the checkbox. To enable it as default, press Save As Default. To create a trail, the button can be found in: 3D View -> UI Panel -> Animation-> Motion Trail 3D


If you have any questions, comments, or feedback, you can email me at [email protected]