跳到主要内容

Skeleton

继承

Spatial

简要描述

人物和动画对象的骨骼。

描述

Skeleton提供了用于管理骨骼的分层界面,包括姿势,休息和动画(请参见Animation)。它还可以使用布物理。

骨骼相对于骨骼的整体变换由以下层次顺序确定:静止姿势,自定义姿势和姿势。

请注意,下面的“全局姿势”是指骨骼相对于骨骼的整体变换,因此不是骨骼的实际全局/世界变换。

方法

返回值类型方法名称
voidadd_bone(name: String)
voidbind_child_node_to_bone(bone_idx: int, node: Node)
voidclear_bones()
intfind_bone(name: String) const
intget_bone_count() const
Transformget_bone_custom_pose(bone_idx: int) const
Transformget_bone_global_pose(bone_idx: int) const
Stringget_bone_name(bone_idx: int) const
intget_bone_parent(bone_idx: int) const
Transformget_bone_pose(bone_idx: int) const
Transformget_bone_rest(bone_idx: int) const
Arrayget_bound_child_nodes_to_bone(bone_idx: int) const
boolis_bone_rest_disabled(bone_idx: int) const
voidlocalize_rests()
voidphysical_bones_add_collision_exception(exception: RID)
voidphysical_bones_remove_collision_exception(exception: RID)
voidphysical_bones_start_simulation(bones: Array = [])
voidphysical_bones_stop_simulation()
SkinReferenceregister_skin(skin: Skin)
voidset_bone_custom_pose(bone_idx: int, custom_pose: Transform)
voidset_bone_disable_rest(bone_idx: int, disable: bool)
voidset_bone_global_pose_override(bone_idx: int, pose: Transform, amount: float, persistent: bool = false)
voidset_bone_parent(bone_idx: int, parent_idx: int)
voidset_bone_pose(bone_idx: int, pose: Transform)
voidset_bone_rest(bone_idx: int, rest: Transform)
voidunbind_child_node_from_bone(bone_idx: int, node: Node)
voidunparent_bone_and_rest(bone_idx: int)

方法说明

  • add_bone add_bone(name: String)

添加名称为name的骨骼。get_bone_count将成为骨骼索引。


  • bind_child_node_to_bone bind_child_node_to_bone(bone_idx: int, node: Node)

即将淘汰。


  • clear_bones clear_bones()

清除此骨骼中的所有骨骼。


  • find_bone find_bone(name: String) const

返回与name作为其名称匹配的骨骼索引。


  • get_bone_count get_bone_count() const

返回骨骼中的骨骼数量。


  • get_bone_custom_pose get_bone_custom_pose(bone_idx: int) const

返回指定骨骼的自定义姿势。自定义姿势将应用在其余姿势的顶部。


  • get_bone_global_pose get_bone_global_pose(bone_idx: int) const

返回指定骨骼相对于骨骼的整体变换。相对于骨架框架,这不是骨骼的实际“全局”变换。


  • get_bone_name get_bone_name(bone_idx: int) const

返回索引为index的骨骼的名称。


  • get_bone_parent get_bone_parent(bone_idx: int) const

返回在bone_idx处是骨骼父级的骨骼索引。如果为-1,则骨骼没有父对象。

注意:返回的父骨骼将始终小于bone_idx


  • get_bone_pose get_bone_pose(bone_idx: int) const

返回指定骨骼的姿势变换。姿势将应用到自定义姿势的顶部,自定义姿势将被应用在其余姿势的顶部。


  • get_bone_rest get_bone_rest(bone_idx: int) const

返回骨骼bone_idx的其余变换。


  • get_bound_child_nodes_to_bone get_bound_child_nodes_to_bone(bone_idx: int) const

已过时。


  • is_bone_rest_disabled is_bone_rest_disabled(bone_idx: int) const

  • localize_rests localize_rests()

  • physical_bones_add_collision_exception physical_bones_add_collision_exception(exception: RID)

  • physical_bones_remove_collision_exception physical_bones_remove_collision_exception(exception: RID)

  • physical_bones_start_simulation physical_bones_start_simulation(bones: Array = [])

  • physical_bones_stop_simulation physical_bones_stop_simulation()

  • register_skin register_skin(skin: Skin)

  • set_bone_custom_pose set_bone_custom_pose(bone_idx: int, custom_pose: Transform)

  • set_bone_disable_rest set_bone_disable_rest(bone_idx: int, disable: bool)

  • set_bone_global_pose_override set_bone_global_pose_override(bone_idx: int, pose: Transform, amount: float, persistent: bool = false)

  • set_bone_parent set_bone_parent(bone_idx: int, parent_idx: int)

将骨骼索引parent_idx设置为bone_idx处的骨骼的父代。

注意: parent_idx必须小于bone_idx


  • set_bone_pose set_bone_pose(bone_idx: int, pose: Transform)

返回骨骼bone_idx的姿势变换。


  • set_bone_rest set_bone_rest(bone_idx: int, rest: Transform)

设置骨骼bone_idx的其余变换。


  • unbind_child_node_from_bone unbind_child_node_from_bone(bone_idx: int, node: Node)

已过时。


  • unparent_bone_and_rest unparent_bone_and_rest(bone_idx: int)