changing mask interpolation

Is there a way to change the mask path interpolation using hitfilm pro

Comments

  • Triem23Triem23 Moderator

    Nope. I think @CedricBonnier explained once how the underlying coding of mask paths is different. It's a different engine that happens to behave like linear keyframes. 

    This is a longstanding wishlist issue. Probably not a trivial change. 

  • It depends what you are talking about. You can change the shape of the mask (ie the interpolation of the path) by right clicking any point of the mask and setting it to curved. You will be able to control the curve between two mask points using Bezier handles.

    Regarding time interpolation, ie controlling how the shape of the mask changes over time, remember that you shouldn't add or remove any points when animating the curve. The number of mask points is the same for all keyframes. If you do add or delete a point, you will end up either having one point that isn't animated or a missing point for other keyframes, which is generally not what you want.

    At the moment, you cannot change the interpolation of the path property keyframes. The interpolation of path points is always linear. Is this what you are trying to change?

  • Triem23Triem23 Moderator

    @CedricBonnier I'm 95% certain Andersen is referring to temporal interpolation. He's been around for almost two years and he's aware of changing a mask path's shape. He's been involved with other discussion on how mask handles perform and is active in a thread with what seems to be a bug in animating a mask over text. :-)

  • I'd like to +1 non-linear temporal interpolation of the Mask Path points.

    Make them like all the other types of keyframe markers, so change the shape it is now from "Not Constant; just looks like it" to the Linear Diamond shape, add all the others and the Value Graph.

  • @Palacono what would you expect to see in the Value Graph? The value (X and Y) of the center of the mask? Surely not the value of every single point, it would be hardly readable past a few points...

  • edited January 16

    @CedricBonnier The center point might work in some cases, but I can think of situations where the mask center wouldn't change even though the shape changes; e.g. with a basic rectangle mask that's scaled around its center.  I know that HitFilm would need some value stored to establish a curve in the graph, even though the value itself isn't important.  Perhaps just use the frame number where the keyframe lies.  On frame 0 the value is 0, on frame 98 it's 98, etc.  That's a fairly easy way to guarantee a unique value for each time the path shape changes.

  • edited January 17

    @CedricBonnier Hmmm... you have a 'point'. 

    Maybe the Value Graph confuses things, let's set that aside for a minute.

    Well, the current keyframe 'shape' doesn't really represent the centre, does it? It represents a destination 'Path Point' for all the points, and they currently move from one PP to the next linearly.

    How about the ability to set the keyframe type for each PP, which would affect the type of motion style of all the points in the group within that PP for each keyframe?

    So yes, you could also use the Value Graph for that. You could maybe have a mask be constant for a while, then all the points smoothly morph, then remain constant again, then go linear etc. all as a group.

    If nothing else, it could take out some of the robotic looks that linear shape changes have when the Path keyframes are spaced out - because who wants to move lots of points about on every frame, especially given the current "one point at a time" system available?

    OK, you can CTRL-select multiple points (a drag box/lasso would be nice ;) ) but it "forgets" them too easily and you have to select them all again.

    Being able to Smooth movement of the whole group would be preferable to having to put in lots of extra Path keyframes, especially if you are rotoing something that doesn't happen to move linearly; like a person... or quite a lot else.

    That would be Stage 1. ;)

    Stage 2 would be being able to override individual mask points and have them move in a style that was independent of the rest of the group.

    So you select a point and the timeline and Value Graph changes (some colour diffs to indicate "not as before"?) into just that point is being manipulated.

    No more than one point type could be selected at a time for Value Graph (or spaghetti junction), but no reason why several couldn't be represented on the timeline (they'd all be in the same place), so Value Graph would close down if they were different types and remain locked (put a line through the text or something). (Actually, hold that thought....)

    You could then set maybe half of them to linear and half to smooth; whatever the mixture of those you were setting was originally, e.g. the selected group could have contained one of every keyframe type. So, once they are all the same type, no spaghetti would be seen in Value Graph, and it would become available again and you could manipulate the curves for a whole group of points of the, now, same type. The timeline representation for mixed points after you're done (i.e including those you did not select to manipulate) would have to be something unique, and meaning 'mixed', like a star, or a triangle and/or a different colour.

    While you're editing PP group positions on the timeline it would display as what they are - Smooth, Linear etc. - unless you've got a set of mixed types - some Linear, some Smooth - that you are possibly intending to change to, say, all Smooth; in which case they would show as 'Mixed' until the change, when they'd all change to what they become. Not hard to tell what you're doing that way. Wouldn't hurt for individual points to show what type they are on the mask itself (maybe a toggle if it looked messy the rest of the time), as well as the previous different colour suggestion for Beziers.

    That way: say you have a square. You set all 4 points to Constant. Then you select 2 and make them linear. Then at some later point you set the other 2 to linear. 2 points would move before the others, then the other 2 would race to catch up and they'd all end up in the same place.

    Stage 2 would be tricky.

    Stage 1: eminently doable. ;)

  • A good example is you don't want the interpolation to be constant when you are trying to do a handwriting effect, you want the mask to be smooth...

  •  @CedricBonnier don't know if you'd read my post above or not, but I've edited it to clarify some of 'Stage 2', even thought it's all just wishlist stuff. :)

  • I had in mind something like your stage 1 above. We need to improve the UX of masks at some point so I'll keep this thread bookmarked for when it next comes up.

Sign in to comment