跳到主要内容

AnimationTreePlayer

继承

Node

简要描述

使用节点图混合动画的动画播放器。

描述

一个节点图工具,用于混合绑定到AnimationPlayer的多个动画。

它从AnimationPlayer节点中获取Animation,并根据节点图对其进行混合。

成员

类型属性名默认值
boolactivefalse
NodePathbase_pathNodePath("..")
NodePathmaster_playerNodePath("")
intplayback_process_mode1

方法

返回值类型方法名称
voidadd_node(type: int, id: String)
voidadvance(delta: float)
Animationanimation_node_get_animation(id: String) const
Stringanimation_node_get_master_animation(id: String) const
floatanimation_node_get_position(id: String) const
voidanimation_node_set_animation(id: String, animation: Animation)
voidanimation_node_set_filter_path(id: String, path: NodePath, enable: bool)
voidanimation_node_set_master_animation(id: String, source: String)
boolare_nodes_connected(id: String, dst_id: String, dst_input_idx: int) const
floatblend2_node_get_amount(id: String) const
voidblend2_node_set_amount(id: String, blend: float)
voidblend2_node_set_filter_path(id: String, path: NodePath, enable: bool)
floatblend3_node_get_amount(id: String) const
voidblend3_node_set_amount(id: String, blend: float)
Vector2blend4_node_get_amount(id: String) const
voidblend4_node_set_amount(id: String, blend: Vector2)
intconnect_nodes(id: String, dst_id: String, dst_input_idx: int)
voiddisconnect_nodes(id: String, dst_input_idx: int)
PoolStringArrayget_node_list()
floatmix_node_get_amount(id: String) const
voidmix_node_set_amount(id: String, ratio: float)
boolnode_exists(node: String) const
intnode_get_input_count(id: String) const
Stringnode_get_input_source(id: String, idx: int) const
Vector2node_get_position(id: String) const
intnode_get_type(id: String) const
intnode_rename(node: String, new_name: String)
voidnode_set_position(id: String, screen_position: Vector2)
floatoneshot_node_get_autorestart_delay(id: String) const
floatoneshot_node_get_autorestart_random_delay(id: String) const
floatoneshot_node_get_fadein_time(id: String) const
floatoneshot_node_get_fadeout_time(id: String) const
booloneshot_node_has_autorestart(id: String) const
booloneshot_node_is_active(id: String) const
voidoneshot_node_set_autorestart(id: String, enable: bool)
voidoneshot_node_set_autorestart_delay(id: String, delay_sec: float)
voidoneshot_node_set_autorestart_random_delay(id: String, rand_sec: float)
voidoneshot_node_set_fadein_time(id: String, time_sec: float)
voidoneshot_node_set_fadeout_time(id: String, time_sec: float)
voidoneshot_node_set_filter_path(id: String, path: NodePath, enable: bool)
voidoneshot_node_start(id: String)
voidoneshot_node_stop(id: String)
voidrecompute_caches()
voidremove_node(id: String)
voidreset()
floattimescale_node_get_scale(id: String) const
voidtimescale_node_set_scale(id: String, scale: float)
voidtimeseek_node_seek(id: String, seconds: float)
voidtransition_node_delete_input(id: String, input_idx: int)
inttransition_node_get_current(id: String) const
inttransition_node_get_input_count(id: String) const
floattransition_node_get_xfade_time(id: String) const
booltransition_node_has_input_auto_advance(id: String, input_idx: int) const
voidtransition_node_set_current(id: String, input_idx: int)
voidtransition_node_set_input_auto_advance(id: String, input_idx: int, enable: bool)
voidtransition_node_set_input_count(id: String, count: int)
voidtransition_node_set_xfade_time(id: String, time_sec: float)

枚举

enum NodeType:

  • **NODE_OUTPUT = 0**

输出节点。

  • **NODE_ANIMATION = 1**

动画节点。

  • **NODE_ONESHOT = 2**

OneShot节点。

  • **NODE_MIX = 3**

混合节点。

  • **NODE_BLEND2 = 4**

Blend2节点。

  • **NODE_BLEND3 = 5**

Blend3节点。

  • **NODE_BLEND4 = 6**

Blend4节点。

  • **NODE_TIMESCALE = 7**

TimeScale节点。

  • **NODE_TIMESEEK = 8**

TimeSeek节点。

  • **NODE_TRANSITION = 9**

过渡节点。


enum AnimationProcessMode:

  • **ANIMATION_PROCESS_PHYSICS = 0**

在物理过程中处理动画。

  • **ANIMATION_PROCESS_IDLE = 1**

在空闲过程中处理动画。


常量

成员说明

  • bool active
Defaultfalse
setterset_active(value)
getteris_active
  • NodePath base_path
DefaultNodePath("..")
setterset_base_path(value)
getterget_base_path
  • NodePath master_player
DefaultNodePath("")
setterset_master_player(value)
getterget_master_player
  • int playback_process_mode
Default1
setterset_animation_process_mode(value)
getterget_animation_process_mode

方法说明

  • add_node add_node(type: int, id: String)

将名称为idtype节点添加到图中。


  • advance advance(delta: float)

在动画时间轴中移动位置。


  • animation_node_get_animation animation_node_get_animation(id: String) const

返回绑定到AnimationTreePlayer动画节点的AnimationPlayerAnimation,名称为id


  • animation_node_get_master_animation animation_node_get_master_animation(id: String) const

返回绑定到此动画节点的master_playerAnimation的名称。


  • animation_node_get_position animation_node_get_position(id: String) const

返回名称为id的动画节点的绝对播放时间戳。


  • animation_node_set_animation animation_node_set_animation(id: String, animation: Animation)

将名称为id的新Animationmaster_player成员绑定到AnimationTreePlayer的动画节点。


  • animation_node_set_filter_path animation_node_set_filter_path(id: String, path: NodePath, enable: bool)

如果enabletrue,则ID为id的动画节点将关闭修改path属性的轨道。


  • animation_node_set_master_animation animation_node_set_master_animation(id: String, source: String)

将名为sourceAnimationmaster_player成员绑定到动画节点id


  • are_nodes_connected are_nodes_connected(id: String, dst_id: String, dst_input_idx: int) const

返回节点iddst_id是否在指定的插槽处连接。


  • blend2_node_get_amount blend2_node_get_amount(id: String) const

返回给定其名称的Blend2节点的混合量。


  • blend2_node_set_amount blend2_node_set_amount(id: String, blend: float)

给定其名称和值,设置Blend2节点的混合量。

Blend2节点混合两个动画(A和B),其数量在0和1之间。

为0时,输出为输入A。朝1方向,A的影响减小,B的影响增大。


  • blend2_node_set_filter_path blend2_node_set_filter_path(id: String, path: NodePath, enable: bool)

如果enabletrue,则名称为id的Blend2节点将关闭修改path上的属性的轨道。


  • blend3_node_get_amount blend3_node_get_amount(id: String) const

返回给定其名称的Blend3节点的混合量。


  • blend3_node_set_amount blend3_node_set_amount(id: String, blend: float)

给定其名称和值,设置Blend3节点的混合量。

Blend3节点以-1和1的数量混合三个动画(A,B-,B)。

在-1时,输出为输入B-。


  • blend4_node_get_amount blend4_node_get_amount(id: String) const

返回给定其名称的Blend4节点的混合量。


  • blend4_node_set_amount blend4_node_set_amount(id: String, blend: Vector2)

给定其名称和值,设置Blend4节点的混合量。

Blend4节点可混合两对动画。

将这两对像Blend2一样混合,然后加在一起。


  • connect_nodes connect_nodes(id: String, dst_id: String, dst_input_idx: int)

在指定的输入插槽处将节点id连接到dst_id


  • disconnect_nodes disconnect_nodes(id: String, dst_input_idx: int)

在指定的输入插槽处断开连接到id的节点的连接。


  • get_node_list get_node_list()

返回包含所有节点名称的PoolStringArray


  • mix_node_get_amount mix_node_get_amount(id: String) const

返回给定名称的Mix节点的混合量。


  • mix_node_set_amount mix_node_set_amount(id: String, ratio: float)

给定其名称和值,设置“混合”节点的混合量。

一个“混合”节点将输入b与输入a相加的比率为比率。


  • node_exists node_exists(node: String) const

检查节点是否存在(按名称)。


  • node_get_input_count node_get_input_count(id: String) const

返回给定节点的输入计数。


  • node_get_input_source node_get_input_source(id: String, idx: int) const

返回给定节点输入的输入源。


  • node_get_position node_get_position(id: String) const

给定节点的名称,返回图中节点的位置。


  • node_get_type node_get_type(id: String) const

获取节点类型,将从NodeType枚举返回。


  • node_rename node_rename(node: String, new_name: String)

重命名图中的节点。


  • node_set_position node_set_position(id: String, screen_position: Vector2)

给定节点的名称和位置,设置其在图中的位置。


  • oneshot_node_get_autorestart_delay oneshot_node_get_autorestart_delay(id: String) const

返回给定名称的OneShot节点的自动启动延迟。


  • oneshot_node_get_autorestart_random_delay oneshot_node_get_autorestart_random_delay(id: String) const

返回给定名称的OneShot节点的自动启动随机延迟。


  • oneshot_node_get_fadein_time oneshot_node_get_fadein_time(id: String) const

根据名称返回OneShot节点的淡入时间。


  • oneshot_node_get_fadeout_time oneshot_node_get_fadeout_time(id: String) const

返回其名称的OneShot节点的淡出时间。


  • oneshot_node_has_autorestart oneshot_node_has_autorestart(id: String) const

返回指定名称的OneShot节点是否将自动重启。


  • oneshot_node_is_active oneshot_node_is_active(id: String) const

返回给定名称的OneShot节点是否处于活动状态。


  • oneshot_node_set_autorestart oneshot_node_set_autorestart(id: String, enable: bool)

给定其名称和值,设置OneShot节点的autorestart属性。


  • oneshot_node_set_autorestart_delay oneshot_node_set_autorestart_delay(id: String, delay_sec: float)

给定OneShot节点的名称和值(以秒为单位),设置其自动重新启动延迟。


  • oneshot_node_set_autorestart_random_delay oneshot_node_set_autorestart_random_delay(id: String, rand_sec: float)

给定OneShot节点的名称和值(以秒为单位),设置其自动重新启动随机延迟。


  • oneshot_node_set_fadein_time oneshot_node_set_fadein_time(id: String, time_sec: float)

给定OneShot节点的名称和值(以秒为单位),设置其淡入时间。


  • oneshot_node_set_fadeout_time oneshot_node_set_fadeout_time(id: String, time_sec: float)

设置OneShot节点的淡出时间,以其名称和值(以秒为单位)为单位。


  • oneshot_node_set_filter_path oneshot_node_set_filter_path(id: String, path: NodePath, enable: bool)

如果enabletrue,则ID为id的OneShot节点将关闭修改path上的属性的轨道。


  • oneshot_node_start oneshot_node_start(id: String)

给定名称启动一个OneShot节点。


  • oneshot_node_stop oneshot_node_stop(id: String)

停止名称为id的OneShot节点。


  • recompute_caches recompute_caches()

手动重新计算从动画节点生成的跟踪信息的缓存。


  • remove_node remove_node(id: String)

删除名称为id的动画节点。


  • reset reset()

重置此AnimationTreePlayer


  • timescale_node_get_scale timescale_node_get_scale(id: String) const

返回名称为id的TimeScale节点的时间标度值。


  • timescale_node_set_scale timescale_node_set_scale(id: String, scale: float)

将名称为id的TimeScale节点的时间标度设置为scale

如果比例尺大于1,则使用TimeScale节点加快[动画]的速度,如果比例尺小于1,则使动画播放减速。

如果在混合之后应用,则会影响该混合的所有输入动画。


  • timeseek_node_seek timeseek_node_seek(id: String, seconds: float)

将名称为id的TimeSeek节点的时间搜寻值设置为seconds

此功能在[动画]或其中的[动画]输入的混合中用作查找。


  • transition_node_delete_input transition_node_delete_input(id: String, input_idx: int)

删除名称为id的过渡节点在input_idx处的输入。


  • transition_node_get_current transition_node_get_current(id: String) const

返回名称为id的过渡节点当前输入的索引。


  • transition_node_get_input_count transition_node_get_input_count(id: String) const

返回名称为id的过渡节点的输入数量。


  • transition_node_get_xfade_time transition_node_get_xfade_time(id: String) const

返回名称为id的过渡节点的淡入淡出时间。


  • transition_node_has_input_auto_advance transition_node_has_input_auto_advance(id: String, input_idx: int) const

如果将转换节点上名称为id的输入input_idx设置为自动完成,则返回true


  • transition_node_set_current transition_node_set_current(id: String, input_idx: int)

名称为id的过渡节点将其当前输入设置为input_idx


  • transition_node_set_input_auto_advance transition_node_set_input_auto_advance(id: String, input_idx: int, enable: bool)

input_idx处的输入完成时,名称为id的过渡节点会自动前进到其下一个输入。


  • transition_node_set_input_count transition_node_set_input_count(id: String, count: int)

调整名称为id的过渡节点可用输入的数量。


  • transition_node_set_xfade_time transition_node_set_xfade_time(id: String, time_sec: float)

名称为id的过渡节点将其交叉淡入淡出时间设置为time_sec