AnimationNodeExtension
實驗性: This class may be changed or removed in future versions.
繼承: AnimationNode < Resource < RefCounted < Object
用於從 GDScript、C# 或 C++ 擴充 AnimationRootNode 的基底類別。
說明
AnimationNodeExtension 讓 AnimationRootNode 的 API 可供 GDScript、C# 或 C++ 擴充使用。此類別並非直接使用,而是提供給其他類別繼承,以便為 AnimationTree 系統建立自訂節點。
方法
_process_animation_node(playback_info: PackedFloat64Array, test_only: bool) virtual required |
|
get_remaining_time(node_info: PackedFloat32Array, break_loop: bool) static |
|
is_looping(node_info: PackedFloat32Array) static |
方法說明
PackedFloat32Array _process_animation_node(playback_info: PackedFloat64Array, test_only: bool) virtual required 🔗
這是供自訂節點覆寫的 AnimationNode._process() 版本,會回傳已處理動畫資料的 PackedFloat32Array。
PackedFloat64Array 參數包含播放資訊,依序以浮點數表示以下數值:播放時間與增量、開始與結束時間、是否請求跳轉(大於 0 的浮點數表示已請求)、跳轉是否來自外部(同樣以大於 0 表示)、目前的 LoopedFlag 以及目前的混合權重。
函式必須回傳節點時間資訊的 PackedFloat32Array,順序為:動畫長度、當前時間位置、增量、LoopMode、動畫是否即將結束(大於 0 表示是)以及動畫是否為無限(大於 0 表示是)。回傳陣列必須包含所有這些數值。
float get_remaining_time(node_info: PackedFloat32Array, break_loop: bool) static 🔗
回傳指定節點資訊的動畫剩餘時間。若動畫循環播放,只有當 break_loop 為 true 時才會回傳剩餘時間,否則會回傳一個很大的整數值。
bool is_looping(node_info: PackedFloat32Array) static 🔗
如果給定的 node_info 動畫正在循環,則返回 true。