Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $cd "F:\Nikon tiedostot\projects\source\male_ponies\Tombstone"
- $modelname "livingtombstone.mdl"
- $model "model" "reference.smd" { //Here's the base model you need, which also has all the facial expressions. Only a bald earth pony here. The file is under bodyparts -folder.
- //eyeball coordinates, sizes and names here. Don't change these unless you know what you're doing. Otherwise you'll get some unwanted results. Edit textures instead.
- eyeball righteye Head -5.200 -15.060 39.890 eyeball_r 10.000 -1.000 body 10.000
- eyeball lefteye Head 5.200 -15.060 39.890 eyeball_l 10.000 1.000 body 10.000
- mouth 0 "mouth" Head 0.000 1.000 0.000
- //Under here are all the ../flexes. They can be declared all at once (like what you see in decompiled models), but I use this way since it's more readable and more flexible.
- //Don't change these without knowing what you're doing, one typo can result in breaking the flex in game.
- flexfile "../flexes/angry.vta" //This line tells the flex file that needs to be loaded, found under ../flexes -folder
- flex "angry_r" frame 1 //Here's the name of the flex and the frame where it is located in the file
- flexcontroller "phoneme" "angry_r" "range" 0 1 //This part is for lipsync as far as I know
- %angry_r = angry_r //This line is used for combining some ../flexes for the lipsync. Keeping them simple like that is enough for posers.
- flexfile "../flexes/angry.vta"
- flex "angry_l" frame 2
- flexcontroller "phoneme" "angry_l" "range" 0 1
- %angry_l = angry_l
- flexfile "../flexes/sad.vta"
- flex "sad_r" frame 1
- flexcontroller "phoneme" "sad_r" "range" 0 1
- %sad_r = sad_r
- flexfile "../flexes/sad.vta"
- flex "sad_l" frame 2
- flexcontroller "phoneme" "sad_l" "range" 0 1
- %sad_l = sad_l
- flexfile "../flexes/eyes_relaxed.vta"
- flex "relaxed_r" frame 2
- flexcontroller "phoneme" "relaxed_r" "range" 0 1
- %relaxed_r = relaxed_r
- flexfile "../flexes/eyes_relaxed.vta"
- flex "relaxed_l" frame 1
- flexcontroller "phoneme" "relaxed_l" "range" 0 1
- %relaxed_l = relaxed_l
- flexfile "../flexes/lid_raiser.vta"
- flex "r_lid_raiser" frame 1
- flexcontroller "phoneme" "r_lid_raiser" "range" 0 1
- %r_lid_raiser = r_lid_raiser
- flexfile "../flexes/lid_raiser.vta"
- flex "l_lid_raiser" frame 2
- flexcontroller "phoneme" "l_lid_raiser" "range" 0 1
- %l_lid_raiser = l_lid_raiser
- flexfile "../flexes/lid_lowerer.vta"
- flex "r_lid_lowerer" frame 1
- flexcontroller "phoneme" "r_lid_lowerer" "range" 0 1
- %r_lid_lowerer = r_lid_lowerer
- flexfile "../flexes/lid_lowerer.vta"
- flex "l_lid_lowerer" frame 2
- flexcontroller "phoneme" "l_lid_lowerer" "range" 0 1
- %l_lid_lowerer = l_lid_lowerer
- flexfile "../flexes/eyebrow_lowerer.vta"
- flex "r_eyebrow_lowerer" frame 1
- flexcontroller "phoneme" "r_eyebrow_lowerer" "range" 0 1
- %r_eyebrow_lowerer = r_eyebrow_lowerer
- flexfile "../flexes/eyebrow_lowerer.vta"
- flex "l_eyebrow_lowerer" frame 2
- flexcontroller "phoneme" "l_eyebrow_lowerer" "range" 0 1
- %l_eyebrow_lowerer = l_eyebrow_lowerer
- flexfile "../flexes/happy.vta"
- flex "happy_r" frame 1
- flexcontroller "phoneme" "happy_r" "range" 0 1
- %happy_r = happy_r
- flexfile "../flexes/happy.vta"
- flex "happy_l" frame 2
- flexcontroller "phoneme" "happy_l" "range" 0 1
- %happy_l = happy_l
- flexfile "../flexes/eye_closer.vta"
- flex "eye_closer_right" frame 1
- flexcontroller "phoneme" "eye_closer_right" "range" 0 1
- %eye_closer_right = eye_closer_right
- flexfile "../flexes/eye_closer.vta"
- flex "eye_closer_left" frame 2
- flexcontroller "phoneme" "eye_closer_left" "range" 0 1
- %eye_closer_left = eye_closer_left
- flexfile "../flexes/closed_down.vta"
- flex "closed_down_r" frame 1
- flexcontroller "phoneme" "closed_down_r" "range" 0 1
- %closed_down_r = closed_down_r
- flexfile "../flexes/closed_down.vta"
- flex "closed_down_l" frame 2
- flexcontroller "phoneme" "closed_down_l" "range" 0 1
- %closed_down_l = closed_down_l
- flexfile "../flexes/jaw_open.vta"
- flex "jaw_open" frame 1
- flexcontroller "phoneme" "jaw_open" "range" 0 1
- %jaw_open = jaw_open
- flexfile "../flexes/grin.vta"
- flex "grin" frame 1
- flexcontroller "phoneme" "grin" "range" 0 1
- %grin = grin
- flexfile "../flexes/big_grin.vta"
- flex "big_grin" frame 1
- flexcontroller "phoneme" "big_grin" "range" 0 1
- %big_grin = big_grin
- flexfile "../flexes/frown.vta"
- flex "r_frown" frame 1
- flexcontroller "phoneme" "r_frown" "range" 0 1
- %r_frown = r_frown
- flexfile "../flexes/frown.vta"
- flex "l_frown" frame 2
- flexcontroller "phoneme" "l_frown" "range" 0 1
- %l_frown = l_frown
- flexfile "../flexes/smirk.vta"
- flex "r_smirk" frame 1
- flexcontroller "phoneme" "r_smirk" "range" 0 1
- %r_smirk = r_smirk
- flexfile "../flexes/smirk.vta"
- flex "l_smirk" frame 2
- flexcontroller "phoneme" "l_smirk" "range" 0 1
- %l_smirk = l_smirk
- flexfile "../flexes/mouth_full.vta"
- flex "mouth_full" frame 1
- flexcontroller "phoneme" "mouth_full" "range" 0 1
- %mouth_full = mouth_full
- flexfile "../flexes/mouth_extra.vta"
- flex "mouth_angry" frame 2
- flexcontroller "phoneme" "mouth_angry" "range" 0 1
- %mouth_angry = mouth_angry
- flexfile "../flexes/mouth_neutral.vta"
- flex "mouth_neutral" frame 1
- flexcontroller "phoneme" "mouth_neutral" "range" 0 1
- %mouth_neutral = mouth_neutral
- flexfile "../flexes/mouth_S.vta"
- flex "mouth_S" frame 1
- flexcontroller "phoneme" "mouth_S" "range" 0 1
- %mouth_S = mouth_S
- flexfile "../flexes/mouth_extra.vta"
- flex "lower_lip_out" frame 1
- flexcontroller "phoneme" "lower_lip_out" "range" 0 1
- %lower_lip_out = lower_lip_out
- flexfile "../flexes/lip_bite.vta"
- flex "lip_bite" frame 1
- flexcontroller "phoneme" "lip_bite" "range" 0 1
- %lip_bite = lip_bite
- flexfile "../flexes/mouth_pucker.vta"
- flex "mouth_pucker" frame 1
- flexcontroller "phoneme" "mouth_pucker" "range" 0 1
- %mouth_pucker = mouth_pucker
- flexfile "../flexes/tongue.vta"
- flex "tongue_out" frame 1
- flexcontroller "phoneme" "tongue_out" "range" 0 1
- %tongue_out = tongue_out
- flexfile "../flexes/tongue.vta"
- flex "tongue_up" frame 2
- flexcontroller "phoneme" "tongue_up" "range" 0 1
- %tongue_up = tongue_up
- flexfile "../flexes/tongue.vta"
- flex "tongue_down" frame 3
- flexcontroller "phoneme" "tongue_down" "range" 0 1
- %tongue_down = tongue_down
- flexfile "../flexes/tongue.vta"
- flex "tongue_left" frame 4
- flexcontroller "phoneme" "tongue_left" "range" 0 1
- %tongue_left = tongue_left
- flexfile "../flexes/tongue.vta"
- flex "tongue_right" frame 5
- flexcontroller "phoneme" "tongue_right" "range" 0 1
- %tongue_right = tongue_right
- flexfile "../flexes/nose_wrinkle.vta"
- flex "nose_wrinkle" frame 1
- flexcontroller "phoneme" "nose_wrinkle" "range" 0 1
- %nose_wrinkle = nose_wrinkle
- //blank flex used for keeping the rest of the ../flexes intact, without this the last flex will break in Gmod
- flexfile "../flexes/tongue.vta"
- flex "blank" frame 7
- flexcontroller "phoneme" "blank" "range" 0 1
- %blank = blank
- flexcontroller eyes range -90 90 eyes_updown
- flexcontroller eyes range -90 90 eyes_rightleft
- }
- $opaque
- $bodygroup "headphones"
- {
- studio "headphones.smd"
- "blank"
- }
- $bodygroup "mane"
- {
- studio "mane_tombstone.smd"
- }
- $bodygroup "tail"
- {
- studio "tail_tombstone.smd"
- }
- $cdmaterials "models\mlp\livingtombstone\"
- $renamematerial backhair hairback
- $renamematerial fronthair hairfront
- $texturegroup skinfamilies {
- {
- "eyeball_l.vmt"
- "eyeball_r.vmt"
- }
- {
- "eyeball_l_medium.vmt"
- "eyeball_r_medium.vmt"
- }
- {
- "eyeball_l_small.vmt"
- "eyeball_r_small.vmt"
- }
- }
- $jigglebone "jiggle_hair1" {
- is_flexible {
- length 20
- tip_mass 100
- pitch_constraint -5 10
- pitch_friction 10
- pitch_bounce 0
- yaw_stiffness 500
- yaw_damping 10
- yaw_constraint -5 5
- yaw_friction 10
- yaw_bounce 0
- pitch_stiffness 500
- pitch_damping 10
- }
- }
- $jigglebone "jiggle_hair2" {
- is_flexible {
- length 20
- tip_mass 100
- pitch_constraint -5 5
- pitch_friction 10
- pitch_bounce 0
- yaw_stiffness 500
- yaw_damping 10
- yaw_constraint -5 5
- yaw_friction 10
- yaw_bounce 0
- pitch_stiffness 500
- pitch_damping 10
- }
- }
- $jigglebone "jiggle_hair3" {
- is_flexible {
- length 20
- tip_mass 100
- pitch_constraint -5 5
- pitch_friction 10
- pitch_bounce 0
- yaw_stiffness 500
- yaw_damping 10
- yaw_constraint -5 5
- yaw_friction 10
- yaw_bounce 0
- pitch_stiffness 500
- pitch_damping 10
- }
- }
- $jigglebone "jiggle_hair4" {
- is_flexible {
- length 20
- tip_mass 100
- pitch_constraint -8 8
- pitch_friction 10
- pitch_bounce 0
- yaw_stiffness 500
- yaw_damping 10
- yaw_constraint -8 8
- yaw_friction 10
- yaw_bounce 0
- pitch_stiffness 500
- pitch_damping 10
- }
- }
- $jigglebone "jiggle_hair5" {
- is_flexible {
- length 20
- tip_mass 100
- pitch_constraint -8 8
- pitch_friction 10
- pitch_bounce 0
- yaw_stiffness 500
- yaw_damping 10
- yaw_constraint -8 8
- yaw_friction 10
- yaw_bounce 0
- pitch_stiffness 500
- pitch_damping 10
- }
- }
- $jigglebone "jiggle_tail1" {
- is_flexible {
- length 20
- tip_mass 100
- pitch_constraint -15 15
- pitch_friction 10
- pitch_bounce 0
- yaw_stiffness 500
- yaw_damping 10
- yaw_constraint -15 15
- yaw_friction 10
- yaw_bounce 0
- pitch_stiffness 500
- pitch_damping 10
- }
- }
- $jigglebone "jiggle_tail2" {
- is_flexible {
- length 20
- tip_mass 100
- pitch_constraint -8 8
- pitch_friction 10
- pitch_bounce 0
- yaw_stiffness 500
- yaw_damping 10
- yaw_constraint -8 8
- yaw_friction 10
- yaw_bounce 0
- pitch_stiffness 500
- pitch_damping 10
- }
- }
- $jigglebone "jiggle_tail3" {
- is_flexible {
- length 20
- tip_mass 100
- pitch_constraint -8 8
- pitch_friction 10
- pitch_bounce 0
- yaw_stiffness 500
- yaw_damping 10
- yaw_constraint -8 8
- yaw_friction 10
- yaw_bounce 0
- pitch_stiffness 500
- pitch_damping 10
- }
- }
- $attachment "eyes" "Head" 5.61 -9.36 0.00 rotate -0.00 -92.59 -90.00
- $attachment "mouth" "Head" 0.80 -5.80 -0.15 rotate 0.00 -80.00 -90.00
- $surfaceprop "flesh"
- $eyeposition -0.000 0.000 70.000
- $illumposition -3.290 -0.000 25.575
- $origin 0 0 -1.8768
- $sequence ragdoll "ragdoll" ACT_DIERAGDOLL 1 fps 30.00
- $collisionjoints "phymodel.smd" {
- $mass 50.0
- $inertia 10.00
- $damping 0.20
- $rotdamping 4.50
- $noselfcollisions
- $rootbone "pelvis"
- $jointconstrain "tail1" x limit -50.00 50.00 0.00
- $jointconstrain "tail1" y limit -50.00 50.00 0.00
- $jointconstrain "tail1" z limit -30.00 30.00 0.00
- $jointconstrain "tail2" x limit -30.00 30.00 0.00
- $jointconstrain "tail2" y limit -30.00 30.00 0.00
- $jointconstrain "tail2" z limit -20.00 20.00 0.00
- $jointconstrain "leftthigh" x limit -30.00 30.00 0.00
- $jointconstrain "leftthigh" y limit -90.00 10.00 0.00
- $jointconstrain "leftthigh" z limit -90.00 90.00 0.00
- $jointconstrain "leftleg1" x limit 0.00 0.00 0.00
- $jointconstrain "leftleg1" y limit 0.00 0.00 0.00
- $jointconstrain "leftleg1" z limit -40.00 15.00 0.00
- $jointconstrain "leftleg2" x limit 0.00 0.00 0.00
- $jointconstrain "leftleg2" y limit 0.00 0.00 0.00
- $jointconstrain "leftleg2" z limit -20.00 100.00 0.00
- $jointconstrain "leftfoot" x limit -50.00 50.00 0.00
- $jointconstrain "leftfoot" y limit -50.00 50.00 0.00
- $jointconstrain "leftfoot" z limit -50.00 50.00 0.00
- $jointconstrain "rightthigh" x limit -30.00 30.00 0.00
- $jointconstrain "rightthigh" y limit -90.00 10.00 0.00
- $jointconstrain "rightthigh" z limit -90.00 90.00 0.00
- $jointconstrain "rightleg1" x limit 0.00 0.00 0.00
- $jointconstrain "rightleg1" y limit 0.00 0.00 0.00
- $jointconstrain "rightleg1" z limit -40.00 15.00 0.00
- $jointconstrain "rightleg2" x limit 0.00 0.00 0.00
- $jointconstrain "rightleg2" y limit 0.00 0.00 0.00
- $jointconstrain "rightleg2" z limit -20.00 100.00 0.00
- $jointconstrain "rightfoot" x limit -50.00 50.00 0.00
- $jointconstrain "rightfoot" y limit -50.00 50.00 0.00
- $jointconstrain "rightfoot" z limit -50.00 50.00 0.00
- $jointconstrain "chest1" x limit -15.00 15.00 0.00
- $jointconstrain "chest1" y limit -20.00 20.00 0.00
- $jointconstrain "chest1" z limit -20.00 20.00 0.00
- $jointconstrain "leftwingclosed" x limit -20.00 20.00 0.00
- $jointconstrain "leftwingclosed" y limit -20.00 20.00 0.00
- $jointconstrain "leftwingclosed" z limit -70.00 10.00 0.00
- $jointconstrain "chest2" x limit -15.00 15.00 0.00
- $jointconstrain "chest2" y limit -20.00 20.00 0.00
- $jointconstrain "chest2" z limit -20.00 20.00 0.00
- $jointconstrain "leftshoulder" x limit -30.00 30.00 0.00
- $jointconstrain "leftshoulder" y limit -40.00 40.00 0.00
- $jointconstrain "leftshoulder" z limit -20.00 40.00 0.00
- $jointconstrain "leftarm" x limit -10.00 10.00 0.00
- $jointconstrain "leftarm" y limit -10.00 10.00 0.00
- $jointconstrain "leftarm" z limit -10.00 10.00 0.00
- $jointconstrain "leftforearm" x limit -20.00 20.00 0.00
- $jointconstrain "leftforearm" y limit -10.00 10.00 0.00
- $jointconstrain "leftforearm" z limit 0.00 100.00 0.00
- $jointconstrain "lefthand" x limit 0.00 0.00 0.00
- $jointconstrain "lefthand" y limit 0.00 0.00 0.00
- $jointconstrain "lefthand" z limit -100.00 0.00 0.00
- $jointconstrain "rightshoulder" x limit -30.00 30.00 0.00
- $jointconstrain "rightshoulder" y limit -40.00 40.00 0.00
- $jointconstrain "rightshoulder" z limit -20.00 40.00 0.00
- $jointconstrain "rightarm" x limit -10.00 10.00 0.00
- $jointconstrain "rightarm" y limit -10.00 10.00 0.00
- $jointconstrain "rightarm" z limit -10.00 10.00 0.00
- $jointconstrain "rightforearm" x limit -20.00 20.00 0.00
- $jointconstrain "rightforearm" y limit -10.00 10.00 0.00
- $jointconstrain "rightforearm" z limit 0.00 100.00 0.00
- $jointconstrain "righthand" x limit 0.00 0.00 0.00
- $jointconstrain "righthand" y limit 0.00 0.00 0.00
- $jointconstrain "righthand" z limit -100.00 0.00 0.00
- $jointconstrain "rightball" x limit -50.00 50.00 0.00
- $jointconstrain "rightball" y limit -50.00 50.00 0.00
- $jointconstrain "rightball" z limit -50.00 50.00 0.00
- $jointconstrain "neck" x limit -40.00 40.00 0.00
- $jointconstrain "neck" y limit -30.00 30.00 0.00
- $jointconstrain "neck" z limit -50.00 30.00 0.00
- $jointconstrain "head" x limit -50.00 50.00 0.00
- $jointconstrain "head" y limit -30.00 30.00 0.00
- $jointconstrain "head" z limit -30.00 30.00 0.00
- $jointconstrain "leftball" x limit -50.00 50.00 0.00
- $jointconstrain "leftball" y limit -50.00 50.00 0.00
- $jointconstrain "leftball" z limit -50.00 50.00 0.00
- $jointconstrain "rightwingclosed" x limit -20.00 20.00 0.00
- $jointconstrain "rightwingclosed" y limit -20.00 20.00 0.00
- $jointconstrain "rightwingclosed" z limit -70.00 10.00 0.00
- $jointconstrain "tail3" x limit -20.00 20.00 0.00
- $jointconstrain "tail3" y limit -20.00 20.00 0.00
- $jointconstrain "tail3" z limit -20.00 20.00 0.00
- $jointconstrain "leftwingopen" x limit -80.00 80.00 0.00
- $jointconstrain "leftwingopen" y limit -50.00 50.00 0.00
- $jointconstrain "leftwingopen" z limit -25.00 100.00 0.00
- $jointconstrain "rightwingopen" x limit -80.00 80.00 0.00
- $jointconstrain "rightwingopen" y limit -50.00 50.00 0.00
- $jointconstrain "rightwingopen" z limit -25.00 100.00 0.00
- }
Add Comment
Please, Sign In to add comment