Please read the Caveats and Limitations section before buying.
Provided under GNU General Public License
Support the Blender Developer Fund!
Most Recent 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:
- No support yet for NLA
- 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.
Hello everyone. For the past year, I’ve been working on making a 3D viewport editable motion trail for Blender 2.8x.
MotionTrail3D allows you to author arcs in 3D world space. The 3D-controls are normal Blender objects. They’re selectable and transformable 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 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 → (N) Tools Panel → Animation → Motion Trail 3D Panel
If you have any questions, comments, or feedback, you can email me at [email protected], reply here or PM me.
Note: I’ll be adding media and more information to this post throughout the next few weeks. I still need to create proper documentation and tutorials. Thank you for your patience and understanding.
General Use
The addon supports both object and pose bone animation. It uses the timeline preview range to determine which part of the animation to show. You can undo/redo and even edit the trail while the animation is playing. This is based on your PC, the animation itself, the rig, and the rendering fps. At 24fps seems ideal for editing while the animation is playing and only works as long the the target FPS is hit.
Making changes directly in the Graph Editor is synced with the viewport trail too.
Creating and deleting keys should be done through normal Blender means.
The trail renders using each key’s interpolation type (Const, Linear, Bezier).
Trail controls are implemented as normal Blender Empty Objects. You can select and transform them through normal Blender means. Select multiple controls then freely translate, rotate and scale the controls.
Handle Types
Based on each handle’s type, the behavior of the trail control changes. Handles of type Auto, Auto Clamped and Vector (linear) are automatically handled by Blender. The trail controls will snap back to their original position if you attempt to edit them.
(Auto) (Vector)
For Aligned handles, moving the Co control will move the handles with them. Moving either handle will preserve the alignment by modifying the paired handle if its also set to Aligned.
For Free handles, they will not move along with the Co control.
Retime keys by using the time controls. Dragging them screen left time offsets them to earlier in the animation, similarly for dragging screen right.
Below, notice the property of retiming Free handles and Aligned handles. Retiming free handles preserves the world-space curve. Retiming aligned handles preserves the world-space speed through the key.
There’s also tracking points!
Rotation controls! Track the orientation by creating 3 tracking points for the XYZ axes. Only Euler and Quaternion rotation modes are supported. Scaling the Quaternion controls will affect the interpolation through the key. Note: The rotation controls double as their own time controls. Dragging them screen left/right retimes them.
There are also different rotation write modes for better rotation compatibility control.
These options prevent the written rotation from passing 180 degrees from the specified target. Extended allows you to rotate past 180 and isn’t relative to any particular key or handle. Timeline Frame will sample the rotation curves at the current frame for the 180 degree limit.
.
Relative parenting. You can choose which object or bone to view the trail relative to. Use this for camera-space editing!
And last but not least, you can view the effect of FCurve modifiers. The addon samples the curve for the rendered points. Any modifier’s effect can been seen.
Frequently Asked Questions:
Can’t View Controls?
In the View3D Viewport Overlays menu, make sure Extras is checked.
Can select but can’t move controls?
Change the affected key’s interpolation type to Bezier and handle types to either Free or Aligned.
Based on each handle’s type, the behavior of the trail control changes. Handles of type Auto, Auto Clamped and Vector (linear) are automatically handled by Blender. The trail controls will snap back to their original position if you attempt to edit them.
Can select and move the controls but the trail doesn’t update?
Make sure you’re using Blender 2.81. This happens with Blender 2.80.
Can’t select the controls?
Make sure the mode isn’t locked and then make sure you’re in Object Mode.
Controls are implemented as Blender objects.
How to install:
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 → Tool → Motion Trail 3D
Thank you for reading this far. Let me know what you think! If you have any questions, comments, or feedback, you can email me at [email protected], reply here or PM me.