Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Can I scale uniformly using the keyframe editor?

Hello,


I am new to motion (but experienced using graphics applications like Nuke, Shake, Maya etc.)


I am trying to animate the scale of an object uniformly over time (aka, have x and y be locked to each other. z can come along as well if it wants, but I am limiting myself to 2D for the moment).


I know I can marquee select a keyframe and drag the bezier handles around together, but somehow I have managed to get them out of sync with each other. If I manually set keyframes I can do it by typing in values in the overall scale parameter, but once the values are out of sync, it seems to adjust each individual channel (x,y,z) proportionally instead of snapping them all to a specific value (which is actually a pretty cool feature that I am sure I will want at some point, but just not at the moment).


So here is my question:


1) Do I have to manually set each scale value individually to get them to match up on each keyframe?

2) Is there a way to get the individual bezier handles to re-align?

3) Ideally, I would be able to keyframe a simple "scale" parameter instead of having to mess with individual x,y, and z parameters. Is that possible?

4) If there is nothing like that built in, is the only option to link them together using the link behavior? <- even when I do that, the individual scale channels still appear to be not in sync when I look at the curve editor (though the values seem to be linked when looked at in the properties panel).

5) Finally, is it possible to hide any of the channels from the curve editor by default? Ideally, if I can't do a master scale curve I would somehow link all three curves to the x value and then not have to keep manually hiding y and z every time I click on the object.


Thanks for any and all help.

Posted on Jul 13, 2013 9:02 AM

Reply
Question marked as Best reply

Posted on Jul 13, 2013 3:08 PM

Let's kickstart your Motion education πŸ˜‰


delete all your keyframes (go ahead... do it.) You can simply select your object, go into the keyframe editor, select Animated from the dropdown at the top left; select all (command - A) and type Delete.


Right-click on the Scale Y parameter of your object and Add Parameter Behavior > Link.


In the Behavior inspector (it will automatically "go there" when you add it) - Add the object being scaled into the Source Object well. Click on Soure Parameter > Compatible Parameters > Transform > Scale > X.


Now, any change to the X parameter is immediately "followed" by the Y parameter... you only need to change X (Motion won't even let you change Y while the Link behavior is active - if you need to offset Y, you can turn off the behavior, reset Y to a new value, then turn the Link behavior back on... Or, there are Scale and #Offset parameters within the Link behavior for you to customize the relationship of this particular parameter to its source.)


Then, right-click on the Scale X parameter and Add Parameter Behavior > Rate (or Ramp... play with Oscillate too, that will be fun πŸ˜‰* ) Set a constant rate value. The value you enter in *this* behavior will change the scale by that % per second. You are free to go as far beyond 100% as you need. [*to get a more "linear" animation, change the Shape to Triangle in Oscillate.]


If you need the animation to stop before the end of the play range, set the playhead where you want the animation to stop; right-click on the Scale X parameter again and Add Parameter Behavior > Stop.





To answer your questions:



1) Do I have to manually set each scale value individually to get them to match up on each keyframe?


No. You can set your initial keyframes at any playhead position. Moving the playhead to another time, then changing the value of the parameters you initially keyframes will automatically set new keyframes at that playhead position. So, you could dial down the Scale parameter (click the disclosure triangle), Set initial keyframes for X and Y only, then use the Scale (parent) slider to make "uniform" adjustments to both X and Y simultaneously. [the inference is correct: you can keyframe anything in any order in time, and often it is convenient to keyframe backwards, or from the "outside - in".]


β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”

2) Is there a way to get the individual bezier handles to re-align?


If the alignment you're talking about is absolutely horizontal or vertical? Then hold down the shift key to move the control point. It will snap at: 1) 0Β° [vertical]; 2) 90Β° [horizontal], or 3) the "other angle" it had been moved to [to constrain the "angle" of the edit you were making]


β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”

3) Ideally, I would be able to keyframe a simple "scale" parameter instead of having to mess with individual x,y, and z parameters. Is that possible?


Yes. Set the initial keyframe on the yellow diamond to the right of Scale (there will also be little diamonds across from X, Y, and Z, individually.) Same goes for other "compound" Transforms like Position, Rotation, Shear, Anchor Point, and various other parameters that are grouped throughout.


β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”

4) If there is nothing like that built in, is the only option to link them together using the link behavior? <- even when I do that, the individual scale channels still appear to be not in sync when I look at the curve editor (though the values seem to be linked when looked at in the properties panel).


Parameter behaviors can't be edited in the keyframes editor unless you select the object (or one of its behaviors) and go to the Object menu and select Convert to Keyframes (or type command-K)


β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”

5) Finally, is it possible to hide any of the channels from the curve editor by default? Ideally, if I can't do a master scale curve I would somehow link all three curves to the x value and then not have to keep manually hiding y and z every time I click on the object.


Just uncheck the parameters you don't want in your way when you edit a curve. Holding down the option key and clicking the parameter you want to edit will turn off all the others at once. Holding down the option key and clicking on the same parameter again will turn them all back on again.



Thanks for any and all help.


That's what we're here for!

2 replies
Question marked as Best reply

Jul 13, 2013 3:08 PM in response to Bernhard VonZastrow1

Let's kickstart your Motion education πŸ˜‰


delete all your keyframes (go ahead... do it.) You can simply select your object, go into the keyframe editor, select Animated from the dropdown at the top left; select all (command - A) and type Delete.


Right-click on the Scale Y parameter of your object and Add Parameter Behavior > Link.


In the Behavior inspector (it will automatically "go there" when you add it) - Add the object being scaled into the Source Object well. Click on Soure Parameter > Compatible Parameters > Transform > Scale > X.


Now, any change to the X parameter is immediately "followed" by the Y parameter... you only need to change X (Motion won't even let you change Y while the Link behavior is active - if you need to offset Y, you can turn off the behavior, reset Y to a new value, then turn the Link behavior back on... Or, there are Scale and #Offset parameters within the Link behavior for you to customize the relationship of this particular parameter to its source.)


Then, right-click on the Scale X parameter and Add Parameter Behavior > Rate (or Ramp... play with Oscillate too, that will be fun πŸ˜‰* ) Set a constant rate value. The value you enter in *this* behavior will change the scale by that % per second. You are free to go as far beyond 100% as you need. [*to get a more "linear" animation, change the Shape to Triangle in Oscillate.]


If you need the animation to stop before the end of the play range, set the playhead where you want the animation to stop; right-click on the Scale X parameter again and Add Parameter Behavior > Stop.





To answer your questions:



1) Do I have to manually set each scale value individually to get them to match up on each keyframe?


No. You can set your initial keyframes at any playhead position. Moving the playhead to another time, then changing the value of the parameters you initially keyframes will automatically set new keyframes at that playhead position. So, you could dial down the Scale parameter (click the disclosure triangle), Set initial keyframes for X and Y only, then use the Scale (parent) slider to make "uniform" adjustments to both X and Y simultaneously. [the inference is correct: you can keyframe anything in any order in time, and often it is convenient to keyframe backwards, or from the "outside - in".]


β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”

2) Is there a way to get the individual bezier handles to re-align?


If the alignment you're talking about is absolutely horizontal or vertical? Then hold down the shift key to move the control point. It will snap at: 1) 0Β° [vertical]; 2) 90Β° [horizontal], or 3) the "other angle" it had been moved to [to constrain the "angle" of the edit you were making]


β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”

3) Ideally, I would be able to keyframe a simple "scale" parameter instead of having to mess with individual x,y, and z parameters. Is that possible?


Yes. Set the initial keyframe on the yellow diamond to the right of Scale (there will also be little diamonds across from X, Y, and Z, individually.) Same goes for other "compound" Transforms like Position, Rotation, Shear, Anchor Point, and various other parameters that are grouped throughout.


β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”

4) If there is nothing like that built in, is the only option to link them together using the link behavior? <- even when I do that, the individual scale channels still appear to be not in sync when I look at the curve editor (though the values seem to be linked when looked at in the properties panel).


Parameter behaviors can't be edited in the keyframes editor unless you select the object (or one of its behaviors) and go to the Object menu and select Convert to Keyframes (or type command-K)


β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”

5) Finally, is it possible to hide any of the channels from the curve editor by default? Ideally, if I can't do a master scale curve I would somehow link all three curves to the x value and then not have to keep manually hiding y and z every time I click on the object.


Just uncheck the parameters you don't want in your way when you edit a curve. Holding down the option key and clicking the parameter you want to edit will turn off all the others at once. Holding down the option key and clicking on the same parameter again will turn them all back on again.



Thanks for any and all help.


That's what we're here for!

Jul 16, 2013 12:30 AM in response to fox_m

fox_m


Thank you SO MUCH for taking the time to write such a long and useful set of instructions. Sorry for the delay in getting back to you (work - sigh).


I am hoping to get back on this project later this week and will take the time to run through the steps then. I haven't had the time to test these out but I just didn't want to wait any longer before thanking you.


No doubt I will have plenty more questions, but for the time being this gives me something to chew on.


Thanks again.

Can I scale uniformly using the keyframe editor?

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.