24 votes
Date Updated: 

ProTrajectoryHandles (PTH) creates in-viewport handles on trajectories. Now freeware!


    • Directly edit trajectories in the viewport including handles.
    • Easily translate or rotate (part of) a trajectory.
    • Alter time distribution without changing the trajectory itself. (see video)
    • Compatible with complex animated hierarchies such as rigs.
    • Supports both the default Position_XYZ controllers as well as those placed in Position_Lists
    • Optionally displays velocity using a color gradient on the trajectory
    • Optionally use object's wire color as trajectory
    • Optionally only create handles for selected keys.
    • PTH is bidirectionally synced with the trackview, changes made in one are reflected in the other.
Additional Info: 

New UI:

Velocity: Large ticks: Orientation:

v1.6 24/06/2015

  • removed: license, PTH is now freeware!
  • added: Integrated ProBezierAssist into PTH UI
  • fixed: A whole lot of issues and better handling of edge cases

v1.4 26/06/2014

  • added: Rotation visualization, Show node’s local axis on trajectory.
  • fixed: Edge case with zero strength handles fixed, now all handles start usable.
  • added: Hide on playback option, no performance drop on playback anymore.
  • fixed: Fixed various bugs including false update notifications.

v1.3 09/04/2014

  • fixed: MXS error on reset while dialog is closed
  • fixed: Potential crash when deleting both object and handles a the same time.
  • added: Trackview button that opens a relevant trackview for selected objects and/or handles.
  • added: Link to update page now goes to a proper update page instead of demo download.

v1.2 06/04/2014

  • added: respect and set different key types (#linear, #custom etc)
  • added: handle-lines of #auto keys are drawn in gray, will convert to #custom when transformed.
  • added: more control over velocity color, gradient: set low/high values and custom colors.
  • fixed: using radio buttons instead of check boxes for trajectory color options.
  • added: Give in/out handles different sizes when created close to each other, makes it easier to select with near 0-length handles.
  • added: in 'show velocity' mode handles and their lines are draw in a neutral color so velocity color is more clearly.
  • added:options for thicker frame markers instead of the default hard to see single pixel-dots now available in all modes.
  • added: clear all handlers on load/reset etc
  • fixed: some debug info was printed for certain events

V1.1 21/03/2014

  • Fixed a few issues with parenting
  • Fixed the 'close' button on the setting dialog
  • Fixed update link going to Prosequencer instead of PTH.

v1.0 21/03/2014 initial release


    • When a handle's influence in too weak, or too strong, you can simple scale it's influence. Set scale mode to 'strength' and just use the normal scale transform on a handle to adjust
    • When you start to add/delete extra keys PTH will remove itself, you can then use 'Re(build)' to created new handles when done.
    • Currently the yellow lines between the handles are only drawn in the active viewport.
    • When you're altering handles in the trackview make sure to enable the 'lock handles' button.
    • For easy selection and housekeeping all helper objects are created in layer called "ProTrajectory Handles"
Version Requirement: 
Fully supported in max 2012 and above
Video URL: 


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
pati's picture


this script is legend.
Autodesk has incorporated this function into 3ds max2018 in "motion path"

MyGalaxy's picture


The script does not work if the object name contains русские буквы.

Gabiru's picture

max 16

"You can find the macro in the 'JDBGraphics' category, where is it? cant find it, i need this script, thanks

Jonathan de Blok's picture


Looking at the error I think it's because there is a space in the object's name you're using PTH on. Try deleting all existing helpers manually (they are in a single layer) and restart PTH and try again.

I'll see if I can make a fix for it later.

triff's picture

Unknown property: "x" in undefined

I'm getting this too on 2017. Shame, because it looks bloody awesome.

Chief Pixel Bully |

lol200004's picture

ProTrajectoryHandles update?

Hello Jonathan de Blok. Are You planning to upgrade the great tool for the new versions of 3ds max?
The tool integrated into 3ds max 2018 looks worse, it also does not support the CAT system.

asymptote's picture

-- Unknown property: "x" in undefined <<

This looks like a great script but unfortunately I'm getting this error in Max when trying to move handles, any suggestions ?

Max 2016 SP4


-- Error occurred in hdl loop; filename: C:\Users\xxx\AppData\Local\Autodesk\3dsMax\2016 - 64bit\ENU\usermacros\JDBgraphics-ProTrajectoryHandles.mcr; position: 56107; line: 2078
-- Frame:
-- hdl: $PT_dummy movement_key1_main
-- TP: undefined
-- k: undefined
-- called in pth_updateHelperStructure(); filename: C:\Users\xxx\AppData\Local\Autodesk\3dsMax\2016 - 64bit\ENU\usermacros\JDBgraphics-ProTrajectoryHandles.mcr; position: 56299; line: 2089
-- Frame:
-- reb: false
-- hdl: $PT_dummy movement_key8_main
-- direct: true
-- byParent: false
-- inode: 3
-- ctrl: Controller:Position_XYZ
-- autohandles: false
-- timehash: 3273
-- called in pth_AutoUpdHelperStructure(); filename: C:\Users\xxx\AppData\Local\Autodesk\3dsMax\2016 - 64bit\ENU\usermacros\JDBgraphics-ProTrajectoryHandles.mcr; position: 49191; line: 1855
-- Frame:
-- inode: 3
-- called in ()
-- Frame:
>> MAXScript Change Handler Exception:
-- Unknown property: "x" in undefined <<

olston3d's picture

From Israel with love!

From Israel with love!
Thanks, Jonathan! This is a huge help for animators!

Mike Truly's picture

Tangent Issues

This is a great tool Jonathan!! Thank you.

But as a newb using it, I have a question.

1. Is there any way to make the UI appear in the same place each time it's opened? It is tiresome to have to reposition the dialog each time it's opened.

2. I basically made a simple teapot and animated it on a few frames moving across the screen and up and down. I then used PTH to adjust the key tangents. I did not do anything fancy and never adjusted the tangents independantly. So in other words, both the IN and the OUT always formed a straight line. Problem is, when I exit PTH and go examine the curves in Curve Editor, the keys are now Custom (which is fine) but the tangents are not straight, they are at differing angles to each other. Since I did NOT adjust the tangents independantly, shouldn't the resulting Custom tangents also be in a straight line?

Thanks again.


Mike Truly
Truly Media

ghostpro278's picture

CAT bones

It's not working CAT bones :(

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.