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.
Checking the stable version of the documentation...
SkeletonModificationStack2D
实验性: This class may be changed or removed in future versions.
继承: Resource < RefCounted < Object
存放 SkeletonModification2D 栈的资源。
描述
该资源由 Skeleton 使用,并持有一个 SkeletonModification2D 堆栈。
这控制了修改的顺序以及它们的应用方式。修改顺序对于全身 IK 设置尤为重要,因为需要以正确的顺序执行修改以获得所需的结果。例如,想在人形骨骼的手臂之前对脊柱执行一个修改。
该资源还控制所有修改被应用于 Skeleton2D 的强度。
属性
|
||
|
||
|
方法
void |
add_modification(modification: SkeletonModification2D) |
void |
delete_modification(mod_idx: int) |
void |
enable_all_modifications(enabled: bool) |
void |
|
get_is_setup() const |
|
get_modification(mod_idx: int) const |
|
get_skeleton() const |
|
void |
set_modification(mod_idx: int, modification: SkeletonModification2D) |
void |
setup() |
属性说明
如果为 true
,则会调用该堆栈中的修改器。这是通过 Skeleton2D 节点自动处理的。
栈中修改器的数量。
堆栈中修改的插值强度。0
的值将使修改不被应用,0.5
的强度将应用一半,1
的强度将允许修改被完全应用并覆盖 Skeleton2D Bone2D 姿势。
方法说明
void add_modification(modification: SkeletonModification2D) 🔗
将传入的 SkeletonModification2D 入栈。
void delete_modification(mod_idx: int) 🔗
如果存在,则删除位于索引位置 mod_idx
的 SkeletonModification2D。
void enable_all_modifications(enabled: bool) 🔗
启用栈中的所有 SkeletonModification2D。
void execute(delta: float, execution_mode: int) 🔗
使用传入的执行模式 execution_mode
执行栈中的所有 SkeletonModification2D,从索引 0
执行到 modification_count。
注意:根据修改器的不同,结果可能会因修改器顺序的不同而不同。例如,对脊柱的修改应该在对手臂的修改之前执行,这样才能得到正确的结果。
返回一个布尔值,指示该修改堆栈是否已被设置并可以执行。
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 调用,不清楚有什么用就别手动调用。