AnimationTreePlayer
继承
简要描述
使用节点图混合动画的动画播放器。
描述
一个节点图工具,用于混合绑定到AnimationPlayer的多个动画。
它从AnimationPlayer节点中获取Animation,并根据节点图对其进行混合。
成员
类型 | 属性名 | 默认值 |
---|---|---|
bool | active | false |
NodePath | base_path | NodePath("..") |
NodePath | master_player | NodePath("") |
int | playback_process_mode | 1 |
方法
返回值类型 | 方法名称 |
---|---|
void | add_node(type: int, id: String) |
void | advance(delta: float) |
Animation | animation_node_get_animation(id: String) const |
String | animation_node_get_master_animation(id: String) const |
float | animation_node_get_position(id: String) const |
void | animation_node_set_animation(id: String, animation: Animation) |
void | animation_node_set_filter_path(id: String, path: NodePath, enable: bool) |
void | animation_node_set_master_animation(id: String, source: String) |
bool | are_nodes_connected(id: String, dst_id: String, dst_input_idx: int) const |
float | blend2_node_get_amount(id: String) const |
void | blend2_node_set_amount(id: String, blend: float) |
void | blend2_node_set_filter_path(id: String, path: NodePath, enable: bool) |
float | blend3_node_get_amount(id: String) const |
void | blend3_node_set_amount(id: String, blend: float) |
Vector2 | blend4_node_get_amount(id: String) const |
void | blend4_node_set_amount(id: String, blend: Vector2) |
int | connect_nodes(id: String, dst_id: String, dst_input_idx: int) |
void | disconnect_nodes(id: String, dst_input_idx: int) |
PoolStringArray | get_node_list() |
float | mix_node_get_amount(id: String) const |
void | mix_node_set_amount(id: String, ratio: float) |
bool | node_exists(node: String) const |
int | node_get_input_count(id: String) const |
String | node_get_input_source(id: String, idx: int) const |
Vector2 | node_get_position(id: String) const |
int | node_get_type(id: String) const |
int | node_rename(node: String, new_name: String) |
void | node_set_position(id: String, screen_position: Vector2) |
float | oneshot_node_get_autorestart_delay(id: String) const |
float | oneshot_node_get_autorestart_random_delay(id: String) const |
float | oneshot_node_get_fadein_time(id: String) const |
float | oneshot_node_get_fadeout_time(id: String) const |
bool | oneshot_node_has_autorestart(id: String) const |
bool | oneshot_node_is_active(id: String) const |
void | oneshot_node_set_autorestart(id: String, enable: bool) |
void | oneshot_node_set_autorestart_delay(id: String, delay_sec: float) |
void | oneshot_node_set_autorestart_random_delay(id: String, rand_sec: float) |
void | oneshot_node_set_fadein_time(id: String, time_sec: float) |
void | oneshot_node_set_fadeout_time(id: String, time_sec: float) |
void | oneshot_node_set_filter_path(id: String, path: NodePath, enable: bool) |
void | oneshot_node_start(id: String) |
void | oneshot_node_stop(id: String) |
void | recompute_caches() |
void | remove_node(id: String) |
void | reset() |
float | timescale_node_get_scale(id: String) const |
void | timescale_node_set_scale(id: String, scale: float) |
void | timeseek_node_seek(id: String, seconds: float) |
void | transition_node_delete_input(id: String, input_idx: int) |
int | transition_node_get_current(id: String) const |
int | transition_node_get_input_count(id: String) const |
float | transition_node_get_xfade_time(id: String) const |
bool | transition_node_has_input_auto_advance(id: String, input_idx: int) const |
void | transition_node_set_current(id: String, input_idx: int) |
void | transition_node_set_input_auto_advance(id: String, input_idx: int, enable: bool) |
void | transition_node_set_input_count(id: String, count: int) |
void | transition_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
Default | false |
---|---|
setter | set_active(value) |
getter | is_active |
- NodePath base_path
Default | NodePath("..") |
---|---|
setter | set_base_path(value) |
getter | get_base_path |
- NodePath master_player
Default | NodePath("") |
---|---|
setter | set_master_player(value) |
getter | get_master_player |
- int playback_process_mode
Default | 1 |
---|---|
setter | set_animation_process_mode(value) |
getter | get_animation_process_mode |
方法说明
- add_node add_node(type: int, id: String)
将名称为id
的type
节点添加到图中。
- advance advance(delta: float)
在动画时间轴中移动位置。
- animation_node_get_animation animation_node_get_animation(id: String) const
返回绑定到AnimationTreePlayer动画节点的AnimationPlayer的Animation,名称为id
。
- animation_node_get_master_animation animation_node_get_master_animation(id: String) const
返回绑定到此动画节点的master_player的Animation的名称。
- 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
的新Animation从master_player成员绑定到AnimationTreePlayer的动画节点。
- animation_node_set_filter_path animation_node_set_filter_path(id: String, path: NodePath, enable: bool)
如果enable
为true
,则ID为id
的动画节点将关闭修改path
属性的轨道。
- animation_node_set_master_animation animation_node_set_master_animation(id: String, source: String)
将名为source
的Animation从master_player成员绑定到动画节点id
。
- are_nodes_connected are_nodes_connected(id: String, dst_id: String, dst_input_idx: int) const
返回节点id
和dst_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)
如果enable
为true
,则名称为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)
如果enable
为true
,则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()
- 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
。