AnimationTreePlayer

Inherits: Node < Object

已弃用。 使用节点图(node graph)来混合动画的动画播放器。由 AnimationTree 取代。

描述

已弃用。 节点图示工具,用于混合绑定在AnimationPlayer上的多个动画。对于给角色或其他基于骨架的配件制作动画特别有用。它可以结合几个动画来形成一个所需的姿势。

它从AnimationPlayer节点获取Animation,并根据图示将它们混合起来。

参阅AnimationTree以获得该节点的更全面的功能替代。

教程

属性

bool

active

false

NodePath

base_path

NodePath(“..”)

NodePath

master_player

NodePath(“”)

AnimationProcessMode

playback_process_mode

1

方法

void

add_node ( NodeType type, String id )

void

advance ( float delta )

Animation

animation_node_get_animation ( String id ) const

String

animation_node_get_master_animation ( String id ) const

float

animation_node_get_position ( String id ) const

void

animation_node_set_animation ( String id, Animation animation )

void

animation_node_set_filter_path ( String id, NodePath path, bool enable )

void

animation_node_set_master_animation ( String id, String source )

bool

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

float

blend2_node_get_amount ( String id ) const

void

blend2_node_set_amount ( String id, float blend )

void

blend2_node_set_filter_path ( String id, NodePath path, bool enable )

float

blend3_node_get_amount ( String id ) const

void

blend3_node_set_amount ( String id, float blend )

Vector2

blend4_node_get_amount ( String id ) const

void

blend4_node_set_amount ( String id, Vector2 blend )

Error

connect_nodes ( String id, String dst_id, int dst_input_idx )

void

disconnect_nodes ( String id, int dst_input_idx )

PoolStringArray

get_node_list ( )

float

mix_node_get_amount ( String id ) const

void

mix_node_set_amount ( String id, float ratio )

bool

node_exists ( String node ) const

int

node_get_input_count ( String id ) const

String

node_get_input_source ( String id, int idx ) const

Vector2

node_get_position ( String id ) const

NodeType

node_get_type ( String id ) const

Error

node_rename ( String node, String new_name )

void

node_set_position ( String id, Vector2 screen_position )

float

oneshot_node_get_autorestart_delay ( String id ) const

float

oneshot_node_get_autorestart_random_delay ( String id ) const

float

oneshot_node_get_fadein_time ( String id ) const

float

oneshot_node_get_fadeout_time ( String id ) const

bool

oneshot_node_has_autorestart ( String id ) const

bool

oneshot_node_is_active ( String id ) const

void

oneshot_node_set_autorestart ( String id, bool enable )

void

oneshot_node_set_autorestart_delay ( String id, float delay_sec )

void

oneshot_node_set_autorestart_random_delay ( String id, float rand_sec )

void

oneshot_node_set_fadein_time ( String id, float time_sec )

void

oneshot_node_set_fadeout_time ( String id, float time_sec )

void

oneshot_node_set_filter_path ( String id, NodePath path, bool enable )

void

oneshot_node_start ( String id )

void

oneshot_node_stop ( String id )

void

recompute_caches ( )

void

remove_node ( String id )

void

reset ( )

float

timescale_node_get_scale ( String id ) const

void

timescale_node_set_scale ( String id, float scale )

void

timeseek_node_seek ( String id, float seconds )

void

transition_node_delete_input ( String id, int input_idx )

int

transition_node_get_current ( String id ) const

int

transition_node_get_input_count ( String id ) const

float

transition_node_get_xfade_time ( String id ) const

bool

transition_node_has_input_auto_advance ( String id, int input_idx ) const

void

transition_node_set_current ( String id, int input_idx )

void

transition_node_set_input_auto_advance ( String id, int input_idx, bool enable )

void

transition_node_set_input_count ( String id, int count )

void

transition_node_set_xfade_time ( String id, float time_sec )

枚举

enum NodeType:

  • NODE_OUTPUT = 0 —- 输出节点。

  • NODE_ANIMATION = 1 —- Animation节点。

  • NODE_ONESHOT = 2 —- OneShot节点。

  • NODE_MIX = 3 —- Mix 节点。

  • NODE_BLEND2 = 4 —- Blend2节点。

  • NODE_BLEND3 = 5 —- Blend3节点。

  • NODE_BLEND4 = 6 —- Blend4节点。

  • NODE_TIMESCALE = 7 —- TimeScale节点。

  • NODE_TIMESEEK = 8 —- TimeSeek节点。

  • NODE_TRANSITION = 9 —- Transition节点。


enum AnimationProcessMode:

  • ANIMATION_PROCESS_PHYSICS = 0 —- 在物理过程中处理动画。在为物理物体设置动画时,这特别有用。

  • ANIMATION_PROCESS_IDLE = 1 —- 在空闲过程中处理动画。

属性说明

Default

false

Setter

set_active(value)

Getter

is_active()

如果trueAnimationTreePlayer就能够播放动画。


Default

NodePath(“..”)

Setter

set_base_path(value)

Getter

get_base_path()

相对访问其他节点的节点。

它访问骨骼,应该指向AnimationPlayer将指向其根节点的同一个节点。


Default

NodePath(“”)

Setter

set_master_player(value)

Getter

get_master_player()

通过 AnimationPlayer 的路径,此 AnimationTreePlayer 将动画绑定到动画节点。

设置后,Animation节点可以添加到AnimationPlayer


Default

1

Setter

set_animation_process_mode(value)

Getter

get_animation_process_mode()

更新动画的线程。

方法说明

添加type节点到图示中,名称为id


  • void advance ( float delta )

移动动画时间轴上的位置。delta是移动的时间,单位是秒。当前帧和delta之间的事件被处理。


返回与AnimationTreePlayer的动画节点绑定的Animation,名称为id


  • String animation_node_get_master_animation ( String id ) const

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


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


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


如果enabletrue,则ID为id的动画节点将关闭修改path属性的轨道。修改后的节点的子代继续进行动画处理。


  • void animation_node_set_master_animation ( String id, String source )

master_player中名为sourceAnimation绑定到动画节点id。重新计算缓存。


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


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


  • void blend2_node_set_amount ( String id, float blend )

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

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

在0的时候,输出是输入A。接近1的时候,A的影响变小,B的影响变大。在1时,输出是输入B。


如果enabletrue,名称为id的Blend2节点会关闭修改path处属性的轨道。被修改的节点的子节点继续处理动画。


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


  • void blend3_node_set_amount ( String id, float blend )

设置一个Blend3节点的混合值,传入节点名和混合值。

Blend3节点使用-1~1之间的一个值来混合3个动画 (A, B-, B+).

值为-1时,输出动画为B-;值从-1到0时,B-的影响减弱,A的影响变强,B+的影响为0;值为0时,输出为动画A;值从0到1时,A的影响减弱,B+的影响变强,B-的影响为0;值为1时,输出为动画B+。


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


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

Blend4节点可以混合两对动画。

这两对动画像Blend2一样被混合,然后相加在一起。


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


  • void disconnect_nodes ( String id, int dst_input_idx )

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


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


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


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

混合节点将输入b添加到输入a中,其量由比率给出。


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


  • int node_get_input_count ( String id ) const

返回给定节点的输入计数。不同类型的节点有不同的输入数量。


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


返回给定其名称节点在图示中的位置。


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


重命名图示中的一个节点。


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


  • float oneshot_node_get_autorestart_delay ( String id ) const

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


  • float oneshot_node_get_autorestart_random_delay ( String id ) const

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


  • float oneshot_node_get_fadein_time ( String id ) const

返回给定名称的OneShot节点的淡入时间。


  • float oneshot_node_get_fadeout_time ( String id ) const

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


  • bool oneshot_node_has_autorestart ( String id ) const

返回OneShot节点是否会根据其名称自动重新启动。


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


  • void oneshot_node_set_autorestart ( String id, bool enable )

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


  • void oneshot_node_set_autorestart_delay ( String id, float delay_sec )

设置OneShot节点的自动启动延迟,给定其名称和值,单位秒。


  • void oneshot_node_set_autorestart_random_delay ( String id, float rand_sec )

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


  • void oneshot_node_set_fadein_time ( String id, float time_sec )

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


  • void oneshot_node_set_fadeout_time ( String id, float time_sec )

设置OneShot节点的淡出时间,给定其名称和数值,单位秒。


如果enabletrue,ID为id的OneShot节点会关闭修改path处属性的轨道。被修改的节点的子节点继续进行动画。


  • void oneshot_node_start ( String id )

启动指定名称的OneShot节点。


  • void oneshot_node_stop ( String id )

停止名称为id的OneShot节点。


  • void recompute_caches ( )

手动重新计算由动画节点生成的轨道信息缓存。当外部资源修改动画节点的状态时需要用到。


  • void remove_node ( String id )

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


  • void reset ( )

重置此 AnimationTreePlayer


返回名称为id的TimeScale节点的时间缩放值。


  • void timescale_node_set_scale ( String id, float scale )

设置名称为id的TimeScale节点的时间缩放为scale

时间缩放节点用来加快Animation的速度,如果缩放高于1,就会减慢它们。

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


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

这在Animation或输入的Animation的混合中起到查寻的作用。


  • void transition_node_delete_input ( String id, int input_idx )

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


  • int transition_node_get_current ( String id ) const

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


  • int transition_node_get_input_count ( String id ) const

返回名称为id的过渡节点的输入数。你可以通过右键点击过渡节点来增加输入。


  • float transition_node_get_xfade_time ( String id ) const

返回名称为id的过渡节点的交叉淡化时间。


  • bool transition_node_has_input_auto_advance ( String id, int input_idx ) const

如果过渡节点上名称为idinput_idx的输入被设置为在完成后自动前进到下一个输入,则返回true


  • void transition_node_set_current ( String id, int input_idx )

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


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

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


  • void transition_node_set_input_count ( String id, int count )

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


  • void transition_node_set_xfade_time ( String id, float time_sec )

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