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...
SkeletonModifier3D
派生: LookAtModifier3D, PhysicalBoneSimulator3D, RetargetModifier3D, SkeletonIK3D, SpringBoneSimulator3D, XRBodyModifier3D, XRHandModifier3D
能够修改 Skeleton3D 中骨骼的节点。
描述
SkeletonModifier3D 会将父级 Skeleton3D 节点作为目标 Skeleton3D。
如果存在 AnimationMixer,则修改会在 AnimationMixer 的播放处理后执行。
该节点应该用于实现自定义 IK 解算器、约束、骨架物理。
教程
属性
|
||
|
方法
void |
_process_modification() virtual |
get_skeleton() const |
信号
modification_processed() 🔗
修改完成后通知。
注意:如果要获取修改器修改后的骨骼姿势,必须在触发该信号时使用 Skeleton3D.get_bone_pose() 或 Skeleton3D.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 轴对应的枚举值。
属性说明
如果为 true
,则 SkeletonModifier3D 将执行处理。
设置修改的影响。
注意:该值由 Skeleton3D 用来混合,因此 SkeletonModifier3D 应始终仅应用结果的 100% 而不进行插值。
方法说明
void _process_modification() virtual 🔗
覆盖该虚拟方法以实现自定义骨架修改器。你应该执行诸如获取 Skeleton3D 的当前姿势并在此处应用姿势之类的操作。
_process_modification() 不得将 influence 应用于骨骼姿势,因为 Skeleton3D 会自动将影响应用于修改器设置的所有骨骼姿势。
Skeleton3D get_skeleton() const 🔗
存在 Skeleton3D 父节点时将其返回。