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 调用,除非知道自己在做什么,否则不应被手动调用。