AnimationNodeTransition
繼承: AnimationNodeSync < AnimationNode < Resource < RefCounted < Object
AnimationTree 中連接兩個 AnimationNode 的過渡。
說明
適用於不需要較進階的 AnimationNodeStateMachine 的情況的簡易狀態機。可將動畫接到輸入,並指定過渡時間。
設定請求並變更動畫播放後,過渡節點會在下一個處理影格將其 transition_request 值設為空字串,藉此自動清除請求。
注意: 使用交叉淡入時,current_state 與 current_index 會在淡入一開始就即刻切換到下一個狀態。
# 播放連接至 "state_2" 埠的子動畫。
animation_tree.set("parameters/Transition/transition_request", "state_2")
# 另一種寫法(結果相同)。
animation_tree["parameters/Transition/transition_request"] = "state_2"
# 取得目前狀態名稱(唯讀)。
animation_tree.get("parameters/Transition/current_state")
# 另一種寫法(結果相同)。
animation_tree["parameters/Transition/current_state"]
# 取得目前狀態索引(唯讀)。
animation_tree.get("parameters/Transition/current_index")
# 另一種寫法(結果相同)。
animation_tree["parameters/Transition/current_index"]
// 播放連接至 "state_2" 埠的子動畫。
animationTree.Set("parameters/Transition/transition_request", "state_2");
// 取得目前狀態名稱(唯讀)。
animationTree.Get("parameters/Transition/current_state");
// 取得目前狀態索引(唯讀)。
animationTree.Get("parameters/Transition/current_index");
教學
屬性
|
||
|
||
|
方法
is_input_loop_broken_at_end(input: int) const |
|
is_input_reset(input: int) const |
|
is_input_set_as_auto_advance(input: int) const |
|
void |
set_input_as_auto_advance(input: int, enable: bool) |
void |
set_input_break_loop_at_end(input: int, enable: bool) |
void |
set_input_reset(input: int, enable: bool) |
屬性說明
bool allow_transition_to_self = false 🔗
若為 true,允許過渡到自身狀態;若在輸入啟用了重設選項,動畫將重新開始。若為 false,則過渡到自身狀態時不會有任何效果。
此動畫節點已啟用的輸入埠數量。
決定動畫交叉淡入淡出的緩動方式。若留空則為線性過渡。應為單位 Curve。
各輸入所連接動畫之間的交叉淡入時間(秒)。
注意:AnimationNodeTransition 會在淡入開始後立即將目前狀態切換為下一個狀態。剩餘的精確時間只能由主要動畫推算。當 AnimationNodeOutput 被視為最上游時,xfade_time 不會因下游的 delta 而縮放。另見 AnimationNodeOneShot.fadeout_time。
方法說明
bool is_input_loop_broken_at_end(input: int) const 🔗
返回動畫是否會在迴圈週期結束時中斷迴圈以進行過渡。
bool is_input_reset(input: int) const 🔗
返回當動畫自另一段動畫過渡而來時,該動畫是否會重新開始播放。
bool is_input_set_as_auto_advance(input: int) const 🔗
若指定的 input 索引已啟用自動前進,則回傳 true。
void set_input_as_auto_advance(input: int, enable: bool) 🔗
啟用或停用指定 input 索引的自動前進。啟用後,節點在動畫播放一次後會切換到下一個輸入;若為最後一個輸入,則會循環回第一個。
void set_input_break_loop_at_end(input: int, enable: bool) 🔗
如果為 true,即使動畫設定為循環,也會在本迴圈結束時中斷迴圈以進行轉場。
void set_input_reset(input: int, enable: bool) 🔗
若為 true,過渡至目標動畫時會重新開始播放。