SkeletonRevamp

继承: Item3D < Item < Object

派生: LookAtRevamp, PhysicalBoneSimu, RetargetRevamp, SkeletonIK3D, SpringBoneSimu, XRBulkRevamp, XRHandRevamp

可以修改Skeleton3D骨骼的节点。

描述

SkeletonRevamp通过具有SkeletonMesh父级来检索目标SkeletonMesh

如果有AnimationMixer,修改总是在AnimationMixer的播放过程之后执行。

此节点应用于实现自定义IK求解器、约束或骨架物理。

属性

方法


信号

modification_processed() 🔗

通知修改何时完成。

注意:如果你想通过修饰符获得修改后的骨骼姿势,你必须在这个信号被触发的那一刻使用SkeletonMesh.get_bone_pose()SkeletonMesh.get_bone_global_pose()


枚举

enum BoneAxis: 🔗

BoneAxis BONE_AXIS_PLUS_X = 0

+X轴的枚举值。

BoneAxis BONE_AXIS_MINUS_X = 1

-X轴的枚举值。

BoneAxis BONE_AXIS_PLUS_Y = 2

+Y轴的枚举值。

BoneAxis BONE_AXIS_MINUS_Y = 3

-Y轴的枚举值。

BoneAxis BONE_AXIS_PLUS_Z = 4

+Z轴的枚举值。

BoneAxis BONE_AXIS_MINUS_Z = 5

-Z轴的枚举值。


属性说明

bool active = true 🔗

  • void set_active(value: bool)

  • bool is_active()

如果true,则SkeletonRevamp将被处理。


float influence = 1.0 🔗

  • void set_influence(value: float)

  • float get_influence()

设置修改的影响。

注意:此值由SkeletonMesh用于混合,因此SkeletonRevamp应始终仅应用100%的结果而不进行插值。


方法说明

void _process_modification() virtual 🔗

重写此虚拟方法以实现自定义骨架修饰符。您应该执行诸如获取SkeletonMesh的当前姿势并在此处应用姿势之类的操作。

_process_modification()不得将influence应用于骨骼姿势,因为SkeletonMesh会自动将影响力应用于修饰符设置的所有骨骼姿势。


SkeletonMesh get_skeleton() const 🔗

如果找到,则获取父SkeletonMesh节点。