SkeletonModification2D

实验性: This class may be changed or removed in future versions.

继承: Resource < RefCounted < Object

派生: SkeletonModification2DCCDIK, SkeletonModification2DFABRIK, SkeletonModification2DJiggle, SkeletonModification2DLookAt, SkeletonModification2DPhysicalBones, SkeletonModification2DStackHolder, SkeletonModification2DTwoBoneIK

Skeleton2D 中的 Bone2D 进行操作的资源的基类。

描述

该资源提供了一个可以扩展的接口,因此在 Skeleton2D 中的 Bone2D 节点上运行的代码可以被混合并匹配在一起,以创建复杂的交互。

这用于为 Godot 提供一套灵活而强大的反向运动学解决方案,该解决方案可以适用许多不同的用途。

属性

bool

enabled

true

int

execution_mode

0

方法

void

_draw_editor_gizmo() virtual

void

_execute(delta: float) virtual

void

_setup_modification(modification_stack: SkeletonModificationStack2D) virtual

float

clamp_angle(angle: float, min: float, max: float, invert: bool)

bool

get_editor_draw_gizmo() const

bool

get_is_setup() const

SkeletonModificationStack2D

get_modification_stack()

void

set_editor_draw_gizmo(draw_gizmo: bool)

void

set_is_setup(is_setup: bool)


属性说明

bool enabled = true 🔗

  • void set_enabled(value: bool)

  • bool get_enabled()

如果为 true,则该修改器的 _execute 函数将被该 SkeletonModificationStack2D 调用。


int execution_mode = 0 🔗

  • void set_execution_mode(value: int)

  • int get_execution_mode()

修改器的执行模式。会告诉修改器栈何时执行该修改器。某修修改器存在只能在特定执行模式下可用的设置。


方法说明

void _draw_editor_gizmo() virtual 🔗

用于绘制编辑器专用的修改器小工具。此函数只会在 Godot 编辑器中调用,并且可以被覆盖,来绘制自定义小工具。

注意:你需要使用来自 SkeletonModificationStack2D.get_skeleton 的 Skeleton2D 及其绘制函数,因为 SkeletonModification2D 资源本身无法进行绘制。


void _execute(delta: float) virtual 🔗

执行给定的修改器。修改器在此时执行应执行的函数。


void _setup_modification(modification_stack: SkeletonModificationStack2D) virtual 🔗

安装修改器时调用。修改器在此时执行初始化。


float clamp_angle(angle: float, min: float, max: float, invert: bool) 🔗

接受角度并将其钳制在传入的 minmax 范围内。invert 会逆向钳制该角度,将其钳制在给定范围之外。


bool get_editor_draw_gizmo() const 🔗

返回这个修改器是否会在 Godot 编辑器中调用 _draw_editor_gizmo 绘制针对修改器的小工具。


bool get_is_setup() const 🔗

返回此修改器是否已被成功安装。


SkeletonModificationStack2D get_modification_stack() 🔗

返回该修改器绑定的 SkeletonModificationStack2D。你可以通过这个修改器栈来访问修改器所操作的 Skeleton2D。


void set_editor_draw_gizmo(draw_gizmo: bool) 🔗

设置这个修改器是否会在 Godot 编辑器中调用 _draw_editor_gizmo 绘制针对修改器的小工具。


void set_is_setup(is_setup: bool) 🔗

允许你手动设置该修改器的安装状态。这个函数应很少使用,因为该修改器所绑定的 SkeletonModificationStack2D 应该对该修改器进行安装。