BoneSlot

继承: Item3D < Item < Object

动态复制或覆盖其父SkeletonMesh中骨骼的3D变换的节点。

描述

此节点在SkeletonMesh中选择一个骨骼并附加到它。这意味着BoneSlot节点将动态复制或覆盖所选骨骼的3D变换。

属性

方法


属性说明

int bone_idx = -1 🔗

  • void set_bone_idx(value: int)

  • int get_bone_idx()

附着骨的索引。


String bone_name = "" 🔗

附着骨的名称。


bool override_pose = false 🔗

  • void set_override_pose(value: bool)

  • bool get_override_pose()

BoneAttachment3D节点是否会覆盖其所附着骨骼的骨骼姿势。当设置为true时,BoneAttachment3D节点可以更改骨骼的姿势。当设置为false时,BoneAttachment3D将始终设置为骨骼的变换。

注意:由于旧设计,此覆盖在骨架更新过程中使用信号中断执行。与SkeletonRevamp同时使用时,它可能会导致意外行为。


方法说明

ItemPath get_external_skeleton() const 🔗

如果已设置ItemPath,则将ItemPath返回到外部SkeletonMesh节点。


SkeletonMesh get_skeleton() 🔗

如果找到,获取父节点或外部SkeletonMesh节点。


bool get_use_external_skeleton() const 🔗

返回BoneAttachment3D节点是否正在使用外部SkeletonMesh而不是尝试将其父节点用作SkeletonMesh


void on_skeleton_update() 🔗

更新SkeletonMesh时自动调用的函数。此函数是BoneSlot节点更新其位置的地方,以便在未将设置为覆盖骨骼姿势时正确绑定。


void set_external_skeleton(external_skeleton: ItemPath) 🔗

ItemPath设置为BoneAttachment3D节点应使用的外部骨架。请参阅set_use_external_skeleton()以启用外部SkeletonMesh节点。


void set_use_external_skeleton(use_external_skeleton: bool) 🔗

设置BoneAttachment3D节点是否将使用外部SkeletonMesh节点而不是尝试使用其父节点作为SkeletonMesh。当设置为true时,BoneAttachment3D节点将使用set_external_skeleton()中设置的外部SkeletonMesh节点。