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.

SkeletonModificationStack2D

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

繼承: Resource < RefCounted < Object

存放 SkeletonModification2D 堆疊的資源。

說明

該資源由 Skeleton 使用,並持有一個 SkeletonModification2D 堆疊。

這控制了修改的順序以及它們的套用方式。修改順序對於全身 IK 設定尤為重要,因為需要以正確的循序執行修改以獲得所需的結果。例如,想在人形骨骼的手臂之前對脊柱執行一個修改。

該資源還控制所有修改被套用於 Skeleton2D 的強度。

屬性

bool

enabled

false

int

modification_count

0

float

strength

1.0

方法

void

add_modification(modification: SkeletonModification2D)

void

delete_modification(mod_idx: int)

void

enable_all_modifications(enabled: bool)

void

execute(delta: float, execution_mode: int)

bool

get_is_setup() const

SkeletonModification2D

get_modification(mod_idx: int) const

Skeleton2D

get_skeleton() const

void

set_modification(mod_idx: int, modification: SkeletonModification2D)

void

setup()


屬性說明

bool enabled = false 🔗

  • void set_enabled(value: bool)

  • bool get_enabled()

如果為 true,則會呼叫該堆疊中的修改器。這是通過 Skeleton2D 節點自動處理的。


int modification_count = 0 🔗

  • void set_modification_count(value: int)

  • int get_modification_count()

堆疊中修改器的數量。


float strength = 1.0 🔗

  • void set_strength(value: float)

  • float get_strength()

堆疊中修改的插值強度。0 的值將使修改不被套用,0.5 的強度將套用一半,1 的強度將允許修改被完全套用並覆蓋 Skeleton2D Bone2D 姿勢。


方法說明

void add_modification(modification: SkeletonModification2D) 🔗

將傳入的 SkeletonModification2D 入堆疊。


void delete_modification(mod_idx: int) 🔗

如果存在,則刪除位於索引位置 mod_idxSkeletonModification2D


void enable_all_modifications(enabled: bool) 🔗

啟用堆疊中的所有 SkeletonModification2D


void execute(delta: float, execution_mode: int) 🔗

使用傳入的執行模式 execution_mode 執行堆疊中的所有 SkeletonModification2D,從索引 0 執行到 modification_count

注意:根據修改器的不同,結果可能會因修改器順序的不同而不同。例如,對脊柱的修改應該在對手臂的修改之前執行,這樣才能得到正確的結果。


bool get_is_setup() const 🔗

返回一個布林值,指示該修改堆疊是否已被設定並可以執行。


SkeletonModification2D get_modification(mod_idx: int) const 🔗

返回傳入索引 mod_idx 處的 SkeletonModification2D


Skeleton2D get_skeleton() const 🔗

返回 SkeletonModification2D 綁定到的 Skeleton2D 節點。


void set_modification(mod_idx: int, modification: SkeletonModification2D) 🔗

將位於 mod_idx 的修改器設定為傳入的 modification


void setup() 🔗

設定該修改堆疊以便它可以執行。該函式應由 Skeleton2D 呼叫,除非知道自己在做什麼,否則不應被手動呼叫。