Skeleton¶
Inherits: Spatial < Node < Object
角色和动画对象的骨架。
描述¶
骨架为管理骨骼提供了分层的界面,包括姿势、放松和动画(请参阅 Animation)。它还可以使用布娃娃物理。
骨骼相对于骨架的整体变换是由以下层次顺序决定的:放松姿势、自定义姿势和姿势。
注意,下面的“全局姿势”是指骨骼相对于骨架的整体变换,所以它不是骨骼的实际全局或世界变换。
教程¶
方法¶
信号¶
skeleton_updated ( )
常量¶
NOTIFICATION_UPDATE_SKELETON = 50
方法说明¶
void add_bone ( String name )
添加一个骨骼,名称为 name
。 get_bone_count 将成为骨骼索引。
很快就会弃用。
void clear_bones ( )
清除这个骨架上的所有骨骼。
void clear_bones_global_pose_override ( )
返回name
与其名称匹配的的骨骼索引。
int get_bone_count ( ) const
返回骨架中的骨骼数量。
返回指定骨骼的自定义姿势。自定义姿势应用于放松姿势之上。
返回相对于骨架的指定骨骼的整体变换。由于是相对于骨架的,这不是该骨骼的实际 "全局 "变换。
返回指定骨骼的整体变换,相对于骨架,但没有任何全局姿势覆盖。相对于骨架帧,这不是骨骼的实际“全局”变换。
返回索引 index
处的骨骼名称。
返回在bone_idx
处的骨骼的父级索引。如果是-1,那么骨骼就没有父骨骼。
注意:返回的父骨骼将总是小于bone_idx
。
返回指定骨骼的姿势变换。姿势应用于自定义姿势之上,自定义姿势应用于放松姿势之上。
返回骨骼 bone_idx
的休息变换。
很快就会弃用。
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_global_pose_override ( int bone_idx, Transform pose, float amount, bool persistent=false )
将骨骼索引 parent_idx
设置为 bone_idx
处骨骼的父级。如果 -1,则骨骼没有父级。
注意: parent_idx
必须小于 bone_idx
。
设置骨骼 bone_idx
的姿势变换。
为骨骼bone_idx
设置休息变换。
很快就会弃用。
void unparent_bone_and_rest ( int bone_idx )