godot/doc/classes/AnimationTree.xml
Maganty Rushyendra 0451248ff1 Clarify usage of AnimationPlayer with AnimationTree and fill in empty method descriptions
Add clarification to docs to explain that when an `AnimationPlayer`
object is paired with an `AnimationTree`, several properties and
methods exposed by the `AnimationPlayer` class may not work as expected.
The issues occur because an `AnimationTree` runs independently, and
uses its member `AnimationPlayer* player` primarily for its
`Map<StringName, AnimationData> animation_set`.

Added descriptions for `root_motion_track` and `get_root_motion_transform`.
2020-06-02 12:19:33 +08:00

71 lines
3.8 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="AnimationTree" inherits="Node" version="4.0">
<brief_description>
A node to be used for advanced animation transitions in an [AnimationPlayer].
</brief_description>
<description>
Note: When linked with an [AnimationPlayer], several properties and methods of the corresponding [AnimationPlayer] will not function as expected. Playback and transitions should be handled using only the [AnimationTree] and its constituent [AnimationNode](s). The [AnimationPlayer] node should be used solely for adding, deleting, and editing animations.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html</link>
<link>https://github.com/godotengine/tps-demo</link>
</tutorials>
<methods>
<method name="advance">
<return type="void">
</return>
<argument index="0" name="delta" type="float">
</argument>
<description>
Manually advance the animations by the specified time (in seconds).
</description>
</method>
<method name="get_root_motion_transform" qualifiers="const">
<return type="Transform">
</return>
<description>
Retrieve the motion of the [member root_motion_track] as a [Transform] that can be used elsewhere. If [member root_motion_track] is not a path to a track of type [constant Animation.TYPE_TRANSFORM], returns an identity transformation.
</description>
</method>
<method name="rename_parameter">
<return type="void">
</return>
<argument index="0" name="old_name" type="String">
</argument>
<argument index="1" name="new_name" type="String">
</argument>
<description>
</description>
</method>
</methods>
<members>
<member name="active" type="bool" setter="set_active" getter="is_active" default="false">
If [code]true[/code], the [AnimationTree] will be processing.
</member>
<member name="anim_player" type="NodePath" setter="set_animation_player" getter="get_animation_player" default="NodePath(&quot;&quot;)">
The path to the [AnimationPlayer] used for animating.
</member>
<member name="process_mode" type="int" setter="set_process_mode" getter="get_process_mode" enum="AnimationTree.AnimationProcessMode" default="1">
The process mode of this [AnimationTree]. See [enum AnimationProcessMode] for available modes.
</member>
<member name="root_motion_track" type="NodePath" setter="set_root_motion_track" getter="get_root_motion_track" default="NodePath(&quot;&quot;)">
The path to the Animation track used for root motion. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. To specify a track that controls properties or bones, append its name after the path, separated by [code]":"[/code]. For example, [code]"character/skeleton:ankle"[/code] or [code]"character/mesh:transform/local"[/code].
If the track has type [constant Animation.TYPE_TRANSFORM], the transformation will be cancelled visually, and the animation will appear to stay in place.
</member>
<member name="tree_root" type="AnimationNode" setter="set_tree_root" getter="get_tree_root">
The root animation node of this [AnimationTree]. See [AnimationNode].
</member>
</members>
<constants>
<constant name="ANIMATION_PROCESS_PHYSICS" value="0" enum="AnimationProcessMode">
The animations will progress during the physics frame (i.e. [method Node._physics_process]).
</constant>
<constant name="ANIMATION_PROCESS_IDLE" value="1" enum="AnimationProcessMode">
The animations will progress during the idle frame (i.e. [method Node._process]).
</constant>
<constant name="ANIMATION_PROCESS_MANUAL" value="2" enum="AnimationProcessMode">
The animations will only progress manually (see [method advance]).
</constant>
</constants>
</class>