Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

AnimationNodeExtension

實驗性: This class may be changed or removed in future versions.

繼承: AnimationNode < Resource < RefCounted < Object

用於從 GDScript、C# 或 C++ 擴充 AnimationRootNode 的基底類別。

說明

AnimationNodeExtensionAnimationRootNode 的 API 可供 GDScript、C# 或 C++ 擴充使用。此類別並非直接使用,而是提供給其他類別繼承,以便為 AnimationTree 系統建立自訂節點。

方法

PackedFloat32Array

_process_animation_node(playback_info: PackedFloat64Array, test_only: bool) virtual required

float

get_remaining_time(node_info: PackedFloat32Array, break_loop: bool) static

bool

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_looptrue 時才會回傳剩餘時間,否則會回傳一個很大的整數值。


bool is_looping(node_info: PackedFloat32Array) static 🔗

如果給定的 node_info 動畫正在循環,則返回 true