• Strange jumping animation for compiled player model.
    5 replies, posted
I've been attemptting to convert an NPC into a player model with the correct player model animations. I've had some success but a problem has arisen, these strange jumping animations occur now and again. To make it easier to reference I've recorded to a video below. (In the midst of uploading, accidentally posted this thread before uploading!, Woops *facepalm*) If anyone competent would be able to point out where I've gone wrong, you'd be amazing to do so. Hopefully Ive given you enough information. mdldecompiler.qc [CODE]$cd "C:\Users\Jai\Documents\airborne2" $modelname "Humans\airborne\male_03.mdl" $model "male_03" "male_02_reference.smd" { flexfile "mdldecompiler_expressions.vta" { flexpair "AU1" 1.0 frame 5 flexpair "AU2" 1.0 frame 6 flexpair "AU4" 1.0 frame 7 flexpair "AU1AU2" 1.0 frame 8 flexpair "AU12" 1.0 frame 9 flex "AU12AU25" frame 10 flexpair "AU15" 1.0 frame 11 flexpair "AU17" 1.0 frame 12 flexpair "AU10" 1.0 frame 13 flex "AU16" frame 14 flexpair "AU6" 1.0 frame 15 flexpair "AU9" 1.0 frame 16 flexpair "AU25" 1.0 frame 17 flexpair "AU18" 1.0 frame 18 flexpair "AU22" 1.0 frame 19 flexpair "AU20" 1.0 frame 20 flex "AU32" frame 21 flex "AU24" frame 22 flex "AU38" frame 23 flex "AU31" frame 24 flexpair "AU26" 1.0 frame 25 flexpair "AU27" 1.0 frame 26 flexpair "AU26Z" 1.0 frame 27 } eyeball righteye ValveBiped.Bip01_Head1 -1.165 -3.860 67.661 eyeball_r 1.000 4.000 pupil_r 0.680 eyeball lefteye ValveBiped.Bip01_Head1 1.444 -3.860 67.668 eyeball_l 1.000 -4.000 pupil_l 0.680 eyelid upper_right "mdldecompiler_expressions.vta" lowerer 4 0.000000 neutral 0 0.000000 raiser 4 0.000000 split 0.1 eyeball righteye eyelid lower_right "mdldecompiler_expressions.vta" lowerer 4 0.000000 neutral 0 0.000000 raiser 4 0.000000 split 0.1 eyeball righteye eyelid upper_left "mdldecompiler_expressions.vta" lowerer 4 0.000000 neutral 0 0.000000 raiser 4 0.000000 split -0.1 eyeball lefteye eyelid lower_left "mdldecompiler_expressions.vta" lowerer 4 0.000000 neutral 0 0.000000 raiser 4 0.000000 split -0.1 eyeball lefteye mouth 0 "mouth" ValveBiped.Bip01_Head1 0.000 1.000 0.000 flexcontroller eyelid right_lid_raiser "range" 0.000 1.000 flexcontroller eyelid left_lid_raiser "range" 0.000 1.000 flexcontroller eyelid right_lid_tightener "range" 0.000 1.000 flexcontroller eyelid left_lid_tightener "range" 0.000 1.000 flexcontroller eyelid right_lid_droop "range" 0.000 1.000 flexcontroller eyelid left_lid_droop "range" 0.000 1.000 flexcontroller eyelid right_lid_closer "range" 0.000 1.000 flexcontroller eyelid left_lid_closer "range" 0.000 1.000 flexcontroller eyelid half_closed "range" 0.000 1.000 flexcontroller eyelid blink "range" 0.000 1.000 flexcontroller brow right_inner_raiser "range" 0.000 1.000 flexcontroller brow left_inner_raiser "range" 0.000 1.000 flexcontroller brow right_outer_raiser "range" 0.000 1.000 flexcontroller brow left_outer_raiser "range" 0.000 1.000 flexcontroller brow right_lowerer "range" 0.000 1.000 flexcontroller brow left_lowerer "range" 0.000 1.000 flexcontroller nose right_cheek_raiser "range" 0.000 1.000 flexcontroller nose left_cheek_raiser "range" 0.000 1.000 flexcontroller nose wrinkler "range" 0.000 1.000 flexcontroller nose dilator "range" 0.000 1.000 flexcontroller mouth right_upper_raiser "range" 0.000 1.000 flexcontroller mouth left_upper_raiser "range" 0.000 1.000 flexcontroller mouth right_corner_puller "range" 0.000 1.000 flexcontroller mouth left_corner_puller "range" 0.000 1.000 flexcontroller mouth right_corner_depressor "range" 0.000 1.000 flexcontroller mouth left_corner_depressor "range" 0.000 1.000 flexcontroller mouth chin_raiser "range" 0.000 1.000 flexcontroller phoneme right_part "range" 0.000 1.000 flexcontroller phoneme left_part "range" 0.000 1.000 flexcontroller phoneme right_puckerer "range" 0.000 1.000 flexcontroller phoneme left_puckerer "range" 0.000 1.000 flexcontroller phoneme right_funneler "range" 0.000 1.000 flexcontroller phoneme left_funneler "range" 0.000 1.000 flexcontroller phoneme right_stretcher "range" 0.000 1.000 flexcontroller phoneme left_stretcher "range" 0.000 1.000 flexcontroller phoneme bite "range" 0.000 1.000 flexcontroller phoneme presser "range" 0.000 1.000 flexcontroller phoneme tightener "range" 0.000 1.000 flexcontroller phoneme jaw_clencher "range" 0.000 1.000 flexcontroller phoneme jaw_drop "range" 0.000 1.000 flexcontroller phoneme right_mouth_drop "range" 0.000 1.000 flexcontroller phoneme left_mouth_drop "range" 0.000 1.000 flexcontroller mouth smile "range" 0.000 1.000 flexcontroller mouth lower_lip "range" 0.000 1.000 flexcontroller head head_rightleft "range" 0.000 1.000 flexcontroller head head_updown "range" 0.000 1.000 flexcontroller head head_tilt "range" 0.000 1.000 flexcontroller eyes eyes_updown "range" 0.000 1.000 flexcontroller eyes eyes_rightleft "range" 0.000 1.000 flexcontroller body body_rightleft "range" 0.000 1.000 flexcontroller chest chest_rightleft "range" 0.000 1.000 flexcontroller head head_forwardback "range" 0.000 1.000 flexcontroller gesture gesture_updown "range" 0.000 1.000 flexcontroller gesture gesture_rightleft "range" 0.000 1.000 localvar upper_right_raiser %upper_right_raiser = ( right_lid_raiser * (( 1.000 - ( right_lid_droop * 0.800)) * (( 1.000 - right_lid_closer) * ( 1.000 - blink)))) localvar upper_right_neutral %upper_right_neutral = (( 1.000 - ( right_lid_droop * 0.800)) * (( 1.000 - right_lid_raiser) * (( 1.000 - right_lid_closer) * ( 1.000 - blink)))) localvar upper_right_lowerer %upper_right_lowerer = ( right_lid_closer + ( blink * ( 1.000 - right_lid_closer))) localvar upper_left_raiser %upper_left_raiser = ( left_lid_raiser * (( 1.000 - ( left_lid_droop * 0.800)) * (( 1.000 - left_lid_closer) * ( 1.000 - blink)))) localvar upper_left_neutral %upper_left_neutral = (( 1.000 - ( left_lid_droop * 0.800)) * (( 1.000 - left_lid_raiser) * (( 1.000 - left_lid_closer) * ( 1.000 - blink)))) localvar upper_left_lowerer %upper_left_lowerer = ( left_lid_closer + ( blink * ( 1.000 - left_lid_closer))) localvar lower_right_raiser %lower_right_raiser = ( right_lid_closer + ( blink * ( 0.500 * ( 1.000 - right_lid_closer)))) localvar lower_right_neutral %lower_right_neutral = (( 1.000 - right_lid_closer) * (( 1.000 - ( 0.500 * blink)) * (( 1.000 - ( right_lid_tightener * 0.500)) * ( 1.000 - ( right_cheek_raiser * 0.250))))) localvar lower_right_lowerer %lower_right_lowerer = 0.000 localvar lower_left_raiser %lower_left_raiser = ( left_lid_closer + ( blink * ( 0.500 * ( 1.000 - left_lid_closer)))) localvar lower_left_neutral %lower_left_neutral = (( 1.000 - left_lid_closer) * (( 1.000 - ( 0.500 * blink)) * (( 1.000 - ( left_lid_tightener * 0.500)) * ( 1.000 - ( left_cheek_raiser * 0.250))))) localvar lower_left_lowerer %lower_left_lowerer = 0.000 %AU1R = ( right_inner_raiser * (( 1.000 - right_outer_raiser) * ( 1.000 - right_lowerer))) %AU1L = ( left_inner_raiser * (( 1.000 - left_outer_raiser) * ( 1.000 - left_lowerer))) %AU2R = ( right_outer_raiser * (( 1.000 - right_inner_raiser) * ( 1.000 - right_lowerer))) %AU2L = ( left_outer_raiser * (( 1.000 - left_inner_raiser) * ( 1.000 - left_lowerer))) %AU1AU2R = ( right_inner_raiser * ( right_outer_raiser * ( 1.000 - right_lowerer))) %AU1AU2L = ( left_inner_raiser * ( left_outer_raiser * ( 1.000 - left_lowerer))) %AU4R = right_lowerer %AU4L = left_lowerer %AU6R = right_cheek_raiser %AU6L = left_cheek_raiser %AU9R = wrinkler %AU9L = wrinkler %AU38 = dilator localvar right_open %right_open = ( smile + (( right_part * ( 1.000 - smile)) + ( right_puckerer + ( right_funneler + (( right_upper_raiser * 0.500) + ( lower_lip * 0.500)))))) localvar left_open %left_open = ( smile + (( left_part * ( 1.000 - smile)) + ( left_puckerer + ( left_funneler + (( left_upper_raiser * 0.500) + ( lower_lip * 0.500)))))) localvar right_lip_suppressor %right_lip_suppressor = (( 1.000 / %right_open) * (( 1.000 - presser) * ( 1.000 - bite))) localvar left_lip_suppressor %left_lip_suppressor = (( 1.000 / %left_open) * (( 1.000 - presser) * ( 1.000 - bite))) %AU10R = ( right_upper_raiser * ( right_upper_raiser * ( 0.500 * %right_lip_suppressor))) %AU10L = ( left_upper_raiser * ( left_upper_raiser * ( 0.500 * %left_lip_suppressor))) %AU25R = ( right_part * (( right_part * %right_lip_suppressor) * ( 1.000 - smile))) %AU25L = ( left_part * (( left_part * %left_lip_suppressor) * ( 1.000 - smile))) %AU12AU25 = ( smile * ( smile * ( 0.500 * ( %right_lip_suppressor + %left_lip_suppressor)))) %AU18R = ( right_puckerer * ( right_puckerer * %right_lip_suppressor)) %AU18L = ( left_puckerer * ( left_puckerer * %left_lip_suppressor)) %AU22R = ( right_funneler * ( right_funneler * %right_lip_suppressor)) %AU22L = ( left_funneler * ( left_funneler * %left_lip_suppressor)) %AU17R = ( chin_raiser * (( 1.000 - ( jaw_drop * 0.500)) * (( 1.000 - bite) * (( 1.000 - ( 0.600 * ( %AU25R + ( %AU18R + %AU22R)))) * ( 1.000 - smile))))) %AU17L = ( chin_raiser * (( 1.000 - ( jaw_drop * 0.500)) * (( 1.000 - bite) * (( 1.000 - ( 0.600 * ( %AU25L + ( %AU18L + %AU22L)))) * ( 1.000 - smile))))) localvar right_depressor_suppressor %right_depressor_suppressor = (( 1.000 / (( %AU18R * 0.800) + (( %AU22R * 0.800) + ( %AU17R + ( bite + ( right_corner_puller + ( right_stretcher + right_corner_depressor))))))) * (( 1.000 - ( jaw_drop * 0.500)) * ( 1.000 - ( smile * 0.500)))) localvar left_depressor_suppressor %left_depressor_suppressor = (( 1.000 / (( %AU18L * 0.800) + (( %AU22L * 0.800) + ( %AU17L + ( bite + ( left_corner_puller + ( left_stretcher + left_corner_depressor))))))) * (( 1.000 - ( jaw_drop * 0.500)) * ( 1.000 - ( smile * 0.500)))) %AU15R = ( right_corner_depressor * ( right_corner_depressor * %right_depressor_suppressor)) %AU15L = ( left_corner_depressor * ( left_corner_depressor * %left_depressor_suppressor)) localvar right_corner_suppressor %right_corner_suppressor = (( 1.000 / (( %AU18R * 0.800) + (( %AU22R * 0.800) + ( %AU17R + ( bite + ( right_corner_puller + ( right_stretcher + right_corner_depressor))))))) * (( 1.000 - ( jaw_drop * 0.500)) * ( 1.000 - smile))) localvar left_corner_suppressor %left_corner_suppressor = (( 1.000 / (( %AU18L * 0.800) + (( %AU22L * 0.800) + ( %AU17L + ( bite + ( left_corner_puller + ( left_stretcher + left_corner_depressor))))))) * (( 1.000 - ( jaw_drop * 0.500)) * ( 1.000 - smile))) %AU12R = ( right_corner_puller * ( right_corner_puller * %right_corner_suppressor)) %AU12L = ( left_corner_puller * ( left_corner_puller * %left_corner_suppressor)) %AU20R = ( right_stretcher * ( right_stretcher * %right_corner_suppressor)) %AU20L = ( left_stretcher * ( left_stretcher * %left_corner_suppressor)) %AU32 = bite %AU24 = ( presser + (( 1.000 - presser) * tightener)) %AU31 = ( jaw_clencher * ( jaw_clencher / ( jaw_clencher + jaw_drop))) localvar right_drop_suppressor %right_drop_suppressor = (( 1.000 / (( 0.500 * %right_open) + right_mouth_drop)) * (( 1.000 - presser) * ( 1.000 - bite))) localvar left_drop_suppressor %left_drop_suppressor = (( 1.000 / (( 0.500 * %left_open) + left_mouth_drop)) * (( 1.000 - presser) * ( 1.000 - bite))) localvar right_drop %right_drop = ( right_mouth_drop * ( right_mouth_drop * %right_drop_suppressor)) localvar left_drop %left_drop = ( left_mouth_drop * ( left_mouth_drop * %left_drop_suppressor)) %AU26R = ( jaw_drop * (( 1.000 - %right_drop) * ( jaw_drop / ( jaw_clencher + jaw_drop)))) %AU26L = ( jaw_drop * (( 1.000 - %left_drop) * ( jaw_drop / ( jaw_clencher + jaw_drop)))) %AU27R = ( jaw_drop * ( %right_drop * ( jaw_drop / ( jaw_clencher + jaw_drop)))) %AU27L = ( jaw_drop * ( %left_drop * ( jaw_drop / ( jaw_clencher + jaw_drop)))) %AU16 = ( lower_lip * (( lower_lip * ( 0.250 * ( %right_lip_suppressor + %left_lip_suppressor))) * ( 1.000 - ( 0.500 * ( %AU27R + %AU27L))))) localvar mouth %mouth = (( %AU27R * 0.500) + (( %AU27L * 0.500) + (( %AU22R * 0.350) + (( %AU22L * 0.350) + (( %AU18R * 0.250) + (( %AU18L * 0.250) + (( %AU25R * 0.350) + (( %AU25L * 0.350) + (( %AU32 * 0.500) + ( %AU12AU25 + ( %AU16 * 0.400))))))))))) } $model "gear" "soldiergear.smd" { flexfile "mdldecompiler_expressions.vta" { } mouth 0 "mouth" ValveBiped.Bip01_Head1 0.000 1.000 0.000 } $model "gear" "MGgear.smd" { flexfile "mdldecompiler_expressions.vta" { } mouth 0 "mouth" ValveBiped.Bip01_Head1 0.000 1.000 0.000 } $model "gear" "rocketgear.smd" { flexfile "mdldecompiler_expressions.vta" { } mouth 0 "mouth" ValveBiped.Bip01_Head1 0.000 1.000 0.000 } $model "gear" "UnknownModelName.smd" { flexfile "mdldecompiler_expressions.vta" { } mouth 0 "mouth" ValveBiped.Bip01_Head1 0.000 1.000 0.000 } $model "headgear" "helmet.smd" { flexfile "mdldecompiler_expressions.vta" { } mouth 0 "mouth" ValveBiped.Bip01_Head1 0.000 1.000 0.000 } $model "headgear" "UnknownModelName.smd" { flexfile "mdldecompiler_expressions.vta" { } mouth 0 "mouth" ValveBiped.Bip01_Head1 0.000 1.000 0.000 } $cdmaterials "models\Humans\airborne\" $cdmaterials "models\Humans\Male\" $cdmaterials "models\humans\male\" $texturegroup skinfamilies { {"b_hand.vmt" "american_body.vmt" "mouth.vmt" "dark_eyeball_l.vmt" "dark_eyeball_r.vmt" "joe_facemap.vmt" } {"b_hand.vmt" "american_body.vmt" "mouth.vmt" "dark_eyeball_l.vmt" "dark_eyeball_r.vmt" "joe_facemap.vmt" } } $hboxset "default" $hbox 1 "ValveBiped.Bip01_Head1" -1.250 -6.500 -3.190 8.250 3.500 3.310 $hbox 4 "ValveBiped.Bip01_L_UpperArm" 0.000 -2.750 -2.750 12.510 1.750 2.250 $hbox 4 "ValveBiped.Bip01_L_Forearm" 0.000 -2.190 -2.380 13.000 1.810 1.620 $hbox 4 "ValveBiped.Bip01_L_Hand" 0.060 -2.000 -1.500 4.060 1.000 2.500 $hbox 5 "ValveBiped.Bip01_R_UpperArm" 0.000 -3.000 -2.250 12.390 2.000 2.750 $hbox 5 "ValveBiped.Bip01_R_Forearm" -0.500 -2.200 -1.550 12.500 1.800 2.450 $hbox 5 "ValveBiped.Bip01_R_Hand" 0.060 -2.000 -2.500 4.060 1.000 1.500 $hbox 6 "ValveBiped.Bip01_L_Thigh" 0.000 -3.750 -3.250 17.850 3.750 3.250 $hbox 6 "ValveBiped.Bip01_L_Calf" 0.000 -3.510 -3.280 15.640 3.490 2.720 $hbox 6 "ValveBiped.Bip01_L_Foot" -1.070 -2.000 -2.840 5.040 5.000 2.160 $hbox 6 "ValveBiped.Bip01_L_Toe0" -0.500 -3.000 -2.190 2.500 0.000 2.460 $hbox 7 "ValveBiped.Bip01_R_Thigh" 0.000 -3.750 -3.250 17.850 3.750 3.250 $hbox 7 "ValveBiped.Bip01_R_Calf" 0.000 -3.510 -2.820 15.640 3.490 3.180 $hbox 7 "ValveBiped.Bip01_R_Foot" -1.060 -2.010 -2.280 5.050 4.990 2.720 $hbox 7 "ValveBiped.Bip01_R_Toe0" -0.500 -3.000 -2.600 2.500 0.000 2.100 $hbox 3 "ValveBiped.Bip01_Pelvis" -7.500 -5.500 -6.000 7.500 8.500 5.000 $hbox 2 "ValveBiped.Bip01_Spine2" -2.500 -2.500 -7.000 14.500 7.500 7.000 $attachment "eyes" "ValveBiped.Bip01_Head1" 3.83 -4.03 -0.14 rotate -0.00 -80.10 -90.00 $attachment "mouth" "ValveBiped.Bip01_Head1" 1.10 -6.00 -0.18 rotate 0.00 -80.00 -90.00 $attachment "chest" "ValveBiped.Bip01_Spine2" 5.00 4.00 0.00 rotate 0.00 90.00 90.00 $attachment "forward" "ValveBiped.forward" 0.00 0.00 0.00 rotate 0.00 -0.00 -0.00 $attachment "anim_attachment_RH" "ValveBiped.Anim_Attachment_RH" -0.00 0.00 0.00 rotate -90.00 -90.00 0.00 $attachment "anim_attachment_LH" "ValveBiped.Anim_Attachment_LH" -0.00 -0.00 -0.00 rotate -90.00 -90.00 0.00 $attachment "anim_attachment_head" "ValveBiped.Bip01_Head1" 0.00 0.00 -0.00 rotate -90.00 -90.00 0.00 $includemodel "m_anm.mdl" $includemodel "humans/male_shared.mdl" $includemodel "humans/male_ss.mdl" $includemodel "humans/male_gestures.mdl" $includemodel "humans/male_postures.mdl" $includemodel "combine_soldier_anims.mdl" $surfaceprop "flesh" $eyeposition -0.000 0.000 70.000 $illumposition -0.000 0.614 35.963 $sequence ragdoll "ragdoll" ACT_DIERAGDOLL 1 fps 30.00 $ikchain rhand ValveBiped.Bip01_R_Hand knee 0.707 0.707 0.000 $ikchain lhand ValveBiped.Bip01_L_Hand knee 0.707 0.707 0.000 $ikchain rfoot ValveBiped.Bip01_R_Foot knee 0.707 -0.707 0.000 $ikchain lfoot ValveBiped.Bip01_L_Foot knee 0.707 -0.707 0.000 [/CODE] Any resources would be fantastic too!:D
Replace [CODE] $includemodel "m_anm.mdl" $includemodel "humans/male_shared.mdl" $includemodel "humans/male_ss.mdl" $includemodel "humans/male_gestures.mdl" $includemodel "humans/male_postures.mdl" $includemodel "combine_soldier_anims.mdl" [/CODE] With [CODE]$includemodel "m_anm.mdl" $includemodel "m_gst.mdl" $includemodel "m_pst.mdl" $includemodel "m_shd.mdl" $includemodel "m_ss.mdl"[/CODE]
As far as I know a lot of those are obsolete now. I just use these: $includemodel "m_anm.mdl" (playermodels) $includemodel "humans/male_shared.mdl" (NPCs) You can use both, but if it's a playermodel, the second is just for some extra animations you'll probably never use -- just use the first unless you really want those. On a side note, you should consider using the resources provided in: [code]%Steam%\steamapps\common\sourcesdk_content\hl2mp\modelsrc\humans_sdk\[/code] It should help allow you to build a much cleaner QC as well as add some misc optimizations that tend to get ignored.
[QUOTE=Masterlegodude;43110755]Replace [CODE] $includemodel "m_anm.mdl" $includemodel "humans/male_shared.mdl" $includemodel "humans/male_ss.mdl" $includemodel "humans/male_gestures.mdl" $includemodel "humans/male_postures.mdl" $includemodel "combine_soldier_anims.mdl" [/CODE] With [CODE]$includemodel "m_anm.mdl" $includemodel "m_gst.mdl" $includemodel "m_pst.mdl" $includemodel "m_shd.mdl" $includemodel "m_ss.mdl"[/CODE][/QUOTE] Great info! All the animations seem to be there. The jumping bug hasn't disappeared though. This entails the models feet to stick to the ground after jumping. After testing the model in TTT it seems to me that sprinting is causing the model is glitch out as the player walk speed in TTT possibly prevents an animation being done too quickly?(????) [QUOTE=Dragon52225;43110786]As far as I know a lot of those are obsolete now. I just use these: $includemodel "m_anm.mdl" (playermodels) $includemodel "humans/male_shared.mdl" (NPCs) You can use both, but if it's a playermodel, the second is just for some extra animations you'll probably never use -- just use the first unless you really want those. On a side note, you should consider using the resources provided in: [code]%Steam%\steamapps\common\sourcesdk_content\hl2mp\modelsrc\humans_sdk\[/code] It should help allow you to build a much cleaner QC as well as add some misc optimizations that tend to get ignored.[/QUOTE] Awesome awesome awesome. Thanks!
If you finished the upload on that video; care to post it? I can't picture what you mean unless your model's legs are made of gelatin.
Only just seen your post now, so sorry! After much testing I disocovered that a few other models were acting the same way so I've came to the conclusion that it must be clientside or they might have been GMOD 12 player models.
Sorry, you need to Log In to post a reply to this thread.