|
@@ -6,47 +6,46 @@ Cutout animation
|
|
|
What is it?
|
|
|
~~~~~~~~~~~
|
|
|
|
|
|
-Cut-out is a technique of animating in 2D where pieces of paper (or
|
|
|
-similar material) are cut in special shapes and laid one over the other.
|
|
|
-The papers are animated and photographed, frame by frame using a stop
|
|
|
-motion technique (more info
|
|
|
-`here <https://en.wikipedia.org/wiki/Cutout_animation>`__).
|
|
|
-
|
|
|
-With the advent of the digital age, this technique became possible using
|
|
|
-computers, which resulted in an increased amount of animation TV shows
|
|
|
-using digital Cut-out. Notable examples are `South
|
|
|
-Park <https://en.wikipedia.org/wiki/South_Park>`__ or `Jake and the Never
|
|
|
-Land
|
|
|
-Pirates <https://en.wikipedia.org/wiki/Jake_and_the_Never_Land_Pirates>`__
|
|
|
-.
|
|
|
+Traditionally, `cutout animation <https://en.wikipedia.org/wiki/Cutout_animation>`__
|
|
|
+is a type of `stop motion animation <https://en.wikipedia.org/wiki/Stop_motion>`__
|
|
|
+in which pieces of paper (or other thin material) are cut into special shapes
|
|
|
+and arranged in two-dimensional representations of characters and objects.
|
|
|
+Characters' bodies are usually made out of several pieces. The pieces are
|
|
|
+arranged and photographed once for each frame of the film. The animator moves
|
|
|
+and rotates the parts in small increments between each shot to create the
|
|
|
+illusion of movement when the images are played back quickly in sequence.
|
|
|
+
|
|
|
+Simulations of cutout animation can now be created using software as seen in
|
|
|
+`South Park <https://en.wikipedia.org/wiki/South_Park>`__ and `Jake and the Never
|
|
|
+Land Pirates <https://en.wikipedia.org/wiki/Jake_and_the_Never_Land_Pirates>`__.
|
|
|
|
|
|
In video games, this technique has also become popular. Examples of
|
|
|
-this are `Paper
|
|
|
-Mario <https://en.wikipedia.org/wiki/Super_Paper_Mario>`__ or `Rayman
|
|
|
-Origins <https://en.wikipedia.org/wiki/Rayman_Origins>`__ .
|
|
|
+this are `Paper Mario <https://en.wikipedia.org/wiki/Super_Paper_Mario>`__ or
|
|
|
+`Rayman Origins <https://en.wikipedia.org/wiki/Rayman_Origins>`__ .
|
|
|
|
|
|
-Cutout in Godot
|
|
|
-~~~~~~~~~~~~~~~
|
|
|
+Cutout animation in Godot
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
-Godot provides a few tools for working with these kind of assets, but
|
|
|
-its overall design makes it ideal for the workflow. The reason is that,
|
|
|
-unlike other tools meant for this, Godot has the following advantages:
|
|
|
+Godot provides tools for working with cutout rigs, and is ideal for the workflow:
|
|
|
|
|
|
- **The animation system is fully integrated with the engine**: This
|
|
|
- means, animations can control much more than just motion of objects,
|
|
|
- such as textures, sprite sizes, pivots, opacity, color modulation,
|
|
|
- etc. Everything can be animated and blended.
|
|
|
-- **Mix with Traditional**: AnimatedSprite allows traditional animation
|
|
|
- to be mixed, useful for complex objects, such as shape of hands
|
|
|
- and foot, changing facial expression, etc.
|
|
|
-- **Custom Shaped Elements**: Can be created with
|
|
|
+ means animations can control much more than just motion of objects. Textures,
|
|
|
+ sprite sizes, pivots, opacity, color modulation, and more, can all be animated
|
|
|
+ and blended.
|
|
|
+- **Combine animation styles**: AnimatedSprite allows traditional cel animation
|
|
|
+ to be used alongside cutout animation. In cel animation different animation
|
|
|
+ frames use entirely different drawings rather than the same pieces positioned
|
|
|
+ differently. In an otherwise cutout-based animation, cel animation can be used
|
|
|
+ selectively for complex parts such as hands, feet, changing facial expressions,
|
|
|
+ etc.
|
|
|
+- **Custom Shaped Elements**: Custom shapes can be created with
|
|
|
:ref:`Polygon2D <class_Polygon2D>`
|
|
|
- allowing the mixing of UV animation, deformations, etc.
|
|
|
-- **Particle Systems**: Can also be mixed with the traditional
|
|
|
- animation hierarchy, useful for magic effects, jetpacks, etc.
|
|
|
+ allowing UV animation, deformations, etc.
|
|
|
+- **Particle Systems**: A cutout animation rig can be combined with particle
|
|
|
+ systems. This can useful for magic effects, jetpacks, etc.
|
|
|
- **Custom Colliders**: Set colliders and influence areas in different
|
|
|
- parts of the skeletons, great for bosses, fighting games, etc.
|
|
|
-- **Animation Tree**: Allows complex combinations and blendings of
|
|
|
+ parts of the skeletons, great for bosses and fighting games.
|
|
|
+- **Animation Tree**: Allows complex combinations and blending between
|
|
|
several animations, the same way it works in 3D.
|
|
|
|
|
|
And much more!
|
|
@@ -69,14 +68,14 @@ Create an empty Node2D as root of the scene, we will work under it:
|
|
|
|
|
|
.. image:: img/tuto_cutout1.png
|
|
|
|
|
|
-OK, the first node of the model that we will create will be the hip.
|
|
|
+The first node of the model is the hip.
|
|
|
Generally, both in 2D and 3D, the hip is the root of the skeleton. This
|
|
|
makes it easier to animate:
|
|
|
|
|
|
.. image:: img/tuto_cutout2.png
|
|
|
|
|
|
Next will be the torso. The torso needs to be a child of the hip, so
|
|
|
-create a child sprite and load the torso, later accommodate it properly:
|
|
|
+create a child sprite and load the torso texture, later accommodate it properly:
|
|
|
|
|
|
.. image:: img/tuto_cutout3.png
|
|
|
|
|
@@ -86,11 +85,9 @@ and dragging with the left mouse button. To exit rotate mode hit ``ESC``.
|
|
|
|
|
|
.. image:: img/tutovec_torso1.gif
|
|
|
|
|
|
-Ouch, that doesn't look good! The rotation pivot is wrong, this means
|
|
|
-it needs to be adjusted.
|
|
|
+The rotation pivot is wrong and needs to be adjusted.
|
|
|
|
|
|
-This small little cross in the middle of the
|
|
|
-:ref:`Sprite <class_Sprite>` is
|
|
|
+This small cross in the middle of the :ref:`Sprite <class_Sprite>` is
|
|
|
the rotation pivot:
|
|
|
|
|
|
.. image:: img/tuto_cutout4.png
|
|
@@ -103,52 +100,52 @@ Sprite:
|
|
|
|
|
|
.. image:: img/tuto_cutout5.png
|
|
|
|
|
|
-However, there is a way to do it more *visually*. While hovering over the
|
|
|
-desired pivot point, simply press the "v" key to move the pivot there for the
|
|
|
-selected Sprite. Alternately, there is a tool in the tool bar that has a
|
|
|
+The pivot can also be adjusted *visually*. While hovering over the
|
|
|
+desired pivot point, press the "v" key to move the pivot there for the
|
|
|
+selected Sprite. There is also a tool in the tool bar that has a
|
|
|
similar function.
|
|
|
|
|
|
.. image:: img/tutovec_torso2.gif
|
|
|
|
|
|
-Now it looks good! Let's continue adding body pieces, starting by the
|
|
|
-right arm. Make sure to put the sprites in hierarchy, so their rotations
|
|
|
-and translations are relative to the parent:
|
|
|
+Continue adding body pieces, starting with the
|
|
|
+right arm. Make sure to put each sprite in its correct place in the hierarchy,
|
|
|
+so its rotations and translations are relative to its parent:
|
|
|
|
|
|
.. image:: img/tuto_cutout6.png
|
|
|
|
|
|
-This seems easy, so continue with the left arm. The rest should be
|
|
|
-simple! Or maybe not:
|
|
|
+With the left arm there's a problem. In 2D, child nodes appear in front of
|
|
|
+their parents:
|
|
|
|
|
|
.. image:: img/tuto_cutout7.png
|
|
|
|
|
|
-Right. In 2D, parent nodes appear below children nodes. Well, this sucks.
|
|
|
-But how can this problem be solved? We want the left arm to appear behind
|
|
|
-the hip and the torso. For this, we can move the nodes behind the hip
|
|
|
-(note that you can bypass this by setting the Node2D Z property, but then you
|
|
|
-won't learn about all this!):
|
|
|
+We want the left arm to appear *behind*
|
|
|
+the hip and the torso. We could move the left arm nodes behind the hip (above
|
|
|
+the hip node in the scene hierarchy), but then the left arm is no longer in its
|
|
|
+proper place in the hierarchy. This means it wouldn't be affected the movement
|
|
|
+of the torso. We'll fix this problem with ``RemoteTransform2D`` nodes.
|
|
|
|
|
|
-.. image:: img/tuto_cutout8.png
|
|
|
-
|
|
|
-But then, we lose the hierarchy layout, which allows to control the
|
|
|
-skeleton like.. a skeleton. Is there any hope?.. Of Course!
|
|
|
+.. note:: You can also fix depth ordering problems by adjusting the Z property
|
|
|
+ of any node inheriting from Node2D.
|
|
|
|
|
|
RemoteTransform2D node
|
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
-Godot provides a special node, :ref:`RemoteTransform2D <class_RemoteTransform2D>`.
|
|
|
-This node will transform nodes that are sitting somewhere else in the
|
|
|
-hierarchy, by applying the transform to the remote nodes.
|
|
|
+The :ref:`RemoteTransform2D <class_RemoteTransform2D>` node transforms nodes
|
|
|
+somewhere else in the hierarchy. This node applies its own transform (including
|
|
|
+any transformation it inherits from its parents) to the remote node it targets.
|
|
|
|
|
|
-This enables to have a visibility order independent from the
|
|
|
-hierarchy.
|
|
|
+This allows us to correct the visibility order of our elements independent from
|
|
|
+the locations of those parts in the cutout hierarchy.
|
|
|
|
|
|
-Simply create two more nodes as children from torso, remote_arm_l and
|
|
|
-remote_hand_l and link them to the actual sprites:
|
|
|
+Create a ``RemoteTransform2D`` node as a child of the torso. Call it ``remote_arm_l``.
|
|
|
+Create another RemoteTransform2D node inside the first and call it ``remote_hand_l``.
|
|
|
+Use the ``Remote Path`` property of the two new nodes to target the ``arm_l`` and
|
|
|
+``hand_l`` sprites respectively:
|
|
|
|
|
|
.. image:: img/tuto_cutout9.png
|
|
|
|
|
|
-Moving the remote transform nodes will move the sprites, allowing you to
|
|
|
-easily animate and pose the character:
|
|
|
+Moving the ``RemoteTransform2D`` nodes now moves the sprites. So we can create
|
|
|
+animations by adjusting the ``RemoteTransform2D`` transforms:
|
|
|
|
|
|
.. image:: img/tutovec_torso4.gif
|
|
|
|
|
@@ -163,27 +160,23 @@ parts. The resulting scene should look similar to this:
|
|
|
The resulting rig will be easy to animate. By selecting the nodes and
|
|
|
rotating them you can animate forward kinematics (FK) efficiently.
|
|
|
|
|
|
-For simple objects and rigs this is fine, however the following problems
|
|
|
-are common:
|
|
|
+For simple objects and rigs this is fine, but there are limitations:
|
|
|
|
|
|
-- Selecting sprites can become difficult for complex rigs, and the
|
|
|
- scene tree ends being used due to the difficulty of clicking over the
|
|
|
- proper sprite.
|
|
|
-- Inverse Kinematics is often desired for extremities.
|
|
|
+- Selecting sprites in the main viewport can become difficult in complex rigs.
|
|
|
+ The scene tree ends up being used to select parts instead, which can be slower.
|
|
|
+- Inverse Kinematics (IK) is useful for animating extremities like hands and
|
|
|
+ feet, and can't be used with our rig in its current state.
|
|
|
|
|
|
-To solve these problems, Godot supports a simple method of skeletons.
|
|
|
+To solve these problems we'll use Godot's skeletons.
|
|
|
|
|
|
Skeletons
|
|
|
~~~~~~~~~
|
|
|
|
|
|
-Godot doesn't actually support *true* Skeletons, but it does feature a
|
|
|
-helper to create "bones" between nodes. This is enough for most cases,
|
|
|
-but the way it works is not completely obvious.
|
|
|
-
|
|
|
-
|
|
|
+In Godot there is a helper to create "bones" between nodes. The bone-linked
|
|
|
+nodes are called skeletons.
|
|
|
|
|
|
As an example, let's turn the right arm into a skeleton. To create
|
|
|
-skeletons, a chain of nodes must be selected from top to bottom:
|
|
|
+a skeleton, a chain of nodes must be selected from top to bottom:
|
|
|
|
|
|
.. image:: img/tuto_cutout11.png
|
|
|
|
|
@@ -191,25 +184,13 @@ Then, click on the Skeleton menu and select ``Make Bones``.
|
|
|
|
|
|
.. image:: img/tuto_cutout12.png
|
|
|
|
|
|
-This will add bones covering the arm, but the result is not quite what
|
|
|
-is expected.
|
|
|
+This will add bones covering the arm, but the result may be surprising.
|
|
|
|
|
|
.. image:: img/tuto_cutout13.png
|
|
|
|
|
|
-It looks like the bones are shifted up in the hierarchy. The hand
|
|
|
-connects to the arm, and the arm to the body. So the question is:
|
|
|
-
|
|
|
-- Why does the hand lack a bone?
|
|
|
-- Why does the arm connect to the body?
|
|
|
-
|
|
|
-This might seem strange at first, but will make sense later on. In
|
|
|
-traditional skeleton systems, bones have a position, an orientation and
|
|
|
-a length. In Godot, bones are mostly helpers so they connect the current
|
|
|
-node with the parent. Because of this, **toggling a node as a bone will
|
|
|
-just connect it to the parent**.
|
|
|
-
|
|
|
-So, with this knowledge. Let's do the same again so we have an actual,
|
|
|
-useful skeleton.
|
|
|
+Why does the hand lack a bone? In Godot, a bone connects a
|
|
|
+node with its parent. And there's currently no child of the hand node.
|
|
|
+With this knowledge let's try again.
|
|
|
|
|
|
The first step is creating an endpoint node. Any kind of node will do,
|
|
|
but :ref:`Position2D <class_Position2D>` is preferred because it's
|
|
@@ -226,36 +207,40 @@ bones:
|
|
|
The result resembles a skeleton a lot more, and now the arm and forearm
|
|
|
can be selected and animated.
|
|
|
|
|
|
-Finally, create endpoints in all meaningful extremities and connect the
|
|
|
-whole skeleton with bones up to the hip.
|
|
|
+Create endpoints for all important extremities. Generate bones for all
|
|
|
+articulable parts of the cutout, with the hip as the ultimate connection
|
|
|
+between all of them.
|
|
|
|
|
|
-You may notice when connecting the hip and torso, that an extra bone is created.
|
|
|
-To fix this, select the root and hip node, open the Skeleton menu, click ``clear bones``.
|
|
|
+You may notice that an extra bone is created when connecting the hip and torso.
|
|
|
+Godot has connected the hip node to the scene root with a bone, and we don't
|
|
|
+want that. To fix this, select the root and hip node, open the Skeleton menu,
|
|
|
+click ``clear bones``.
|
|
|
|
|
|
.. image:: img/tuto_cutout15_2.png
|
|
|
|
|
|
-
|
|
|
-After fixing that your final skeleton should look something like this:
|
|
|
+Your final skeleton should look something like this:
|
|
|
|
|
|
.. image:: img/tuto_cutout16.png
|
|
|
|
|
|
-Finally! the whole skeleton is rigged! On close look, it is noticeable
|
|
|
-that there is a second set of endpoints in the hands. This will make
|
|
|
+You might have noticed a second set of endpoints in the hands. This will make
|
|
|
sense soon.
|
|
|
|
|
|
-Now that a whole skeleton is rigged, the next step is setting up the IK
|
|
|
+Now that the whole figure is rigged, the next step is setting up the IK
|
|
|
chains. IK chains allow for more natural control of extremities.
|
|
|
|
|
|
IK chains
|
|
|
~~~~~~~~~
|
|
|
|
|
|
-IK chains are a powerful animation tool. Imagine you want to pose a character's foot in a specific position on the ground. Without IK chains, each motion of the foot would require rotating and positioning several other bones. This would be quite complex and lead to imprecise results.
|
|
|
-
|
|
|
-What if we could move the foot and let the rest of the leg self-adjust?
|
|
|
+IK stands for inverse kinematics. It's a convenient technique for animating the
|
|
|
+position of hands, feet and other extremities of rigs like the one we've made.
|
|
|
+Imagine you want to pose a character's foot in a specific position on the ground.
|
|
|
+Without IK chains, each motion of the foot would require rotating and positioning
|
|
|
+several other bones (the shin and the thigh at least). This would be quite
|
|
|
+complex and lead to imprecise results.
|
|
|
|
|
|
-This type of posing is called IK (Inverse Kinematic).
|
|
|
+IK allows us to move directly the foot while the shin and thigh self-adjust.
|
|
|
|
|
|
-To create an IK chain, simply select a chain of bones from endpoint to
|
|
|
+To create an IK chain, select a chain of bones from endpoint to
|
|
|
the base for the chain. For example, to create an IK chain for the right
|
|
|
leg, select the following:
|
|
|
|
|
@@ -269,103 +254,119 @@ As a result, the base of the chain will turn *Yellow*.
|
|
|
|
|
|
.. image:: img/tuto_cutout19.png
|
|
|
|
|
|
-Once the IK chain is set-up, simply grab any of the bones in the
|
|
|
-extremity, any child or grand-child of the base of the chain and try to
|
|
|
-grab it and move it. Result will be pleasant, satisfaction warranted!
|
|
|
+Once the IK chain is set-up grab any child or grand-child of the base of the
|
|
|
+chain (e.g. a foot) and move it. You'll see the rest of the chain adjust as you
|
|
|
+adjust its position.
|
|
|
|
|
|
.. image:: img/tutovec_torso5.gif
|
|
|
|
|
|
-Animation
|
|
|
-~~~~~~~~~
|
|
|
+Animation tips
|
|
|
+~~~~~~~~~~~~~~
|
|
|
|
|
|
-The following section will be a collection of tips for creating
|
|
|
-animation for your rigs. If unsure about how the animation system in
|
|
|
-Godot works, refresh it by checking again the :ref:`doc_animations`.
|
|
|
+The following section will be a collection of tips for creating animation for
|
|
|
+your cutout rigs. For more information on how the animation system in Godot
|
|
|
+works, see :ref:`doc_animations`.
|
|
|
|
|
|
-2D animation
|
|
|
-------------
|
|
|
+Setting keyframes and excluding properties
|
|
|
+------------------------------------------
|
|
|
|
|
|
-When doing animation in 2D, a helper will be present in the top menu.
|
|
|
-This helper only appears when the animation editor window is opened:
|
|
|
+Special contextual elements appear in the top toolbar when the animation editor
|
|
|
+window is open:
|
|
|
|
|
|
.. image:: img/tuto_cutout20.png
|
|
|
|
|
|
-The key button will insert location/rotation/scale keyframes to the
|
|
|
-selected objects or bones. This depends on the mask enabled. Green items
|
|
|
-will insert keys while red ones will not, so modify the key insertion
|
|
|
-mask to your preference.
|
|
|
+The key button inserts location, rotation, and scale keyframes for the
|
|
|
+selected objects or bones at the current playhead position.
|
|
|
|
|
|
-Rest pose
|
|
|
-~~~~~~~~~
|
|
|
+The "loc", "rot", and "scl" toggle buttons to the left of the key button modify
|
|
|
+its function, allowing you to specify which of the three properties keyframes
|
|
|
+will be created for.
|
|
|
+
|
|
|
+Here's an illustration of how this can be useful: Imagine you have a node which
|
|
|
+already has two keyframes animating its scale only. You want to add an
|
|
|
+overlapping rotation movement to the same node. The rotation movement should
|
|
|
+begin and end at different times from the scale change that's already set up.
|
|
|
+You can use the toggle buttons to have only rotation information added when you
|
|
|
+add a new keyframe. This way, you can avoid adding unwanted scale keyframes
|
|
|
+which would disrupt the existing scale animation.
|
|
|
|
|
|
-These kind of rigs do not have a "rest" pose, so it's recommended to
|
|
|
-create a reference rest pose in one of the animations.
|
|
|
+Creating a rest pose
|
|
|
+~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
-Simply do the following steps:
|
|
|
+Think of a rest pose as a default pose that your cutout rig should be set to
|
|
|
+when no other pose is active in your game. Create a rest pose as follows:
|
|
|
|
|
|
-1. Make sure the rig is in "rest" (not doing any specific pose).
|
|
|
+1. Make sure the rig parts are positioned in what looks like a "resting"
|
|
|
+arrangement.
|
|
|
|
|
|
-2. Create a new animation, rename it to "rest".
|
|
|
+2. Create a new animation, rename it "rest".
|
|
|
|
|
|
-3. Select all nodes (box selection should work fine).
|
|
|
+3. Select all nodes in your rig (box selection should work fine).
|
|
|
|
|
|
-4. Select "loc" and "rot" on the top menu.
|
|
|
+4. Make sure the "loc", "rot", and "scl" toggle buttons are all active in the
|
|
|
+toolbar.
|
|
|
|
|
|
-5. Push the key button. Keys will be inserted for everything, creating
|
|
|
- a default pose.
|
|
|
+5. Press the key button. Keys will be inserted for all selected parts storing
|
|
|
+their current arrangement. This pose can now be recalled when necessary in
|
|
|
+your game by playing the "rest" animation you've created.
|
|
|
|
|
|
.. image:: img/tuto_cutout21.png
|
|
|
|
|
|
-Rotation
|
|
|
-~~~~~~~~
|
|
|
+Modifying rotation only
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
-Animating these models means only modifying the rotation of the nodes.
|
|
|
-Location and scale are rarely used, with the only exception of moving
|
|
|
-the entire rig from the hip (which is the root node).
|
|
|
+When animating a cutout rig, often it's only the rotation of the nodes that
|
|
|
+needs to change.
|
|
|
+Location and scale are rarely used.
|
|
|
|
|
|
-As a result, when inserting keys, only the "rot" button needs to be
|
|
|
-pressed most of the time:
|
|
|
+So when inserting keys, you might find it convenient to have only the "rot"
|
|
|
+toggle active most of the time:
|
|
|
|
|
|
.. image:: img/tuto_cutout22.png
|
|
|
|
|
|
-This will avoid the creation of extra animation tracks for the position
|
|
|
-that will remain unused.
|
|
|
+This will avoid the creation of unwanted animation tracks for position
|
|
|
+and scale.
|
|
|
|
|
|
-Keyframing IK
|
|
|
-~~~~~~~~~~~~~
|
|
|
+Keyframing IK chains
|
|
|
+~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
-When editing IK chains, it is not necessary to select the whole chain to
|
|
|
+When editing IK chains, it's not necessary to select the whole chain to
|
|
|
add keyframes. Selecting the endpoint of the chain and inserting a
|
|
|
-keyframe will automatically insert keyframes until the chain base too.
|
|
|
-This makes the task of animating extremities much simpler.
|
|
|
+keyframe will automatically insert keyframes for all other parts of the chain too.
|
|
|
+
|
|
|
+Visually move a sprite behind its parent
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
-Moving sprites above and behind others
|
|
|
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+Sometimes it is necessary to have a node change its visual depth relative to
|
|
|
+its parent node during an animation. Think of a character facing the camera,
|
|
|
+who pulls something out from behind his back and holds it out in front of him.
|
|
|
+During this animation the whole arm and the object in his hand would need to
|
|
|
+change their visual depth relative to the body of the character.
|
|
|
|
|
|
-RemoteTransform2D works in most cases, but sometimes it is
|
|
|
-necessary to have a node above and below others during an animation. To
|
|
|
-aid on this the "Behind Parent" property exists on any Node2D:
|
|
|
+To help with this there's a keyframable "Behind Parent" property on all
|
|
|
+Node2D-inheriting nodes. When planning your rig, think about the movements it
|
|
|
+will need to perform and give some thought to how you'll use "Behind Parent"
|
|
|
+and/or RemoteTransform2D nodes. They provide overlapping functionality.
|
|
|
|
|
|
.. image:: img/tuto_cutout23.png
|
|
|
|
|
|
-Batch setting transition curves
|
|
|
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+Setting easing curves for multiple keys
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+
|
|
|
+To apply the same the easing curve to multiple keyframes at once:
|
|
|
|
|
|
-When creating complex animations and inserting many keyframes,
|
|
|
-editing the individual keyframe curves for each can become an endless
|
|
|
-task. For this, the Animation Editor has a small menu where changing
|
|
|
-animation curves is easy. First select the appropriate keys. Next click on the
|
|
|
-pencil icon in the bottom right of the animation panel, this will open the
|
|
|
-transition editor. Now click on one of the curve options most appropriate for
|
|
|
-your animation.
|
|
|
+1. Select the relevant keys.
|
|
|
+2. Click on the pencil icon in the bottom right of the animation panel, this
|
|
|
+ will open the transition editor.
|
|
|
+3. In the transition editor click on the desired curve to apply it.
|
|
|
|
|
|
.. image:: img/tuto_cutout24.png
|
|
|
|
|
|
2D Skeletal deform
|
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
-Starting with Godot 3.1, 2D skeletal deform is supported, which can be used to enhance this workflow and add more flexibility
|
|
|
-(single pieces can deform more organically instead of having to use many separate ones).
|
|
|
+Skeletal deform can be used to augment a cutout rig, allowing single pieces to
|
|
|
+deform organically (e.g. antennae that wobble as an insect character walks).
|
|
|
|
|
|
This process is described in a :ref:`separate tutorial <doc_2d_skeletons>`.
|
|
|
|