Fill out some of the AnimationNode docs.

The API docs for various animation nodes are pretty empty, yet the
tutorial at
https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html
contains some details.

These details should be included in the API docs so looking up a
particular class actually provides some information rather than
requiring the user to hunt for a different tutorial.

This also links the AnimationTree tutorial and demo in the docs.
I've found the TPS demo to be the best resource so far for learning
how to use the AnimationTree. This should be easy to find if someone
looks up the AnimationTree API docs.

Finally, this fixes a param typo in AnimationNodeStateMachine.
This commit is contained in:
Ryan Roden-Corrent 2019-04-07 07:21:31 -04:00
parent e40aea7fec
commit 584288a32c
No known key found for this signature in database
GPG Key ID: 435D8B10692555C9
6 changed files with 21 additions and 2 deletions

View File

@ -136,8 +136,10 @@
<constant name="BLEND_MODE_INTERPOLATED" value="0" enum="BlendMode">
</constant>
<constant name="BLEND_MODE_DISCRETE" value="1" enum="BlendMode">
Useful for frame-by-frame 2D animations.
</constant>
<constant name="BLEND_MODE_DISCRETE_CARRY" value="2" enum="BlendMode">
Keep the current play position when switching between discrete animations.
</constant>
</constants>
</class>

View File

@ -3,6 +3,11 @@
<brief_description>
</brief_description>
<description>
Contains multiple root nodes as children in a graph. Each node is used as a state, and provides multiple functions to alternate between states. Retrieve the AnimationNodeStateMachinePlayback object from the [AnimationTree] node to control it programatically.
[codeblock]
var state_machine = anim_tree["parameters/StateMachine/playback"]
state_machine.travel("SomeState")
[codeblock]
</description>
<tutorials>
</tutorials>
@ -170,7 +175,7 @@
<method name="set_graph_offset">
<return type="void">
</return>
<argument index="0" name="name" type="Vector2">
<argument index="0" name="offset" type="Vector2">
</argument>
<description>
</description>

View File

@ -47,6 +47,7 @@
<argument index="0" name="to_node" type="String">
</argument>
<description>
Transition from the current state to another one, while visiting all the intermediate ones. This is done via the A* algorithm.
</description>
</method>
</methods>

View File

@ -12,16 +12,22 @@
</methods>
<members>
<member name="advance_condition" type="String" setter="set_advance_condition" getter="get_advance_condition">
Turn on auto advance when this condition is set. This is a custom text field that can be filled with a variable name. The variable can be modified from code.
</member>
<member name="auto_advance" type="bool" setter="set_auto_advance" getter="has_auto_advance">
Turn on the transition automatically when this state is reached. This works best with [code]SWITCH_MODE_AT_END[/code].
</member>
<member name="disabled" type="bool" setter="set_disabled" getter="is_disabled">
Don't use this transition during [method AnimationNodeStateMachinePlayback.travel] or [member auto_advance].
</member>
<member name="priority" type="int" setter="set_priority" getter="get_priority">
Lower priority transitions are preferred when travelling through the tree via [method AnimationNodeStateMachinePlayback.travel] or [member auto_advance].
</member>
<member name="switch_mode" type="int" setter="set_switch_mode" getter="get_switch_mode" enum="AnimationNodeStateMachineTransition.SwitchMode">
The transition type.
</member>
<member name="xfade_time" type="float" setter="set_xfade_time" getter="get_xfade_time">
The time to cross-fade between this state and the next.
</member>
</members>
<signals>
@ -32,10 +38,13 @@
</signals>
<constants>
<constant name="SWITCH_MODE_IMMEDIATE" value="0" enum="SwitchMode">
Switch to the next state immediately. The current state will end and blend into the beginning of the new one.
</constant>
<constant name="SWITCH_MODE_SYNC" value="1" enum="SwitchMode">
Switch to the next state immediately, but will seek the new state to the playback position of the old state.
</constant>
<constant name="SWITCH_MODE_AT_END" value="2" enum="SwitchMode">
Wait for the current state playback to end, then switch to the beginning of the next state animation.
</constant>
</constants>
</class>

View File

@ -5,8 +5,10 @@
<description>
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html</link>
</tutorials>
<demos>
<link>https://github.com/godotengine/tps-demo</link>
</demos>
<methods>
<method name="advance">

View File

@ -960,7 +960,7 @@ void AnimationNodeStateMachine::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_end_node", "name"), &AnimationNodeStateMachine::set_end_node);
ClassDB::bind_method(D_METHOD("get_end_node"), &AnimationNodeStateMachine::get_end_node);
ClassDB::bind_method(D_METHOD("set_graph_offset", "name"), &AnimationNodeStateMachine::set_graph_offset);
ClassDB::bind_method(D_METHOD("set_graph_offset", "offset"), &AnimationNodeStateMachine::set_graph_offset);
ClassDB::bind_method(D_METHOD("get_graph_offset"), &AnimationNodeStateMachine::get_graph_offset);
ClassDB::bind_method(D_METHOD("_tree_changed"), &AnimationNodeStateMachine::_tree_changed);