Skeleton
继承
简要描述
人物和动画对象的骨骼。
描述
Skeleton提供了用于管理骨骼的分层界面,包括姿势,休息和动画(请参见Animation)。它还可以使用布物理。
骨骼相对于骨骼的整体变换由以下层次顺序确定:静止姿势,自定义姿势和姿势。
请注意,下面的“全局姿势”是指骨骼相对于骨骼的整体变换,因此不是骨骼的实际全局/世界变换。
方法
返回值类型 | 方法名称 |
---|---|
void | add_bone(name: String) |
void | bind_child_node_to_bone(bone_idx: int, node: Node) |
void | clear_bones() |
int | find_bone(name: String) const |
int | get_bone_count() const |
Transform | get_bone_custom_pose(bone_idx: int) const |
Transform | get_bone_global_pose(bone_idx: int) const |
String | get_bone_name(bone_idx: int) const |
int | get_bone_parent(bone_idx: int) const |
Transform | get_bone_pose(bone_idx: int) const |
Transform | get_bone_rest(bone_idx: int) const |
Array | get_bound_child_nodes_to_bone(bone_idx: int) const |
bool | is_bone_rest_disabled(bone_idx: int) const |
void | localize_rests() |
void | physical_bones_add_collision_exception(exception: RID) |
void | physical_bones_remove_collision_exception(exception: RID) |
void | physical_bones_start_simulation(bones: Array = []) |
void | physical_bones_stop_simulation() |
SkinReference | register_skin(skin: Skin) |
void | set_bone_custom_pose(bone_idx: int, custom_pose: Transform) |
void | set_bone_disable_rest(bone_idx: int, disable: bool) |
void | set_bone_global_pose_override(bone_idx: int, pose: Transform, amount: float, persistent: bool = false) |
void | set_bone_parent(bone_idx: int, parent_idx: int) |
void | set_bone_pose(bone_idx: int, pose: Transform) |
void | set_bone_rest(bone_idx: int, rest: Transform) |
void | unbind_child_node_from_bone(bone_idx: int, node: Node) |
void | unparent_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)