dwkns

Q: Turn keyframe animation into a behaviour.

I'm creating a animation which has a number of panels (with text and graphics) that appear on the screen. To make them appear in a more interesting way I have keyframe animated a panel so it starts with an X and Y size of 0% (invisible). It then quickly animates to 110% and then bounces back to 100%.

 

The effect is that the panel appears to bounce onto the screen. This works as I'd hope however I have lots of these panels. Is there a way to create a behaviour from my keyframed animation that I can apply to any object.

 

Is there a better way to achieve what I'm trying to?

 

thanks

 

-darrell

 

Motion 5

Motion 5, OS X El Capitan (10.11.5)

Posted on May 25, 2016 4:33 AM

Close

Q: Turn keyframe animation into a behaviour.

  • All replies
  • Helpful answers

  • by Karsten Schlüter,

    Karsten Schlüter Karsten Schlüter May 25, 2016 7:46 AM in response to dwkns
    Level 7 (32,668 points)
    Video
    May 25, 2016 7:46 AM in response to dwkns

    Motion5's UI has a feature, rarely seen in any tutorials, but saves hours of lifetime.

    Tried to make a screenshot.... didn't come out well...

     

     

    Bildschirmfoto 2016-05-25 um 16.33.41.png

     

    the square has a keyframed animation.

    then, Inspector/Properties…,  I grab into the title-bar of Transform and pull it over the circle in the layer list...

     

    (when you look closely you notice the ghost of the Transform panel) ....

     

    this copies any Transform settings from object A to object B - INCLUDING keyframes!

    ... isn't that nice?

     

    Unfortunately, I forgot who told me this trick, I guess from his endless quiver of tricks,  board-member fox_m ....

     

    and to answer your question: btmk, you can not add custom made behaviours ....

  • by GFXZen,

    GFXZen GFXZen May 25, 2016 9:54 AM in response to Karsten Schlüter
    Level 4 (1,647 points)
    Video
    May 25, 2016 9:54 AM in response to Karsten Schlüter

    Kirsten's trick is one of my favorites to use to "copy" animation from one element to another in a project. You can do it with groups, like the Transforms or with individual channels, like X,Y,Z,Red,Green,Blue, etc.

     

    You can't convert keyframes into behaviors, usually it goes the other way, In this case you could copy your keyframes into a behavior to be saved for use in other projects.  Try the Custom behavior (Parameter behaviors).  Apply it to your element, add the parameters you need (scale).  This will be keyframable, create your animation of the parameter as you normally would. A few notes:

     

    • You may need to deal with offsets.  For example, if I have a layer that is 100% scale and you want to start it at 0, your first value will be -100
    • I like to name mine so I know that they are custom behaviors: example Custom-Pop 3 second. These can then be dragged to your Library for use in future projects
    • The behavior should run the entire length of the layer, if you trim it shorter, it will pop to the layers original parameter value at the end of the behavior.
    • Adjusting the length of the behavior will scale your keyframes. If you need to trim the length without scaling the keyframes in time, hold the command key while adjusting.

     

    Cheers!

  • by fox_m,

    fox_m fox_m May 25, 2016 2:53 PM in response to dwkns
    Level 5 (5,507 points)
    Video
    May 25, 2016 2:53 PM in response to dwkns

    This is precisely the function of the Custom Parameter Behavior. Unfortunately, if you're going to use it, then you have to build the animation from scratch in the behavior - you can't copy/paste keyframes from other objects into it. Planning ahead saves time. Use your original keyframed object as a guide for setting up a Custom behavior, then clear the keyframes on that original object and apply the Custom.

     

    You can add as many parameters you want to control in the Custom Behavior (it will only let you add those parameters that are available to the object you attach it to), so if you need Position, Rotation, Scale, Opacity, etc. etc. in a single behavior, it's easy to build. Once you've added the parameters you want, keyframe them like you want the object to behave. [Set the original parameters to a specific starting point or 0,0,0; 0,0,0; 100% scale, etc. and create the behavior keyframes from there. ALL parameters used in the Custom Behavior are Additive. (Think about that for a minute - means subtraction too if values are negative.) That means, no matter what the original starting point for a parameter under custom control, you can alter the original parameter and the behavior is applied to the offset!! You can add custom behaviors to be used "on top" of link behaviors. It can all get extremely sophisticated. It also means you can publish the main parameters (like Position, Rotation, etc.) and still have the custom animation applied (and have it all work in FCPX, which you CANNOT do if you keyframe those original parameters and try publishing them - it's a waste of time.) One more thing: if you right click on the Custom name/label in the Behaviors inspector, you will see you are able to Publish the parameter. In the Published parameters list you will see Custom √ — double click on Custom and name it something like Default Animation and allow the user to turn it on or off - if published with the original object parameters, then the animation is offset from whatever else the user keyframes... it can be "wicked cool".

     

    Once you've keyframed the Custom behavior, option drag and drop it on other objects. You can directly drag the custom behavior into your Library > Favorites (Rename it to something meaningful!) and apply it to other objects in other projects down the line. You have to make sure that the In and Out points match the life of your object — The timing of the custom behavior will be expanded or contracted (scaled) based on that object's life (which is nice actually) so you can speed up or slow down the animations just by setting the timing of the object. (If you don't match Ins/Outs, the behavior is literally "unplugged" and the object reverts immediately back to its original parameter settings.)

     

    Most of the time when you want to add a behavior to an object's parameter, you right click on that parameter and choose Add Parameter Behavior > choice. You can't do that with the Custom behavior, you have to find it in Behaviors > Parameter > Custom (either in the library or from the parameter icon under the canvas.)

     

    Another really sick thing you can do with Custom is add ITS parameters to a Popup menu rig and Enable or Disable Animation for a snapshot. You can add specific parameters multiple times - example - add three Position parameters with 3 different animations and create a menu to choose WHICH animation you want to use by setting the Enable/Disable Animation option (right click on the parameter in the Rig).

     

    HTH