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