ScriptSpot

Script

ProTrajectoryHandles

By Jonathan de Blok · 2014-03-21

Version
1.6
Version requirement
Fully supported in max 2012 and above
Date updated
2015-06-26
Votes
26
Download
Download
Description

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

Highlights:

    • 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


Notes:

    • 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"
Videos

Tags: Animation, viewport, Path, Trajectory, handles, trackview, awesome

Comments (31)

Awesome

pati · 2020-10-19

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

Ошибка

MyGalaxy · 2019-06-27

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

max 16

Gabiru · 2018-10-04

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

-

Jonathan de Blok · 2017-09-24

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.

Unknown property: "x" in undefined

triff · 2017-09-24

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

ProTrajectoryHandles update?

lol200004 · 2017-09-15

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.

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

asymptote · 2017-03-25

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

tia

-- 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 · 2015-10-16

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

Tangent Issues

Mike Truly · 2015-06-28

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.

i got one too !

gpaget · 2014-12-12

I needed such an add-on ! good ideas, simple (very important), you did it.
bought today so no real experience, i want to use it for my next prod and will really tell you about it later.
Anyway, thank you for the work and hope you will keep on improving PTH !
Is there a way to dock the menu ?

I love the velocity display.... :)

Gilles

nice tool

kw8820 · 2014-10-27

but it crashes so often can i ask know how? i'm using 2012

Feature request

GushingDizzy · 2014-06-17

Just bought it, and it works great! Would it be possible to add the ability to slide the keyframes, while keeping the points and curve as they are?

Feature request

Jonathan de Blok · 2014-06-19

Thx!

I'll look into that once I have some time to spare, sounds like a nice feature to have. Not sure if it is mathematically possible though but it might :)

yessssssss !

gpaget · 2014-12-12

+1 for the idea from YoYo !

Bugs fixed!

Jonathan de Blok · 2014-04-09

Fixed the "DestroyDialog" bug and a few others, the potential crash on delete has also been removed.

And when you have an object selected, or one of it's handles, the new "trackview" button will open a trackview that will only display the objects's XYZ tracks.

Up next: a way to visualize and adjust rotations in the viewport.

CAT bones

ghostpro278 · 2015-01-04

It's not working CAT bones :(

MXS error

lightcube · 2014-04-07

I've gotten this error when Pressing File > Reset.

-- Error occurred in PTHcleanup(); filename: C:\Users\Shawn\AppData\Local\Autodesk\3dsMax\2014 - 64bit\ENU\scripts\ProTrajectoryHandles\PTH.mse; position: 7029; line: 315
-- Defined in encrypted script
-- called in anonymous codeblock
-- Frame:
>> MAXScript Callback script Exception:
-- Type error: DestroyDialog requires RolloutClass, got: undefined <<

It happened twice but then not again. Not sure what the exact circumstances were...

MXS error

Jonathan de Blok · 2014-04-08

Thanks for reporting, has been fixed for next release.

It happens when PTH's UI has been closed before a reset is done. The reset triggers the cleanup function that tried to close it again without checking if the UI is actually still there.

Edge case bug warning:

Jonathan de Blok · 2014-04-07

Deleting a selection that has both the animated object and it's handles in it at the same time can cause a recursion meltdown in Max, I'm looking into that.

Workaround is to just select the animated object(s) and delete that, this will trigger a cleanup of the handles.

New update

Jonathan de Blok · 2014-04-06

Thx everyone for the support! I've just posted a mayor update with a lot of new features. The new UI posted above should explain most of them but I'll make a proper demo video tomorrow :)

Biggest change is that you can now manage the tangent-types (#custom, #auto, #linear, etc) directly from PTH.

btw, does the auto update notification work? It should run once week and you can check manually in the 'setup' dialog.

cool !

knoxville · 2014-04-06

Thanx for that stuff ! Got one !

Brilliant

rezoloot · 2014-03-24

Keep up the great work

Thx all.

Jonathan de Blok · 2014-03-24

Yep, it does support multiple objects just fine. I'm looking into CAT and biped support.

dori3d · 2014-03-23

Great tool.
Does it support multi obj's selections?

Cat

Gspoutnik · 2014-03-22

It would be great if it could work with cat!
Can you see if an adjustment would be possible with cat?
From the moment the Cat's layer is selected, curves are editable, so ...
The idea of ​​adding small buttons to select the tangents is a good idea.
thank you

jgk1981 · 2014-03-22

Is it also possible to work not only on max objects but on Biped and CAT too? Cause from what i see on CAT it seams that is working but not doing something and on Biped is not working at all cause it has different calculation type.

jgk1981 · 2014-03-22

Great tool! It's surely a must for every animator.
One thing it will be cool to have in too, is the smooth or linear options as buttons.

Excellent Job!

lightcube · 2014-03-22

This makes editing trajectories visually so much easier than the limited default trajectory keys functions. Great job!

I have one request: If the tangent handles are too close to a key (like at the key location), it is hard to select the keys. Perhaps the PTH floater could have three small checkbuttons that match the color of the components that turn on/off the display of the respective component. For example, if you only want to work with the tangents and not the key, uncheck the key checkbutton.

Kianny Philips · 2014-03-22

I do highly agree. This is a great improvements and very advantageous to users. - Lindsay Rosenwald

Galenward · 2014-03-22

As all these elements are been considered such as keys, handles etc, it becomes very easy to work with ProTrajectory Handles and also to handle the 3d animation shots.

fantastic

Gspoutnik · 2014-03-21

that it's the best upgrade of 3dsmax2015.🤐

I'm working on 100 shorts animations with sports gestures and you save my week. i buy it now. thank's