骑砍战团MOD开发(25)-module_animations.py骨骼动画

一.引擎固化骨架

     Data\skeleton_bodies.xml:定义系统骨架skel_human,skel_horse.

<Skeletons><Skeleton name="skel_human"><Skeleton name="skel_horse">
</Skeletons>

    CommonRes\skeletons.brf 为skel_human的资源文件,适用BRF打开

    CommonRes\horse_skeleton.brf 为skel_horse的资源文件,适用BRF打开

二.自定义骨架

     通过在module_skins.py添加新的皮肤绑定新的骨架.

#  Each skin record contains the following fields:
#  1) Skin id: used for referencing skins.
#  2) Skin flags. Not used yet. Should be 0.
#  3) Body mesh.
#  4) Calf mesh (left one).
#  5) Hand mesh (left one).
#  6) Head mesh.
#  7) Face keys (list)
#  8) List of hair meshes.
#  9) List of beard meshes.
# 10) List of hair textures.
# 11) List of beard textures.
# 12) List of face textures.
# 13) List of voices.
# 14) Skeleton name  定义资源名称
# 15) Scale (doesn't fully work yet)
# 16) Blood particles 1 (do not add this if you wish to use the default particles)
# 17) Blood particles 2 (do not add this if you wish to use the default particles)
# 17) Face key constraints (do not add this if you do not wish to use it)

三.骨骼动画

     骑砍中的四向攻击,骑马等动作都是采用骨骼动画制作,通过module_animations.py配置不同的动画,部分动画固化至引擎中,如四向攻击,骑马,跳跃等.骑砍中固化的骨骼动画有:

act_unused_horse_anim_100   act_unused_horse_anim_99    act_unused_horse_anim_98    act_unused_horse_anim_97    act_unused_horse_anim_96    act_unused_horse_anim_95    act_unused_horse_anim_94    act_unused_horse_anim_93    act_unused_horse_anim_92    act_unused_horse_anim_91    act_unused_horse_anim_90    act_unused_horse_anim_89    act_unused_horse_anim_88    act_unused_horse_anim_87    act_unused_horse_anim_86    act_unused_horse_anim_85    act_unused_horse_anim_84    act_unused_horse_anim_83    act_unused_horse_anim_82    act_unused_horse_anim_81    act_unused_horse_anim_80    act_unused_horse_anim_79    act_unused_horse_anim_78    act_unused_horse_anim_77    act_unused_horse_anim_76    act_unused_horse_anim_75    act_unused_horse_anim_74    act_unused_horse_anim_73    act_unused_horse_anim_72    act_unused_horse_anim_71    act_unused_horse_anim_70    act_unused_horse_anim_69    act_unused_horse_anim_68    act_unused_horse_anim_67    act_unused_horse_anim_66    act_unused_horse_anim_65    act_unused_horse_anim_64    act_unused_horse_anim_63    act_unused_horse_anim_62    act_unused_horse_anim_61    act_unused_horse_anim_60    act_unused_horse_anim_59    act_unused_horse_anim_58    act_unused_horse_anim_57    act_unused_horse_anim_56    act_unused_horse_anim_55    act_unused_horse_anim_54    act_unused_horse_anim_53    act_unused_horse_anim_52    act_unused_horse_anim_51    act_unused_horse_anim_50    act_unused_horse_anim_49    act_unused_horse_anim_48    act_unused_horse_anim_47    act_unused_horse_anim_46    act_unused_horse_anim_45    act_unused_horse_anim_44    act_unused_horse_anim_43    act_unused_horse_anim_42    act_unused_horse_anim_41    act_unused_horse_anim_40    act_unused_horse_anim_39    act_unused_horse_anim_38    act_unused_horse_anim_37    act_unused_horse_anim_36    act_unused_horse_anim_35    act_unused_horse_anim_34    act_unused_horse_anim_33    act_unused_horse_anim_32    act_unused_horse_anim_31    act_unused_horse_anim_30    act_unused_horse_anim_29    act_unused_horse_anim_28    act_unused_horse_anim_27    act_unused_horse_anim_26    act_unused_horse_anim_25    act_unused_horse_anim_24    act_unused_horse_anim_23    act_unused_horse_anim_22    act_unused_horse_anim_21    act_unused_horse_anim_20    act_unused_horse_anim_19    act_unused_horse_anim_18    act_unused_horse_anim_17    act_unused_horse_anim_16    act_unused_horse_anim_15    act_unused_horse_anim_14    act_unused_horse_anim_13    act_unused_horse_anim_12    act_unused_horse_anim_11    act_unused_horse_anim_10    act_unused_horse_anim_9 act_unused_horse_anim_8 act_unused_horse_anim_7 act_unused_horse_anim_6 act_unused_horse_anim_5 act_unused_horse_anim_4 act_unused_horse_anim_3 act_unused_horse_anim_2 act_unused_horse_anim_1 act_horse_fall_roll act_horse_fall_right    act_horse_fall_in_place act_horse_slow  act_horse_turn_left_head    act_horse_turn_right_head   act_horse_turn_left act_horse_turn_right    act_horse_jump_end  act_horse_jump  act_horse_rear  act_horse_walk_backward act_horse_pace_4    act_horse_pace_3    act_horse_pace_2    act_horse_pace_1    act_horse_stand act_unused_human_anim_100   act_unused_human_anim_99    act_unused_human_anim_98    act_unused_human_anim_97    act_unused_human_anim_96    act_unused_human_anim_95    act_unused_human_anim_94    act_unused_human_anim_93    act_unused_human_anim_92    act_unused_human_anim_91    act_unused_human_anim_90    act_unused_human_anim_89    act_unused_human_anim_88    act_unused_human_anim_87    act_unused_human_anim_86    act_unused_human_anim_85    act_unused_human_anim_84    act_unused_human_anim_83    act_unused_human_anim_82    act_unused_human_anim_81    act_unused_human_anim_80    act_unused_human_anim_79    act_unused_human_anim_78    act_unused_human_anim_77    act_unused_human_anim_76    act_unused_human_anim_75    act_unused_human_anim_74    act_unused_human_anim_73    act_unused_human_anim_72    act_unused_human_anim_71    act_unused_human_anim_70    act_unused_human_anim_69    act_unused_human_anim_68    act_unused_human_anim_67    act_unused_human_anim_66    act_unused_human_anim_65    act_unused_human_anim_64    act_unused_human_anim_63    act_unused_human_anim_62    act_unused_human_anim_61    act_unused_human_anim_60    act_unused_human_anim_59    act_unused_human_anim_58    act_unused_human_anim_57    act_unused_human_anim_56    act_unused_human_anim_55    act_unused_human_anim_54    act_unused_human_anim_53    act_unused_human_anim_52    act_unused_human_anim_51    act_unused_human_anim_50    act_unused_human_anim_49    act_unused_human_anim_48    act_unused_human_anim_47    act_unused_human_anim_46    act_unused_human_anim_45    act_unused_human_anim_44    act_unused_human_anim_43    act_unused_human_anim_42    act_unused_human_anim_41    act_unused_human_anim_40    act_unused_human_anim_39    act_unused_human_anim_38    act_unused_human_anim_37    act_unused_human_anim_36    act_unused_human_anim_35    act_unused_human_anim_34    act_unused_human_anim_33    act_unused_human_anim_32    act_unused_human_anim_31    act_unused_human_anim_30    act_unused_human_anim_29    act_unused_human_anim_28    act_unused_human_anim_27    act_unused_human_anim_26    act_unused_human_anim_25    act_unused_human_anim_24    act_unused_human_anim_23    act_unused_human_anim_22    act_unused_human_anim_21    act_unused_human_anim_20    act_unused_human_anim_19    act_unused_human_anim_18    act_unused_human_anim_17    act_unused_human_anim_16    act_unused_human_anim_15    act_unused_human_anim_14    act_unused_human_anim_13    act_unused_human_anim_12    act_unused_human_anim_11    act_unused_human_anim_10    act_unused_human_anim_9 act_unused_human_anim_8 act_unused_human_anim_7 act_unused_human_anim_6 act_unused_human_anim_5 act_unused_human_anim_4 act_unused_human_anim_3 act_unused_human_anim_2 act_unused_human_anim_1 act_pose_5  act_pose_4  act_pose_3  act_pose_2  act_pose_1  act_dance   act_stand_lord  act_stand_lady  act_stand_townguard act_cheer_stand act_cheer   act_strike_fall_back_rise_upper act_strike_fall_back_rise   act_strike_chest_front_stop act_rider_fall_roll act_rider_fall_right    act_fall_rider_left act_fall_rider_right    act_fall_rider_right_forward    act_fall_body_back  act_fall_right_front    act_fall_head_front act_fall_abdomen_hold_front act_fall_chest_front    act_fall_face_hold  act_strike_head_front_left_reloc    act_strike3_abdomen_back    act_strike3_abdomen_front   act_strike3_abdomen_right   act_strike3_abdomen_left    act_strike3_chest_front act_strike3_chest_right act_strike3_chest_left  act_strike3_head_back   act_strike3_head_front  act_strike3_head_right  act_strike3_head_left   act_strike2_legs_back   act_strike2_legs_front  act_strike2_legs_right  act_strike2_legs_left   act_strike2_abdomen_back    act_strike2_abdomen_front   act_strike2_abdomen_right   act_strike2_abdomen_left    act_strike2_chest_back  act_strike2_chest_front act_strike2_chest_right act_strike2_chest_left  act_strike2_head_back   act_strike2_head_front  act_strike2_head_right  act_strike2_head_left   act_strike_legs_back    act_strike_legs_front   act_strike_legs_right   act_strike_legs_left    act_strike_abdomen_back act_strike_abdomen_front    act_strike_abdomen_right    act_strike_abdomen_left act_strike_chest_back   act_strike_chest_front  act_strike_chest_right  act_strike_chest_left   act_strike_head_back    act_strike_head_front   act_strike_head_right   act_strike_head_left    act_defend_left_staff_parry_3   act_defend_left_staff_parry_2   act_defend_left_staff_parry_1   act_defend_left_staff_keep  act_defend_left_staff   act_defend_right_staff_parry_3  act_defend_right_staff_parry_2  act_defend_right_staff_parry_1  act_defend_right_staff_keep act_defend_right_staff  act_defend_up_staff_parry_3 act_defend_up_staff_parry_2 act_defend_up_staff_parry_1 act_defend_up_staff_keep    act_defend_up_staff act_defend_forward_staff_parry_3    act_defend_forward_staff_parry_2    act_defend_forward_staff_parry_1    act_defend_forward_staff_keep   act_defend_forward_staff    act_defend_left_onehanded_parry_3   act_defend_left_onehanded_parry_2   act_defend_left_onehanded_parry_1   act_defend_left_onehanded_keep  act_defend_left_onehanded   act_defend_right_onehanded_parry_3  act_defend_right_onehanded_parry_2  act_defend_right_onehanded_parry_1  act_defend_right_onehanded_keep act_defend_right_onehanded  act_defend_up_onehanded_parry_3 act_defend_up_onehanded_parry_2 act_defend_up_onehanded_parry_1 act_defend_up_onehanded_keep    act_defend_up_onehanded act_defend_forward_onehanded_parry_3    act_defend_forward_onehanded_parry_2    act_defend_forward_onehanded_parry_1    act_defend_forward_onehanded_keep   act_defend_forward_onehanded    act_defend_left_twohanded_parry_3   act_defend_left_twohanded_parry_2   act_defend_left_twohanded_parry_1   act_defend_left_twohanded_keep  act_defend_left_twohanded   act_defend_right_twohanded_parry_3  act_defend_right_twohanded_parry_2  act_defend_right_twohanded_parry_1  act_defend_right_twohanded_keep act_defend_right_twohanded  act_defend_up_twohanded_parry_3 act_defend_up_twohanded_parry_2 act_defend_up_twohanded_parry_1 act_defend_up_twohanded_keep    act_defend_up_twohanded act_defend_forward_greatsword_parry_3   act_defend_forward_greatsword_parry_2   act_defend_forward_greatsword_parry_1   act_defend_forward_greatsword_keep  act_defend_forward_greatsword   act_defend_shield_parry_3   act_defend_shield_parry_2   act_defend_shield_parry_1   act_defend_shield_keep  act_defend_shield   act_defend_shield_left  act_defend_shield_right act_defend_shield_up    act_defend_shield_forward   act_defend_fist_parry_3 act_defend_fist_parry_2 act_defend_fist_parry_1 act_defend_fist_keep    act_defend_fist act_parried_slashright_staff    act_blocked_slashright_staff    act_release_slashright_staff_continue   act_release_slashright_staff    act_ready_slashright_staff  act_parried_slashleft_staff act_blocked_slashleft_staff act_release_slashleft_staff_continue    act_release_slashleft_staff act_ready_slashleft_staff   act_parried_thrust_staff    act_blocked_thrust_staff    act_release_thrust_staff_continue   act_release_thrust_staff    act_ready_thrust_staff  act_parried_overswing_staff act_blocked_overswing_staff act_release_overswing_staff_continue    act_release_overswing_staff act_ready_overswing_staff   act_parried_slash_horseback_polearm_left    act_blocked_slash_horseback_polearm_left    act_release_slash_horseback_polearm_left_continue   act_release_slash_horseback_polearm_left    act_ready_slash_horseback_polearm_left  act_parried_slash_horseback_polearm_right   act_blocked_slash_horseback_polearm_right   act_release_slash_horseback_polearm_right_continue  act_release_slash_horseback_polearm_right   act_ready_slash_horseback_polearm_right act_parried_slash_horseback_left    act_blocked_slash_horseback_left    act_release_slash_horseback_left_continue   act_release_slash_horseback_left    act_ready_slash_horseback_left  act_parried_slash_horseback_right   act_blocked_slash_horseback_right   act_release_slash_horseback_right_continue  act_release_slash_horseback_right   act_ready_slash_horseback_right act_parried_overswing_onehanded act_blocked_overswing_onehanded act_release_overswing_onehanded_continue    act_release_overswing_onehanded act_ready_overswing_onehanded   act_parried_slashleft_onehanded act_blocked_slashleft_onehanded act_release_slashleft_onehanded_continue    act_release_slashleft_onehanded act_ready_slashleft_onehanded   act_parried_slashright_onehanded    act_blocked_slashright_onehanded    act_release_slashright_onehanded_continue   act_release_slashright_onehanded    act_ready_slashright_onehanded  act_parried_thrust_onehanded_lance  act_blocked_thrust_onehanded_lance  act_release_thrust_onehanded_lance_continue act_release_thrust_onehanded_lance  act_ready_thrust_onehanded_lance    act_parried_thrust_onehanded_horseback  act_blocked_thrust_onehanded_horseback  act_release_thrust_onehanded_horseback_continue act_release_thrust_onehanded_horseback  act_ready_thrust_onehanded_horseback    act_parried_thrust_onehanded    act_blocked_thrust_onehanded    act_release_thrust_onehanded_continue   act_release_thrust_onehanded    act_ready_thrust_onehanded  act_parried_overswing_twohanded act_blocked_overswing_twohanded act_release_overswing_twohanded_continue    act_release_overswing_twohanded act_ready_overswing_twohanded   act_parried_thrust_twohanded    act_blocked_thrust_twohanded    act_release_thrust_twohanded_continue   act_release_thrust_twohanded    act_ready_thrust_twohanded  act_parried_slashleft_twohanded act_blocked_slashleft_twohanded act_release_slashleft_twohanded_continue    act_release_slashleft_twohanded act_ready_slashleft_twohanded   act_parried_slashright_twohanded    act_blocked_slashright_twohanded    act_release_slashright_twohanded_continue   act_release_slashright_twohanded    act_ready_slashright_twohanded  act_parried_uppercut_fist   act_blocked_uppercut_fist   act_release_uppercut_fist_continue  act_release_uppercut_fist   act_ready_uppercut_fist act_parried_direct_fist act_blocked_direct_fist act_release_direct_fist_continue    act_release_direct_fist act_ready_direct_fist   act_parried_swingleft_fist  act_blocked_swingleft_fist  act_release_swingleft_fist_continue act_release_swingleft_fist  act_ready_swingleft_fist    act_parried_swingright_fist act_blocked_swingright_fist act_release_swingright_fist_continue    act_release_swingright_fist act_ready_swingright_fist   act_reload_musket   act_release_musket  act_ready_musket    act_reload_pistol   act_release_pistol  act_ready_pistol    act_release_stone   act_ready_stone act_release_throwing_axe    act_ready_throwing_axe  act_release_throwing_knife  act_ready_throwing_knife    act_release_javelin act_ready_javelin   act_reload_crossbow_horseback   act_reload_crossbow act_release_crossbow    act_ready_crossbow  act_release_bow_mounted act_ready_bow_mounted   act_release_bow act_ready_bow   act_cancel_attack_polearm   act_cancel_attack_twohanded act_cancel_attack_onehanded act_unequip_bow_left_hip    act_equip_bow_left_hip  act_unequip_bow_back    act_equip_bow_back  act_unequip_shield  act_equip_shield    act_unequip_wakizashi   act_equip_wakizashi act_unequip_katana  act_equip_katana    act_unequip_pistol_front_left   act_equip_pistol_front_left act_unequip_revolver_right  act_equip_revolver_right    act_unequip_axe_back    act_equip_axe_back  act_unequip_dagger_front_right  act_equip_dagger_front_right    act_unequip_dagger_front_left   act_equip_dagger_front_left act_unequip_spear   act_equip_spear act_unequip_crossbow    act_equip_crossbow  act_unequip_axe_left_hip    act_equip_axe_left_hip  act_unequip_greatsword  act_equip_greatsword    act_unequip_sword   act_equip_sword act_unequip_default act_equip_default   act_lancer_ride_0   act_dismount_horse  act_mount_horse act_ride_turn_left  act_ride_turn_right act_ride_jump_end   act_ride_jump   act_ride_spur   act_ride_rear   act_lancer_ride_4_no_shield act_lancer_ride_4   act_ride_4  act_ride_3  act_ride_2  act_lancer_charge_parried   act_lancer_ride_1   act_ride_1  act_ride_0  act_crouch_to_stand act_stand_to_crouch act_walk_forward_crouch act_walk_backward_right_hips_left   act_walk_backward_right_hips_right  act_walk_backward_right_polearm act_walk_backward_right_twohanded   act_walk_backward_right_onehanded   act_walk_backward_right act_walk_backward_left_hips_left    act_walk_backward_left_hips_right   act_walk_backward_left_polearm  act_walk_backward_left_twohanded    act_walk_backward_left_onehanded    act_walk_backward_left  act_walk_forward_left_hips_left act_walk_forward_left_hips_right    act_walk_forward_left_polearm   act_walk_forward_left_twohanded act_walk_forward_left_onehanded act_walk_forward_left   act_walk_forward_right_hips_left    act_walk_forward_right_hips_right   act_walk_forward_right_polearm  act_walk_forward_right_twohanded    act_walk_forward_right_onehanded    act_walk_forward_right  act_walk_left_hips_left act_walk_left_hips_right    act_walk_left_polearm   act_walk_left_twohanded act_walk_left_onehanded act_walk_left   act_walk_right_hips_left    act_walk_right_hips_right   act_walk_right_polearm  act_walk_right_twohanded    act_walk_right_onehanded    act_walk_right  act_walk_backward_hips_left act_walk_backward_hips_right    act_walk_backward_greatsword    act_walk_backward_staff act_walk_backward_onehanded act_walk_backward   act_walk_forward_hips_left  act_walk_forward_hips_right act_walk_forward_greatsword act_walk_forward_staff  act_walk_forward_onehanded  act_walk_forward    act_run_left_hips_left  act_run_left_hips_right act_run_left_polearm    act_run_left_twohanded  act_run_left_onehanded  act_run_left    act_run_right_hips_left act_run_right_hips_right    act_run_right_polearm   act_run_right_twohanded act_run_right_onehanded act_run_right   act_run_backward_left_hips_left act_run_backward_left_hips_right    act_run_backward_left_greatsword    act_run_backward_left_staff act_run_backward_left_onehanded act_run_backward_left   act_run_backward_right_hips_left    act_run_backward_right_hips_right   act_run_backward_right_greatsword   act_run_backward_right_staff    act_run_backward_right_onehanded    act_run_backward_right  act_run_backward_hips_left  act_run_backward_hips_right act_run_backward_greatsword act_run_backward_staff  act_run_backward_onehanded  act_run_backward    act_run_forward_left_hips_left  act_run_forward_left_hips_right act_run_forward_left_greatsword act_run_forward_left_staff  act_run_forward_left_onehanded  act_run_forward_left    act_run_forward_right_hips_left act_run_forward_right_hips_right    act_run_forward_right_greatsword    act_run_forward_right_staff act_run_forward_right_onehanded act_run_forward_right   act_run_forward_hips_left   act_run_forward_hips_right  act_run_forward_greatsword  act_run_forward_staff   act_run_forward_onehanded   act_run_forward act_kick_left_leg   act_kick_right_leg  act_prepare_kick_3  act_prepare_kick_2  act_prepare_kick_1  act_prepare_kick_0  act_turn_left_greatsword    act_turn_right_greatsword   act_turn_left_staff act_turn_right_staff    act_turn_left_single    act_turn_right_single   act_turn_left   act_turn_right  act_stand_crossbow  act_stand_staff act_stand_greatsword    act_stand_single    act_stand_unarmed   act_jump_end_hard   act_jump_end    act_jump_loop   act_jump    act_stand_player_first_person   act_stand_man   act_stand  

    module_animations.py动画类型常量:

arf_two_handed_blade         = 0x01000000
arf_lancer                   = 0x02000000
arf_stick_item_to_left_hand  = 0x04000000
arf_cyclic                   = 0x10000000arf_use_walk_progress        = 0x20000000
arf_use_stand_progress       = 0x40000000
arf_use_inv_walk_progress    = 0x80000000##arf_walk = arf_phase_even | arf_cyclic#-----------------------------------------amf_priority_mask                          = 0x00000fffamf_rider_rot_bow                          = 0x00001000
amf_rider_rot_throw                        = 0x00002000
amf_rider_rot_crossbow                     = 0x00003000
amf_rider_rot_pistol                       = 0x00004000
amf_rider_rot_overswing                    = 0x00005000
amf_rider_rot_thrust                       = 0x00006000
amf_rider_rot_swing_right                  = 0x00007000
amf_rider_rot_swing_left                   = 0x00008000
amf_rider_rot_couched_lance                = 0x00009000
amf_rider_rot_shield                       = 0x0000a000
amf_rider_rot_defend                       = 0x0000b000amf_start_instantly                        = 0x00010000
amf_use_cycle_period                       = 0x00100000
amf_use_weapon_speed                       = 0x00200000
amf_use_defend_speed                       = 0x00400000
amf_accurate_body                          = 0x00800000
amf_client_prediction                      = 0x01000000
amf_play                                   = 0x02000000  #通过脚本调用播放
amf_keep	                               = 0x04000000
amf_restart                                = 0x08000000 # restart animation even if it is the current animation
amf_hide_weapon                            = 0x10000000
amf_client_owner_prediction                = 0x20000000
amf_use_inertia                            = 0x40000000
amf_continue_to_next                       = 0x80000000#-----------------------------------------acf_synch_with_horse         = 0x00000001
acf_align_with_ground        = 0x00000002
acf_enforce_lowerbody        = 0x00000100
acf_enforce_rightside        = 0x00000200
acf_enforce_all              = 0x00000400
acf_parallels_for_look_slope = 0x00001000
acf_lock_camera              = 0x00002000  #锁定摄像机
acf_displace_position        = 0x00004000
acf_ignore_slope             = 0x00008000
acf_thrust                   = 0x00010000
acf_right_cut                = 0x00020000
acf_left_cut                 = 0x00040000
acf_overswing                = 0x00080000
acf_rot_vertical_mask        = 0x00300000
acf_rot_vertical_bow         = 0x00100000
acf_rot_vertical_sword       = 0x00200000
acf_anim_length_mask         = 0xff000000

四.添加自己制作的动画并播放

 ["god_horse_man_sit_down", acf_enforce_lowerbody, amf_priority_die|amf_play|amf_client_prediction|amf_use_cycle_period,[10, "anim_human_02", 50, 69, arf_cyclic], ],acf_enforce_lowerbody 引擎控制骨骼动画执行时下半身骨骼不受影响amf_play 可以通过脚本调用该动画arf_cyclic 动画是循环播放的

五.blender中编辑自己的动画

    <1.Blender下载SMD插件

Blender导出SMD文件格式_blender怎么打开smd-CSDN博客文章浏览阅读221次。SMD文件:为描述场景的格式文件 = light(光照) + Camera(视角) + 静态数据 + + animation(顶点动画/骨骼动画)。顶点1:父骨骼ID + 顶点坐标 + 法向向量 + UV + 连接骨骼数 + 骨骼ID + 权重。顶点2:父骨骼ID + 顶点坐标 + 法向向量 + UV + 连接骨骼数 + 骨骼ID + 权重。顶点3:父骨骼ID + 顶点坐标 + 法向向量 + UV + 连接骨骼数 + 骨骼ID + 权重。<2.nodes:骨骼信息,骨骼ID + 骨骼名称 + 父骨骼ID。_blender怎么打开smdhttps://blog.csdn.net/qq_35829452/article/details/133995304    <2.OpenBrf导出SMD骨骼动画

    <3.Blender导入SMD文件进行骨骼动画编辑

Blender立方体骨骼动画创建_哔哩哔哩_bilibili1.为模型创建顶点组2.创建骨架,新增骨骼3.创建模型修改器,顶点组和骨骼关联4.姿态模式下创建动画,插入关键帧, 视频播放量 114、弹幕量 0、点赞数 0、投硬币枚数 0、收藏人数 1、转发人数 0, 视频作者 霸王奉先, 作者简介 csdn:blog.csdn.net/qq_35829452project:gitcode.net/users/qq_35829452,相关视频:Blender对称镜像操作,Blender正反面法向向量修改,骑砍1战团mod开发-OpenBrf使用方法,骑砍1战团mod开发环境搭建,骑砍1战团mod开发-蛮王语音,骑砍1战团mod开发-导入语音包,骑砍1战团mod开发-顶点动画制作方法,骑砍1战团mod开发-大地图制作方法,机 械 骨 骼 哪 家 强 ?,【3D建模】28岁建模师劝诫大家,建模没必要的苦不要吃,因为...icon-default.png?t=N7T8https://www.bilibili.com/video/BV12w411T7i2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/305568.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第三节 项目commit规范

系列文章目录 目录 系列文章目录 前言 实现方法 总结 前言 多人开发项目时&#xff0c;每次Git提交都不明确提交了什么&#xff0c;增加功能&#xff1f;修复bug&#xff1f;修改了代码格式&#xff1f;没有哦规则。那我们制定制定提交类型及如何写提交信息的规则&#xf…

接口测试工具——ApiFox使用初体验 postman导出和ApiFox导入

目录 ApiFox使用初体验初步使用从postman导出到apifox导入 IDEA简单测试Postman测试工具post请求 接口测试工具swaggerKnife4j1.引入依赖2.配置3.常用注解4.接口测试 JMeter什么是JMeter?JMeter安装配置1.官网下载2.下载后解压3.汉语设置 JMeter的使用方法1.新建线程组2.设置参…

Go 泛型之泛型约束

Go 泛型之泛型约束 文章目录 Go 泛型之泛型约束一、引入二、最宽松的约束&#xff1a;any三、支持比较操作的内置约束&#xff1a;comparable四、自定义约束五、类型集合&#xff08;type set&#xff09;六、简化版的约束形式七、约束的类型推断八、小结 一、引入 虽然泛型是…

Tiny Object Detection

文章目录 RFLA: Gaussian Receptive Field based Label Assignment for Tiny Object Detection&#xff08;ECCV2022&#xff09;Dynamic Coarse-to-Fine Learning for Oriented Tiny Object Detection&#xff08;CVPR2023&#xff09;TOD-CMLNN&#xff08;2023&#xff09; …

Bind for 0.0.0.0:2379 failed: port is already allocated

1、执行命令docker-compose -p docker-apisix up -d 报错 Error response from daemon: driver failed programming external connectivity on endpoint docker-apisix-etcd-1 (2a92a0cefff9194fcd1dad4bdeabf4201d9047ec2633eda455c6e46528668af4): Bind for 0.0.0.0:2379 fa…

Vue3-27-路由-路径参数的简单使用

什么是路径参数 在路由配置中&#xff0c;可以将【参数】放在【路由路径】中&#xff0c; 从而实现&#xff0c;同一个 路由&#xff0c;同一个组件&#xff0c;因路径参数不同&#xff0c;可以渲染出不同的内容。特点 &#xff1a; 1、当携带不同路径参数的路由相互跳转时&am…

im6ull学习总结(三)文字显示

文字显示 字符编码方式 编码与字体 一个字符以不同编码形式会保存为不同的二进制数。 ASCII American Standard Code for Information Interchange”的缩写&#xff0c;美国信息交换标准代码。 一个字节的 7 位就可以表示 128 个数值&#xff0c;在 ASCII 码中最高位永远是…

MySQL事务、四大原则、执行步骤、四种隔离级别、锁、脏读、脏写等

MySQL事务 MySQL事务1.什么是事务&#xff1f;2.事务的四大原则3.事务执行的步骤4、事务的隔离性5、MySQL中的锁 MySQL事务 模拟一个转账业务&#xff1a; 上图中的sql语句&#xff1a; update from table set money mongey - 100 where name A; update from table set mone…

rime中州韵 symbols.custom.yaml 配置

今天我们所做的配置&#xff0c;将实现扩展符号的输入效果&#xff0c;如下&#x1f447;&#xff1a; 基础扩展符号的配置 要实现输入法能够输入扩展的符号&#xff0c;我们需要在输入方案中引入扩展符号集。 如果你使用的输入方案是 wubi_pinyin.schema.yaml&#xff0c;…

linux用户态与内核态通过字符设备交互

linux用户态与内核态通过字符设备交互 简述 Linux设备分为三类&#xff0c;字符设备、块设备、网络接口设备。字符设备只能一个字节一个字节读取&#xff0c;常见外设基本都是字符设备。块设备一般用于存储设备&#xff0c;一块一块的读取。网络设备&#xff0c;Linux将对网络…

【数据结构】插入排序、选择排序、冒泡排序、希尔排序、堆排序

前言&#xff1a;生活中我们总是会碰到各种各样的排序&#xff0c;今天我们就对部分常用的排序进行总结和学习&#xff0c;今天的内容还是相对比较简单的一部分&#xff0c;各位一起加油哦&#xff01; &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &#x1f44…

3DMAX 中的 VR 渲染器如何设置局部区域渲染?

3DMAX 中的 VR 渲染器如何设置局部渲染&#xff1f; 首先我们要得打开渲染设置&#xff0c;在3damx里按F10&#xff0c;调出渲染设置。选定渲染器为Vary渲染器&#xff1a; 设置VR的局部渲染&#xff0c;需要打开帧缓冲&#xff0c;我们在V-ary项下&#xff0c;打开帧缓冲(点击…