Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

SkeletonModification2D

继承: 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 ( float delta ) virtual

void

_setup_modification ( SkeletonModificationStack2D modification_stack ) virtual

float

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

bool

get_editor_draw_gizmo ( ) const

bool

get_is_setup ( ) const

SkeletonModificationStack2D

get_modification_stack ( )

void

set_editor_draw_gizmo ( bool draw_gizmo )

void

set_is_setup ( bool is_setup )


属性说明

bool enabled = true

  • void set_enabled ( bool value )

  • bool get_enabled ( )

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


int execution_mode = 0

  • void set_execution_mode ( int value )

  • int get_execution_mode ( )

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


方法说明

void _draw_editor_gizmo ( ) virtual

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

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


void _execute ( float delta ) virtual

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


void _setup_modification ( SkeletonModificationStack2D modification_stack ) virtual

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


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

接受角度并将其钳制在传入的 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 ( bool draw_gizmo )

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


void set_is_setup ( bool is_setup )

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