Update intro to 2D animation for Godot 3.1

This commit is contained in:
skyace65
2019-08-02 23:37:46 -04:00
parent 4b0bbf18ac
commit a15e2be388
36 changed files with 46 additions and 148 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 910 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 847 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 536 B

View File

@@ -36,15 +36,15 @@ automatically transition to one another.
The AnimationPlayer node
Click on the AnimationPlayer node in the Node tab to open the Animation
Panel at the bottom of the viewport.
After creating one click on the AnimationPlayer node in the Node tab to
open the Animation Panel at the bottom of the viewport.
.. figure:: img/animation_animation_panel.png
:alt: The animation panel position
The animation panel position
It consists of five parts:
It consists of four parts:
.. figure:: img/animation_animation_panel_overview.png
:alt: The animation panel
@@ -54,7 +54,6 @@ It consists of five parts:
- Animation controls (i.e. add, load, save, and delete animations)
- The tracks listing
- The timeline with keyframes
- The keyframe editor (when enabled)
- The timeline and track controls, where you can zoom the timeline and
edit tracks for example.
@@ -66,7 +65,8 @@ Computer animation relies on keyframes
A keyframe defines the value of a property at a certain point in time.
White and blue diamond shapes represent keyframes in the timeline.
Diamond shapes represent keyframes in the timeline. A line between two
keyframes indicates that the value hasn't changed.
.. figure:: img/animation_keyframes.png
:alt: Keyframes in Godot
@@ -112,7 +112,7 @@ Scene setup
~~~~~~~~~~~
For this tutorial, we'll going to create an AnimationPlayer node and a
sprite node as an AnimationPlayer node child.
sprite node as its child.
.. figure:: img/animation_animation_player_tree.png
:alt: Our scene setup
@@ -120,7 +120,8 @@ sprite node as an AnimationPlayer node child.
Our scene setup
The sprite holds an image texture and we animate that sprite to move
between two points on the screen. As a starting point, move the sprite
between two points on the screen. For this tutorial use the default Godot
Icon as the sprites' texture. As a starting point, move the sprite
to a left position on the screen.
.. tip::
@@ -129,10 +130,10 @@ to a left position on the screen.
required, but it is a nice way of distinguishing animated nodes from
non-animated nodes in the Scene Tree.
Select the AnimationPlayer node and click on "Add animation" (|Add
Animation|) in the animation tab to add a new animation.
Enter a name for the animation in the dialog box.
Select the AnimationPlayer node, then click the "Animation" button in the
animation editor. From the list select "New" (|Add
Animation|) to add a new animation. And Enter a name for the animation in the
dialog box.
.. figure:: img/animation_create_new_animation.png
:alt: Add a new animation
@@ -219,8 +220,7 @@ Yay! Our animation runs:
Back and forth
~~~~~~~~~~~~~~
As you can see, the "loop" button is enabled by default and our
animation loops. Godot has an additional feature here. Like said before,
Godot has an additional feature here. Like said before,
Godot always calculates the frames between two keyframes. In a loop, the
first keyframe is also the last keyframe, if no keyframe is specified at
the end.
@@ -238,24 +238,25 @@ Track settings
~~~~~~~~~~~~~~
Each track has a settings panel at the end, where you can set the update
rate, the track interpolation, and the loop mode.
mode, the track interpolation, and the loop mode.
.. figure:: img/animation_track_settings.png
:alt: Track settings
Track settings
The update rate of a track tells Godot when to update the property
The update mode of a track tells Godot when to update the property
values. This can be:
- Continuous: Update the property on each frame
- Discrete: Only update the property on keyframes
- Trigger: Only update the property on keyframes or triggers
- Capture: The current value of a property is remembered, and it will blend with the first animation key found
.. figure:: img/animation_track_rate.png
:alt: Track rate
:alt: Track mode
Track rate
Track mode
In normal animations, you usually use "Continuous". The other types are
used to script complex animations.
@@ -313,67 +314,56 @@ current animation.
Edit keyframes
--------------
For advanced use and to edit keyframe in detail, enable the keyframe
editor (|Keyframe editor|).
This adds an editor pane on the right side of the track settings. When
you select a keyframe, you can directly edit its values in this editor:
For advanced use and to edit keyframes in detail, You can click on them
to bring up the keyframe editor in the inspector. You can use this to
directly edit its values.
.. figure:: img/animation_keyframe_editor_key.png
:alt: Keyframe editor editing a key
Keyframe editor editing a key
Additionally, you can also edit the transition value for this keyframe:
.. figure:: img/animation_keyframe_editor_transition.png
:alt: Keyframe editor editing a transition
Keyframe editor editing a transition
This tells Godot, how to change the property values when it reaches this
keyframe.
Additionally, you can also edit the easing value for this keyframe by
clicking and dragging the easing setting. This tells Godot, how to change
the property values when it reaches this keyframe.
You usually tweak your animations this way, when the movement doesn't
"look right".
Advanced: Call Func tracks
--------------------------
Advanced: Call Method tracks
----------------------------
Godot's animation engine doesn't stop here. If you're already
comfortable with Godot's scripting language
:ref:`doc_gdscript` and :doc:`/classes/index` you
know that each node type is a class and has a bunch of callable
functions.
methods.
For example, the :ref:`class_AudioStreamPlayer` node type has a
function to play an audio stream.
method to play an audio stream.
Wouldn't it be great to play a stream at a specific keyframe in an
animation? This is where "Call Func Tracks" come in handy. These tracks
Wouldn't it be great to use a method at a specific keyframe in an
animation? This is where "Call Method Tracks" come in handy. These tracks
reference a node again, this time without a reference to a property.
Instead, a keyframe holds the name and arguments of a function, that
Instead, a keyframe holds the name and arguments of a method, that
Godot should call when it reaches this keyframe.
To let Godot play a sample when it reaches a keyframe, follow this list:
To demonstrate, we're going to use a call method track to play audio at a
specific keyframe. Normally to play audio you should use an audio track,
but for the sake of demonstrating methods we're going to do it this way.
Add a :ref:`class_AudioStreamPlayer` to the Scene Tree and setup a
stream using an audio file you put in your project.
.. figure:: img/animation_add_audiostreamplayer.png
:alt: Add AudioStreamPlayer
Add AudioStreamPlayer
Click on "Add track" (|Add track|) on the animation panel's track
controls.
Select "Add Call Func Track" from the list of possible track types.
Select "Add Call Method Track" from the list of possible track types.
.. figure:: img/animation_add_call_func_track.png
:alt: Add Call Func Track
.. figure:: img/animation_add_call_method_track.png
:alt: Add Call Method Track
Add Call Func Track
Add Call Method Track
Select the :ref:`class_AudioStreamPlayer` node in the selection
window. Godot adds the track with the reference to the node.
@@ -383,114 +373,22 @@ window. Godot adds the track with the reference to the node.
Select AudioStreamPlayer
Select the timeline position, where Godot should play the sample by
clicking on the timeline header.
Right click the timeline where Godot should play the sample and
click the "Insert Key" option. This will bring up a list of methods
that can be called for the AudioStreamPlayer node. Select the first
one.
Enable the Keyframe Editor by clicking on |Keyframe editor|.
Click on "Add keyframe" near the settings of our func track (|Add
keyframe|) and select the keyframe.
.. figure:: img/animation_call_func_add_keyframe.png
:alt: Add a keyframe to the call func track
Add a keyframe to the call func track
Enter "play" as the function name.
.. figure:: img/animation_call_func_keyframe.png
:alt: Keyframe settings of a call func track
Keyframe settings of a call func track
.. image:: img/animation_method_list.png
When Godot reaches the keyframe, Godot calls the
:ref:`class_AnimationPlayer` node's "play" function and the stream
plays.
References
----------
You can change its position by dragging it on the timeline, you can also
click on the keyframe and use the keyframe settings in the inspector.
Animation panel reference
~~~~~~~~~~~~~~~~~~~~~~~~~
.. figure:: img/animation_animation_panel_reference.png
:alt: The animation panel reference
The animation panel reference
The animation panel has the following parts (from left to right):
Animation controls
^^^^^^^^^^^^^^^^^^
.. figure:: img/animation_reference_animation_controls.png
:alt: Animation controls
Animation controls
- Play animation backwards from current position
- Play animation backwards from the animation end
- Stop animation
- Play animation forwards from the animation beginning
- Play animation forwards from the current position
- Direct time selection
Animation management
^^^^^^^^^^^^^^^^^^^^
.. figure:: img/animation_reference_animation_management.png
:alt: Animation management
Animation management
- Create a new animation
- Load animation
- Save animation
- Duplicate animation
- Rename animation
- Delete animation
- Animation selection
- Automatically play selected animation
- Edit animation blend times
- Extended animation Tools
Timeline zoom level control
^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. figure:: img/animation_reference_timeline_zoom_level.png
:alt: Timeline zoom level control
Timeline zoom level control
Timeline control
^^^^^^^^^^^^^^^^
.. figure:: img/animation_reference_timeline_controls.png
:alt: Timeline control
Timeline control
- Length of animation
- Steps of animation
- Toggle loop animation
Track control
^^^^^^^^^^^^^
.. figure:: img/animation_reference_track_control.png
:alt: Track control
Track control
- Add track
- Move track up
- Move track down
- Delete track
- Extended track tools
- Toggle keyframe editor
.. img:: img/animation_call_method_keyframe.png
.. |Play from beginning| image:: img/animation_play_from_beginning.png
.. |Add Animation| image:: img/animation_add.png
.. |Keyframe editor| image:: img/animation_keyframe_editor_toggle.png
.. |Add track| image:: img/animation_add_track.png
.. |Add keyframe| image:: img/animation_add_keyframe.png