Skeleton
Inherits: Spatial < Node < Object
角色和动画对象的骨架。
描述
骨架为管理骨骼提供了分层的界面,包括姿势、放松和动画(请参阅 Animation)。它还可以使用布娃娃物理。
骨骼相对于骨架的整体变换是由以下层次顺序决定的:放松姿势、自定义姿势和姿势。
注意,下面的“全局姿势”是指骨骼相对于骨架的整体变换,所以它不是骨骼的实际全局或世界变换。
教程
方法
void | add_bone ( String name ) |
void | bind_child_node_to_bone ( int bone_idx, Node node ) |
void | clear_bones ( ) |
void | clear_bones_global_pose_override ( ) |
int | find_bone ( String name ) const |
int | get_bone_count ( ) const |
Transform | get_bone_custom_pose ( int bone_idx ) const |
Transform | get_bone_global_pose ( int bone_idx ) const |
Transform | get_bone_global_pose_no_override ( int bone_idx ) const |
String | get_bone_name ( int bone_idx ) const |
int | get_bone_parent ( int bone_idx ) const |
Transform | get_bone_pose ( int bone_idx ) const |
Transform | get_bone_rest ( int bone_idx ) const |
Array | get_bound_child_nodes_to_bone ( int bone_idx ) const |
bool | is_bone_rest_disabled ( int bone_idx ) const |
void | localize_rests ( ) |
void | physical_bones_add_collision_exception ( RID exception ) |
void | physical_bones_remove_collision_exception ( RID exception ) |
void | physical_bones_start_simulation ( Array bones=[ ] ) |
void | physical_bones_stop_simulation ( ) |
SkinReference | register_skin ( Skin skin ) |
void | set_bone_custom_pose ( int bone_idx, Transform custom_pose ) |
void | set_bone_disable_rest ( int bone_idx, bool disable ) |
void | set_bone_global_pose_override ( int bone_idx, Transform pose, float amount, bool persistent=false ) |
void | set_bone_name ( int bone_idx, String name ) |
void | set_bone_parent ( int bone_idx, int parent_idx ) |
void | set_bone_pose ( int bone_idx, Transform pose ) |
void | set_bone_rest ( int bone_idx, Transform rest ) |
void | unbind_child_node_from_bone ( int bone_idx, Node node ) |
void | unparent_bone_and_rest ( int bone_idx ) |
信号
常量
- NOTIFICATION_UPDATE_SKELETON = 50
方法说明
添加一个骨骼,名称为 name
。 get_bone_count 将成为骨骼索引。
- void bind_child_node_to_bone ( int bone_idx, Node node )
很快就会弃用。
清除这个骨架上的所有骨骼。
- void clear_bones_global_pose_override ( )
返回name
与其名称匹配的的骨骼索引。
- int get_bone_count ( ) const
返回骨架中的骨骼数量。
返回指定骨骼的自定义姿势。自定义姿势应用于放松姿势之上。
返回相对于骨架的指定骨骼的整体变换。由于是相对于骨架的,这不是该骨骼的实际 “全局 “变换。
- Transform get_bone_global_pose_no_override ( int bone_idx ) const
返回指定骨骼的整体变换,相对于骨架,但没有任何全局姿势覆盖。相对于骨架帧,这不是骨骼的实际“全局”变换。
返回索引 index
处的骨骼名称。
- int get_bone_parent ( int bone_idx ) const
返回在bone_idx
处的骨骼的父级索引。如果是-1,那么骨骼就没有父骨骼。
注意:返回的父骨骼将总是小于bone_idx
。
返回指定骨骼的姿势变换。姿势应用于自定义姿势之上,自定义姿势应用于放松姿势之上。
返回骨骼 bone_idx
的休息变换。
- Array get_bound_child_nodes_to_bone ( int bone_idx ) const
很快就会弃用。
- bool is_bone_rest_disabled ( int bone_idx ) const
- void physical_bones_add_collision_exception ( RID exception )
- void physical_bones_remove_collision_exception ( RID exception )
- void physical_bones_start_simulation ( Array bones=[ ] )
- void physical_bones_stop_simulation ( )
- void set_bone_custom_pose ( int bone_idx, Transform custom_pose )
- void set_bone_disable_rest ( int bone_idx, bool disable )
- void set_bone_name ( int bone_idx, String name )
- void set_bone_parent ( int bone_idx, int parent_idx )
将骨骼索引 parent_idx
设置为 bone_idx
处骨骼的父级。如果 -1,则骨骼没有父级。
注意: parent_idx
必须小于 bone_idx
。
设置骨骼 bone_idx
的姿势变换。
为骨骼bone_idx
设置休息变换。
- void unbind_child_node_from_bone ( int bone_idx, Node node )
很快就会弃用。
- void unparent_bone_and_rest ( int bone_idx )