So I just created a playermodel based off the half life 2 citizens and I changed the texture on them and it worked. However, for some reason the playermodel dissapears after a certain distance. You can only see the playermodel when you are pretty much next to it. Also, the head works fine but the body dissapears. So I am not entirely sure how to fix that.
Do you have any LODs on the model?
Yeah I have male_01_body0_model0_lod1 - 6
Would you want me to post the qc thing?
From what I understand, you have LODs but either have set no model for them or set one that’s not there, post the QC and mistery will be solved.
EDIT: You can also read this http://wiki.garrysmod.com/page/Player_model_LOD_settings if needed
// Created by Crowbar 0.44.0.0
$modelname "player/voltage/unsortedcitizen/male_01.mdl"
$model "male_01" "male_01_reference.smd" {
eyeball "eye_right" "ValveBiped.Bip01_Head1" -1.359800 -4.103903 67.487100 "dark_eyeball_r" 1 4 "iris_unused" 0.68
eyeball "eye_left" "ValveBiped.Bip01_Head1" 1.353600 -4.103902 67.479105 "dark_eyeball_l" 1 -4 "iris_unused" 0.68
eyelid upper_right "male_01.vta" lowerer 20 -0.17 neutral 0 0.14 raiser 21 0.21 split 1 eyeball "eye_right"
eyelid lower_right "male_01.vta" lowerer 22 -0.34 neutral 0 -0.26 raiser 23 -0.1 split 1 eyeball "eye_right"
eyelid upper_left "male_01.vta" lowerer 24 -0.17 neutral 0 0.14 raiser 25 0.21 split -1 eyeball "eye_left"
eyelid lower_left "male_01.vta" lowerer 26 -0.34 neutral 0 -0.26 raiser 27 -0.1 split -1 eyeball "eye_left"
mouth 0 "mouth" "ValveBiped.Bip01_Head1" 0 1 0
flexfile "male_01.vta"
{
defaultflex frame 0
flexpair "AU12" 1 frame 1
flexpair "AU12" 1 frame 2
flex "AU12AU25" frame 3
flexpair "AU15" 1 frame 4
flexpair "AU17" 1 frame 5
flexpair "AU10" 1 frame 6
flex "AU16" frame 7
flexpair "AU9" 1 frame 8
flexpair "AU25" 1 frame 9
flexpair "AU18" 1 frame 10
flexpair "AU18" 1 frame 11
flexpair "AU22" 1 frame 12
flexpair "AU20" 1 frame 13
flex "AU32" frame 14
flex "AU24" frame 15
flex "AU31" frame 16
flexpair "AU26" 1 frame 17
flexpair "AU27" 1 frame 18
flexpair "AU26Z" 1 frame 19
// Already in eyelid lines: flex "upper_right" frame 20
// Already in eyelid lines: flex "upper_right" frame 21
// Already in eyelid lines: flex "lower_right" frame 22
// Already in eyelid lines: flex "lower_right" frame 23
// Already in eyelid lines: flex "upper_left" frame 24
// Already in eyelid lines: flex "upper_left" frame 25
// Already in eyelid lines: flex "lower_left" frame 26
// Already in eyelid lines: flex "lower_left" frame 27
flex "AU42" frame 28
flexpair "AU1" 1 frame 29
flexpair "AU2" 1 frame 30
flexpair "AU4" 1 frame 31
flexpair "AU1AU2" 1 frame 32
flexpair "AU6" 1 frame 33
flex "AU38" frame 34
}
flexcontroller eyelid range 0 1 right_lid_raiser
flexcontroller eyelid range 0 1 left_lid_raiser
flexcontroller eyelid range 0 1 right_lid_tightener
flexcontroller eyelid range 0 1 left_lid_tightener
flexcontroller eyelid range 0 1 right_lid_droop
flexcontroller eyelid range 0 1 left_lid_droop
flexcontroller eyelid range 0 1 right_lid_closer
flexcontroller eyelid range 0 1 left_lid_closer
flexcontroller eyelid range 0 1 half_closed
flexcontroller eyelid range 0 1 blink
flexcontroller brow range 0 1 right_inner_raiser
flexcontroller brow range 0 1 left_inner_raiser
flexcontroller brow range 0 1 right_outer_raiser
flexcontroller brow range 0 1 left_outer_raiser
flexcontroller brow range 0 1 right_lowerer
flexcontroller brow range 0 1 left_lowerer
flexcontroller nose range 0 1 right_cheek_raiser
flexcontroller nose range 0 1 left_cheek_raiser
flexcontroller nose range 0 1 wrinkler
flexcontroller nose range 0 1 dilator
flexcontroller mouth range 0 1 right_upper_raiser
flexcontroller mouth range 0 1 left_upper_raiser
flexcontroller mouth range 0 1 right_corner_puller
flexcontroller mouth range 0 1 left_corner_puller
flexcontroller mouth range 0 1 right_corner_depressor
flexcontroller mouth range 0 1 left_corner_depressor
flexcontroller mouth range 0 1 chin_raiser
flexcontroller phoneme range 0 1 right_part
flexcontroller phoneme range 0 1 left_part
flexcontroller phoneme range 0 1 right_puckerer
flexcontroller phoneme range 0 1 left_puckerer
flexcontroller phoneme range 0 1 right_funneler
flexcontroller phoneme range 0 1 left_funneler
flexcontroller phoneme range 0 1 right_stretcher
flexcontroller phoneme range 0 1 left_stretcher
flexcontroller phoneme range 0 1 bite
flexcontroller phoneme range 0 1 presser
flexcontroller phoneme range 0 1 tightener
flexcontroller phoneme range 0 1 jaw_clencher
flexcontroller phoneme range 0 1 jaw_drop
flexcontroller phoneme range 0 1 right_mouth_drop
flexcontroller phoneme range 0 1 left_mouth_drop
flexcontroller mouth range 0 1 smile
flexcontroller mouth range 0 1 lower_lip
flexcontroller head range -30 30 head_rightleft
flexcontroller head range -15 15 head_updown
flexcontroller head range -15 15 head_tilt
flexcontroller eyes range -30 30 eyes_updown
flexcontroller eyes range -30 30 eyes_rightleft
flexcontroller body range -30 30 body_rightleft
flexcontroller chest range -30 30 chest_rightleft
flexcontroller head range -0.2 0.2 head_forwardback
flexcontroller gesture range -1 1 gesture_updown
flexcontroller gesture range -1 1 gesture_rightleft
localvar right_open
localvar left_open
localvar right_lip_suppressor
localvar left_lip_suppressor
localvar right_depressor_suppressor
localvar left_depressor_suppressor
localvar right_corner_suppressor
localvar left_corner_suppressor
localvar right_drop_suppressor
localvar left_drop_suppressor
localvar right_drop
localvar left_drop
%upper_right_raiser = right_lid_raiser * (1 - right_lid_droop * 0.8) * (1 - right_lid_closer) * (1 - blink)
%upper_right_neutral = (1 - right_lid_droop * 0.8) * (1 - right_lid_raiser) * (1 - right_lid_closer) * (1 - blink)
%upper_right_lowerer = right_lid_closer + blink * (1 - right_lid_closer)
%upper_left_raiser = left_lid_raiser * (1 - left_lid_droop * 0.8) * (1 - left_lid_closer) * (1 - blink)
%upper_left_neutral = (1 - left_lid_droop * 0.8) * (1 - left_lid_raiser) * (1 - left_lid_closer) * (1 - blink)
%upper_left_lowerer = left_lid_closer + blink * (1 - left_lid_closer)
%lower_right_raiser = right_lid_closer + blink * 0.5 * (1 - right_lid_closer)
%lower_right_neutral = (1 - right_lid_closer) * (1 - 0.5 * blink) * (1 - right_lid_tightener * 0.5) * (1 - right_cheek_raiser * 0.25)
%lower_right_lowerer = 0
%lower_left_raiser = left_lid_closer + blink * 0.5 * (1 - left_lid_closer)
%lower_left_neutral = (1 - left_lid_closer) * (1 - 0.5 * blink) * (1 - left_lid_tightener * 0.5) * (1 - left_cheek_raiser * 0.25)
%lower_left_lowerer = 0
%AU1R = right_inner_raiser * (1 - right_outer_raiser) * (1 - right_lowerer)
%AU1L = left_inner_raiser * (1 - left_outer_raiser) * (1 - left_lowerer)
%AU2R = right_outer_raiser * (1 - right_inner_raiser) * (1 - right_lowerer)
%AU2L = left_outer_raiser * (1 - left_inner_raiser) * (1 - left_lowerer)
%AU1AU2R = right_inner_raiser * right_outer_raiser * (1 - right_lowerer)
%AU1AU2L = left_inner_raiser * left_outer_raiser * (1 - left_lowerer)
%AU4R = right_lowerer
%AU4L = left_lowerer
%AU6R = right_cheek_raiser
%AU6L = left_cheek_raiser
%AU9R = wrinkler
%AU9L = wrinkler
%AU38 = dilator
%right_open = smile + right_part * (1 - smile) + right_puckerer + right_funneler + right_upper_raiser * 0.5 + lower_lip * 0.5
%left_open = smile + left_part * (1 - smile) + left_puckerer + left_funneler + left_upper_raiser * 0.5 + lower_lip * 0.5
%right_lip_suppressor = 1 / %right_open * (1 - presser) * (1 - bite)
%left_lip_suppressor = 1 / %left_open * (1 - presser) * (1 - bite)
%AU10R = right_upper_raiser * right_upper_raiser * 0.5 * %right_lip_suppressor
%AU10L = left_upper_raiser * left_upper_raiser * 0.5 * %left_lip_suppressor
%AU25R = right_part * right_part * %right_lip_suppressor * (1 - smile)
%AU25L = left_part * left_part * %left_lip_suppressor * (1 - smile)
%AU12AU25 = smile * smile * 0.5 * (%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 - jaw_drop * 0.5) * (1 - bite) * (1 - 0.6 * (%AU25R + %AU18R + %AU22R)) * (1 - smile)
%AU17L = chin_raiser * (1 - jaw_drop * 0.5) * (1 - bite) * (1 - 0.6 * (%AU25L + %AU18L + %AU22L)) * (1 - smile)
%right_depressor_suppressor = 1 / (%AU18R * 0.8 + %AU22R * 0.8 + %AU17R + bite + right_corner_puller + right_stretcher + right_corner_depressor) * (1 - jaw_drop * 0.5) * (1 - smile * 0.5)
%left_depressor_suppressor = 1 / (%AU18L * 0.8 + %AU22L * 0.8 + %AU17L + bite + left_corner_puller + left_stretcher + left_corner_depressor) * (1 - jaw_drop * 0.5) * (1 - smile * 0.5)
%AU15R = right_corner_depressor * right_corner_depressor * %right_depressor_suppressor
%AU15L = left_corner_depressor * left_corner_depressor * %left_depressor_suppressor
%right_corner_suppressor = 1 / (%AU18R * 0.8 + %AU22R * 0.8 + %AU17R + bite + right_corner_puller + right_stretcher + right_corner_depressor) * (1 - jaw_drop * 0.5) * (1 - smile)
%left_corner_suppressor = 1 / (%AU18L * 0.8 + %AU22L * 0.8 + %AU17L + bite + left_corner_puller + left_stretcher + left_corner_depressor) * (1 - jaw_drop * 0.5) * (1 - 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 - presser) * tightener
%AU31 = jaw_clencher * jaw_clencher / (jaw_clencher + jaw_drop)
%right_drop_suppressor = 1 / (0.5 * %right_open + right_mouth_drop) * (1 - presser) * (1 - bite)
%left_drop_suppressor = 1 / (0.5 * %left_open + left_mouth_drop) * (1 - presser) * (1 - bite)
%right_drop = right_mouth_drop * right_mouth_drop * %right_drop_suppressor
%left_drop = left_mouth_drop * left_mouth_drop * %left_drop_suppressor
%AU26R = jaw_drop * (1 - %right_drop) * jaw_drop / (jaw_clencher + jaw_drop)
%AU26L = jaw_drop * (1 - %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.25 * (%right_lip_suppressor + %left_lip_suppressor) * (1 - 0.5 * (%AU27R + %AU27L))
%mouth = %AU27R * 0.5 + %AU27L * 0.5 + %AU22R * 0.35 + %AU22L * 0.35 + %AU18R * 0.25 + %AU18L * 0.25 + %AU25R * 0.35 + %AU25L * 0.35 + %AU32 * 0.5 + %AU12AU25 + %AU16 * 0.4
}
$lod 9
{
replacemodel "male_01_reference.smd" "male_01_body0_model0_lod1.smd"
}
$lod 18
{
replacemodel "male_01_reference.smd" "male_01_body0_model0_lod2.smd"
}
$lod 32
{
replacemodel "male_01_reference.smd" "male_01_body0_model0_lod3.smd"
}
$lod 48
{
replacemodel "male_01_reference.smd" "male_01_body0_model0_lod4.smd"
}
$lod 64
{
replacemodel "male_01_reference.smd" "male_01_body0_model0_lod5.smd"
}
$shadowlod
{
replacemodel "male_01_reference.smd" "male_01_body0_model0_lod6.smd"
}
$surfaceprop "flesh"
$contents "solid"
$eyeposition 0 0 70
$maxeyedeflection 90
$ambientboost
$mostlyopaque
$cdmaterials "models/voltage/unsortedcitizen/"
$attachment "eyes" "ValveBiped.Bip01_Head1" 3.67 -4.32 0 rotate 0 -80.1 -90
$attachment "mouth" "ValveBiped.Bip01_Head1" 1 -6.5 0 rotate 0 -80 -90
$attachment "chest" "ValveBiped.Bip01_Spine2" 5 4 0 rotate 0 90 90
$attachment "forward" "ValveBiped.forward" 0 0 0 rotate 0 0 0
$attachment "anim_attachment_RH" "ValveBiped.Anim_Attachment_RH" 0 0 0 rotate -90 -90 0
$attachment "anim_attachment_LH" "ValveBiped.Anim_Attachment_LH" 0 0 0 rotate -90 -90 0
$attachment "anim_attachment_head" "ValveBiped.Bip01_Head1" 0 0 0 rotate -90 -90 0
$cbox 0 0 0 0 0 0
$bbox -13 -13 0 13 13 72
// $hboxset "default"
// $hbox 1 "ValveBiped.Bip01_Head1" -1.25 -6.5 -3.19 8.25 3.5 3.31 ""
// $hbox 4 "ValveBiped.Bip01_L_UpperArm" 0 -2.75 -2.75 12.51 1.75 2.25 ""
// $hbox 4 "ValveBiped.Bip01_L_Forearm" 0 -2.19 -2.38 13 1.81 1.62 ""
// $hbox 4 "ValveBiped.Bip01_L_Hand" 0.06 -2 -1.5 4.06 1 2.5 ""
// $hbox 5 "ValveBiped.Bip01_R_UpperArm" 0 -3 -2.25 12.39 2 2.75 ""
// $hbox 5 "ValveBiped.Bip01_R_Forearm" -0.5 -2.2 -1.55 12.5 1.8 2.45 ""
// $hbox 5 "ValveBiped.Bip01_R_Hand" 0.06 -2 -2.5 4.06 1 1.5 ""
// $hbox 6 "ValveBiped.Bip01_L_Thigh" 0 -3.75 -3.25 17.85 3.75 3.25 ""
// $hbox 6 "ValveBiped.Bip01_L_Calf" 0 -3.51 -3.28 15.64 3.49 2.72 ""
// $hbox 6 "ValveBiped.Bip01_L_Foot" -1.07 -2 -2.84 5.04 5 2.16 ""
// $hbox 6 "ValveBiped.Bip01_L_Toe0" -0.5 -3 -2.19 2.5 0 2.46 ""
// $hbox 7 "ValveBiped.Bip01_R_Thigh" 0 -3.75 -3.25 17.85 3.75 3.25 ""
// $hbox 7 "ValveBiped.Bip01_R_Calf" 0 -3.51 -2.82 15.64 3.49 3.18 ""
// $hbox 7 "ValveBiped.Bip01_R_Foot" -1.06 -2.01 -2.28 5.05 4.99 2.72 ""
// $hbox 7 "ValveBiped.Bip01_R_Toe0" -0.5 -3 -2.6 2.5 0 2.1 ""
// $hbox 3 "ValveBiped.Bip01_Pelvis" -7.5 -5.5 -6 7.5 8.5 5 ""
// $hbox 2 "ValveBiped.Bip01_Spine2" -2.5 -2.5 -7 14.5 7.5 7 ""
// $skipboneinbbox
$bonemerge "ValveBiped.Bip01_Pelvis"
$bonemerge "ValveBiped.Bip01_Spine"
$bonemerge "ValveBiped.Bip01_Spine1"
$bonemerge "ValveBiped.Bip01_Spine2"
$bonemerge "ValveBiped.Bip01_Spine4"
$bonemerge "ValveBiped.Bip01_R_Clavicle"
$bonemerge "ValveBiped.Bip01_R_UpperArm"
$bonemerge "ValveBiped.Bip01_R_Forearm"
$bonemerge "ValveBiped.Bip01_R_Hand"
$bonemerge "ValveBiped.Anim_Attachment_RH"
$proceduralbones "male_01.vrd"
$ikchain "rhand" "ValveBiped.Bip01_R_Hand" knee 0.707 0.707 0
$ikchain "lhand" "ValveBiped.Bip01_L_Hand" knee 0.707 0.707 0
$ikchain "rfoot" "ValveBiped.Bip01_R_Foot" knee 0.707 -0.707 0
$ikchain "lfoot" "ValveBiped.Bip01_L_Foot" knee 0.707 -0.707 0
$sequence "ragdoll" {
"male_01_anims\ragdoll.smd"
activity "ACT_DIERAGDOLL" 1
fadein 0.2
fadeout 0.2
fps 30
}
$includemodel "m_anm.mdl"
$ikautoplaylock "rfoot" 1 0.1
$ikautoplaylock "lfoot" 1 0.1
$collisionjoints "male_01_physics.smd"
{
$mass 0
$inertia 10
$damping 0.01
$rotdamping 1.5
$jointconstrain "ValveBiped.Bip01_Spine2" x limit -48 48 0
$jointconstrain "ValveBiped.Bip01_Spine2" y limit -25 25 0
$jointconstrain "ValveBiped.Bip01_Spine2" z limit -25 50 0
$jointconstrain "ValveBiped.Bip01_R_UpperArm" x limit -39 39 0
$jointconstrain "ValveBiped.Bip01_R_UpperArm" y limit -79 95 0
$jointconstrain "ValveBiped.Bip01_R_UpperArm" z limit -93 23 0
$jointconstrain "ValveBiped.Bip01_L_UpperArm" x limit -30 30 0
$jointconstrain "ValveBiped.Bip01_L_UpperArm" y limit -95 84 0
$jointconstrain "ValveBiped.Bip01_L_UpperArm" z limit -86 26 0
$jointconstrain "ValveBiped.Bip01_L_Forearm" x limit 0 0 0
$jointconstrain "ValveBiped.Bip01_L_Forearm" y limit 0 0 0
$jointconstrain "ValveBiped.Bip01_L_Forearm" z limit -149 4 0
$jointconstrain "ValveBiped.Bip01_L_Hand" x limit -37 37 0
$jointconstrain "ValveBiped.Bip01_L_Hand" y limit 0 0 0
$jointconstrain "ValveBiped.Bip01_L_Hand" z limit -57 59 0
$jointconstrain "ValveBiped.Bip01_R_Forearm" x limit 0 0 0
$jointconstrain "ValveBiped.Bip01_R_Forearm" y limit 0 0 0
$jointconstrain "ValveBiped.Bip01_R_Forearm" z limit -149 4 0
$jointconstrain "ValveBiped.Bip01_R_Hand" x limit -60 60 0
$jointconstrain "ValveBiped.Bip01_R_Hand" y limit 0 0 0
$jointconstrain "ValveBiped.Bip01_R_Hand" z limit -57 70 0
$jointconstrain "ValveBiped.Bip01_R_Thigh" x limit -12 12 0
$jointconstrain "ValveBiped.Bip01_R_Thigh" y limit -8 75 0
$jointconstrain "ValveBiped.Bip01_R_Thigh" z limit -97 32 0
$jointconstrain "ValveBiped.Bip01_R_Calf" x limit 0 0 0
$jointconstrain "ValveBiped.Bip01_R_Calf" y limit 0 0 0
$jointconstrain "ValveBiped.Bip01_R_Calf" z limit -12 126 0
$jointconstrain "ValveBiped.Bip01_Head1" x limit -20 20 0
$jointconstrain "ValveBiped.Bip01_Head1" y limit -25 25 0
$jointconstrain "ValveBiped.Bip01_Head1" z limit -13 30 0
$jointconstrain "ValveBiped.Bip01_L_Thigh" x limit -12 12 0
$jointconstrain "ValveBiped.Bip01_L_Thigh" y limit -73 6 0
$jointconstrain "ValveBiped.Bip01_L_Thigh" z limit -93 30 0
$jointconstrain "ValveBiped.Bip01_L_Calf" x limit 0 0 0
$jointconstrain "ValveBiped.Bip01_L_Calf" y limit 0 0 0
$jointconstrain "ValveBiped.Bip01_L_Calf" z limit -8 126 0
$jointconstrain "ValveBiped.Bip01_L_Foot" x limit 0 0 0
$jointconstrain "ValveBiped.Bip01_L_Foot" y limit -19 19 0
$jointconstrain "ValveBiped.Bip01_L_Foot" z limit -15 35 0
$jointconstrain "ValveBiped.Bip01_R_Foot" x limit 0 0 0
$jointconstrain "ValveBiped.Bip01_R_Foot" y limit -25 6 0
$jointconstrain "ValveBiped.Bip01_R_Foot" z limit -15 35 0
$jointcollide "ValveBiped.Bip01_L_Forearm" "ValveBiped.Bip01_Pelvis"
}
$collisiontext
{
animatedfriction
{
"animfrictionmin" "1.000000"
"animfrictionmax" "400.000000"
"animfrictiontimein" "0.500000"
"animfrictiontimeout" "0.300000"
"animfrictiontimehold" "0.000000"
}
editparams
{
"rootname" "valvebiped.bip01_pelvis"
"totalmass" "90.000000"
"jointmerge" "valvebiped.bip01_pelvis,valvebiped.bip01"
"jointmerge" "valvebiped.bip01_pelvis,valvebiped.bip01_spine1"
}
}
That’s the full qc and I will take a look at that link now and see if I can figure anything out and see if I missed anything.
You have two options. Either remove the lods (not recommended)
Or make the lods use the new texture.
If you have notepad++ replacing textures is easy. Open up the smd and scroll down
You’ll see a texture name followed by numbers
Highlight the texture name and hit ctrl + f and go to the “replace” tab
Then simply replace the texturename with the name of the texture you made the model use and hit “replace all” (add an extension like .bmp or .tga or .png or something. Doesn’t really matter)
So I did that and that fixed it! Thank you very much!