Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

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_bone_pose_update ( int bone_index )

void

set_external_skeleton ( NodePath external_skeleton )

void

set_use_external_skeleton ( bool use_external_skeleton )


属性说明

int bone_idx = -1

  • void set_bone_idx ( int value )

  • int get_bone_idx ( )

所附着骨骼的索引。


String bone_name = ""

  • void set_bone_name ( String value )

  • String get_bone_name ( )

所附着骨骼的名称。


bool override_pose = false

  • void set_override_pose ( bool value )

  • bool get_override_pose ( )

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


方法说明

NodePath get_external_skeleton ( ) const

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


bool get_use_external_skeleton ( ) const

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


void on_bone_pose_update ( int bone_index )

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


void set_external_skeleton ( NodePath external_skeleton )

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


void set_use_external_skeleton ( bool use_external_skeleton )

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