.. _bpy.types.Action: .. _bpy.ops.action: ******* Actions ******* When animating objects and properties in Blender, Actions record and contain the data. As everything else in Blender, Actions are data-blocks. .. figure:: /images/animation_actions_data3.png Actions. So when you animate an object by changing its location with keyframes, the animation is saved to the Action. Each property has a channel which it is recorded to, for example, Cube.location.x is recorded to Channel X Location. The *X location* and *Y location* properties can be shared across multiple objects, if all objects have *X location* and *Y location* properties beneath them. .. figure:: /images/animation_actions_keyframes.png Graph Editor. Each channel has an F-curve represented by the lines between the keyframes. Actions Record and contain animation data. Groups Are groups of channels. Channels Record properties. F-Curves :doc:`F-Curves ` are used to interpolate the difference between the keyframes. Keyframes :doc:`Keyframes ` are used to set the values of properties bound to a point in time. .. The hierarchy is created with the RNA data paths, Working with Actions ==================== .. figure:: /images/animation_actions_create.png :align: right The Action data-block menu. When you first animate an object by adding keyframes, Blender creates an *Action* to record the data. *Actions* can be managed with the *Action data-block menu* in the Dope Sheet :doc:`Action Editor ` header, or the Sidebar region of the :doc:`NLA Editor `. If you are making multiple actions for the same object, press the shield button for each action. This will give the actions a *Fake User* and will make Blender save the unlinked actions. Objects can only use one *Action* at a time for editing. The :doc:`NLA Editor ` is used to blend multiple actions together. .. _bpy.ops.nla.bake: Bake Action =========== .. admonition:: Reference :class: refbox :Editor: 3D View :Mode: Object and Pose Modes :Menu: :menuselection:`Object/Pose --> Animation --> Bake Action...` The *Bake Action* tool will apply interpolated frames into individual keyframes. This can be useful for adding deviation to a cyclic action like a :term:`walk cycle`. This can also useful for keyframe animations created from drivers or constraints.