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 父节点时将其返回。