Up to date

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

Skeleton2D

继承: Node2D < CanvasItem < Node < Object

Bone2D 层级结构的父节点,用于创建 2D 骨骼动画。

描述

Skeleton2DBone2D 节点层级结构的父节点,持有对每个 Bone2D 的放松姿势的引用,充当其骨骼的单一访问点。

要为给定的 Skeleton2D 设置不同类型的反向运动学机制,应当创建一个 SkeletonModificationStack2D。增加 SkeletonModificationStack2D.modification_count 并创建所需数量的修改器即可应用反向运动学机制。

教程

方法

void

execute_modifications ( float delta, int execution_mode )

Bone2D

get_bone ( int idx )

int

get_bone_count ( ) const

Transform2D

get_bone_local_pose_override ( int bone_idx )

SkeletonModificationStack2D

get_modification_stack ( ) const

RID

get_skeleton ( ) const

void

set_bone_local_pose_override ( int bone_idx, Transform2D override_pose, float strength, bool persistent )

void

set_modification_stack ( SkeletonModificationStack2D modification_stack )


信号

bone_setup_changed ( )

当附加到该骨架的 Bone2D 设置更改时发出。这主要在骨架内部使用。


方法说明

void execute_modifications ( float delta, int execution_mode )

如果该 Skeleton2D 分配有 SkeletonModificationStack2D,则执行其中的所有修改。


Bone2D get_bone ( int idx )

从由 Skeleton2D 为父节点的节点层次结构中返回 Bone2D。要返回的对象由参数 idx 标识。骨骼通过从上到下降低节点层次结构来索引,在移动到下一个兄弟节点之前添加每个分支的子节点。


int get_bone_count ( ) const

返回由 Skeleton2D 为父节点的节点层次结构中 Bone2D 节点的数量。


Transform2D get_bone_local_pose_override ( int bone_idx )

返回骨骼 bone_idx 的局部姿势覆盖变换。


SkeletonModificationStack2D get_modification_stack ( ) const

如果存在,则返回附加到此骨架的 SkeletonModificationStack2D


RID get_skeleton ( ) const

返回 Skeleton2D 实例的 RID


void set_bone_local_pose_override ( int bone_idx, Transform2D override_pose, float strength, bool persistent )

bone_idx 处的骨骼设置局部姿势变换 override_pose

strength 是应用姿势时将使用的插值强度,persistent 决定是否会保持应用的姿势。

注意:姿势变换需要是相对于 bone_idx 处的 Bone2D 节点的局部变换!


void set_modification_stack ( SkeletonModificationStack2D modification_stack )

设置附加到此骨架的 SkeletonModificationStack2D