BoneAttachment3D

继承: Node3D < Node < Object

对父级 Skeleton3D 中某个骨骼的 3D 变换进行复制或覆盖的节点。

描述

这个节点能够选中 Skeleton3D 中的某个骨骼并附加到这个骨骼上。这样 BoneAttachment3D 节点就能够动态复制或覆盖所选骨骼的 3D 变换。

属性

int

bone_idx

-1

String

bone_name

“”

bool

override_pose

false

方法

NodePath

get_external_skeleton() const

bool

get_use_external_skeleton() const

void

on_skeleton_update()

void

set_external_skeleton(external_skeleton: NodePath)

void

set_use_external_skeleton(use_external_skeleton: bool)


属性说明

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 始终为该骨骼的变换。

注意:由于固有的设计,覆盖是在骨架更新的过程中使用信号打断执行的。与 SkeletonModifier3D 一起使用时可能会造成预料之外的行为。


方法说明

NodePath get_external_skeleton() const 🔗

返回到外部 Skeleton3D 节点的 NodePath(如果已设置)。


bool get_use_external_skeleton() const 🔗

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


void on_skeleton_update() 🔗

Skeleton3D 被更新时自动调用的函数。该函数是 BoneAttachment3D 节点更新其位置的地方,以便在设置为覆盖骨骼姿势时正确绑定。


void set_external_skeleton(external_skeleton: NodePath) 🔗

设置该 BoneAttachment3D 节点到其应使用的外部骨架的 NodePath。请参阅 set_use_external_skeleton 以启用外部 Skeleton3D 节点。


void set_use_external_skeleton(use_external_skeleton: bool) 🔗

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