AnimationTree

Inherits: Node < Object

用于 AnimationPlayer 中高级动画过渡的节点。

描述

用于 AnimationPlayer 中高级动画过渡的节点。

注意:AnimationPlayer 连接时,该 AnimationPlayer 的一些属性和方法将不会像预期的那样发挥作用。播放和过渡应该只使用 AnimationTree 和组成它的 AnimationNode 来处理。AnimationPlayer 节点应仅用于添加、删除和编辑动画。

教程

属性

bool

active

false

NodePath

anim_player

NodePath(“”)

AnimationProcessMode

process_mode

1

NodePath

root_motion_track

NodePath(“”)

AnimationNode

tree_root

方法

void

advance ( float delta )

Transform

get_root_motion_transform ( ) const

void

rename_parameter ( String old_name, String new_name )

枚举

enum AnimationProcessMode:

  • ANIMATION_PROCESS_PHYSICS = 0 —- 在物理帧期间进行动画(即 Node._physics_process)。

  • ANIMATION_PROCESS_IDLE = 1 —- 在空闲帧期间进行动画(即 Node._process)。

  • ANIMATION_PROCESS_MANUAL = 2 —- 只能手动进行动画(见 advance)。

属性说明

Default

false

Setter

set_active(value)

Getter

is_active()

如果 true 时,AnimationTree 将执行逻辑处理。


Default

NodePath(“”)

Setter

set_animation_player(value)

Getter

get_animation_player()

用于动画的 AnimationPlayer 的路径。


Default

1

Setter

set_process_mode(value)

Getter

get_process_mode()

AnimationTree 的处理模式。可用的模式见 AnimationProcessMode


Default

NodePath(“”)

Setter

set_root_motion_track(value)

Getter

get_root_motion_track()

用于根部运动的动画轨道的路径。路径必须是指向节点的场景树有效路径,必须从将实现动画的节点的父节点开始指定。要指定控件属性或骨骼的轨道,请在路径后附加其名称,用 ":" 隔开。例如,"character/skeleton:ankle""character/mesh:transform/local"

如果轨道的类型是 Animation.TYPE_TRANSFORM,那么将取消视觉上的变换,其动画将看起来留在原地。参阅 get_root_motion_transformRootMotionView


Setter

set_tree_root(value)

Getter

get_tree_root()

AnimationTree 的根动画节点。见 AnimationNode

方法说明

  • void advance ( float delta )

手动将动画前进指定的时间(单位为秒)。


  • Transform get_root_motion_transform ( ) const

检索root_motion_track的运动,作为一个可以在其他地方使用的Transform。如果root_motion_track不是一个Animation.TYPE_TRANSFORM类型轨道的路径,返回一个变换ID。参阅root_motion_trackRootMotionView