Ragdoll Help

So, recently, my interest for Elder Scrolls has been reignited and I felt compelled to try something new other than just mapping all the time. I decided to try ripping some stuff out of skyrim to then import into gmod, much like someone before me had done with most of the NPC’s, items and beast races of skyrim. Since he hadn’t included Elf or Human races in his pack, I thought I’d try and do it to see if I could. He included a nice little tutorial in his download on how to get things done, and for the most part, I understood it. Or so I thought. I got the parts into 3DSmax, I stuck them together, I’m pretty sure I did the skeleton and stuff right, but I ran into a few problems.

  1. It’s untextured. Not a big deal, I know how to fix that. I just gotta set the vtf and vmt’s to correct locations and whatever.
  2. Instead of a ragdoll, the untextured product come out as an effect. With the little green circle at its feet and everything, stuck in the t-pose.
  3. The model was far larger than it needed to be. It was nearly the same size as a Giant from Skyrim which was also included in the pack.

So I tried fiddling around with what I aw and decompiled it, messed around with the .qc and .smd files and then recompiled it. Now, I have no clue if it’s working or not because whenever I spawn it, it instantly crashes my gmod. I’m a total noob at this and desperately need someone to point me in the right direction. If need be, I can provide screenshots/files. Thanks in advance.

What it SHOULD look like…

http://puu.sh/5UI1v

What it actually looks like… ;.;

http://puu.sh/5MI04

.qc file itself. I had used a template that was included in the little tutorial…for the most part.


$cd "C:\Users\Sexy Frog\Desktop\New folder\models\myproject"
$modelname "myproject\model01.mdl"
$surfaceprop "flesh"
$cdmaterials "models\myproject"
$eyeposition 0 0 70
$attachment "eyes" "NPC Head [Head]" 0.00 -3.93 68.41 absolute
$attachment "mouth" "NPC Head [Head]" 0.80 -5.80 -0.15 rotate 0 -80 -90
$model model "idle.smd"{


flexfile "r_eyelid_raise.vta"
flex "r_eyelid_raise" frame 10
flexcontroller "phoneme" "r_eyelid_raise" "range" 0 1
%r_eyelid_raise = r_eyelid_raise

flexfile "l_eyelid_raise.vta"
flex "l_eyelid_raise" frame 10
flexcontroller "phoneme" "l_eyelid_raise" "range" 0 1
%l_eyelid_raise = l_eyelid_raise

flexfile "r_eyelid_lower.vta"
flex "r_eyelid_lower" frame 10
flexcontroller "phoneme" "r_eyelid_lower" "range" 0 1
%r_eyelid_lower = r_eyelid_lower

flexfile "l_eyelid_lower.vta"
flex "l_eyelid_lower" frame 10
flexcontroller "phoneme" "l_eyelid_lower" "range" 0 1
%l_eyelid_lower = l_eyelid_lower

flexfile "r_angry.vta"
flex "r_angry" frame 10
flexcontroller "phoneme" "r_angry" "range" 0 1
%r_angry = r_angry

flexfile "l_angry.vta"
flex "l_angry" frame 10
flexcontroller "phoneme" "l_angry" "range" 0 1
%l_angry = l_angry

flexfile "r_sad.vta"
flex "r_sad" frame 10
flexcontroller "phoneme" "r_sad" "range" 0 1
%r_sad = r_sad

flexfile "l_sad.vta"
flex "l_sad" frame 10
flexcontroller "phoneme" "l_sad" "range" 0 1
%l_sad = l_sad

flexfile "r_close.vta"
flex "r_close" frame 10
flexcontroller "phoneme" "r_close" "range" 0 1
%r_close = r_close

flexfile "l_close.vta"
flex "l_close" frame 10
flexcontroller "phoneme" "l_close" "range" 0 1
%l_close = l_close

flexfile "blank.vta"
flex "blank" frame 10
flexcontroller "phoneme" "blank" "range" 0 1
%blank = blank


   mouth 0 "mouth" "NPC Head [Head]" 0 1 0
   eyeball righteye "NPC Head [Head]" -2.01 -3.23 68.41 "eyeball_r1" 1.00 1.5 "pupil1" 1.8
   eyeball lefteye "NPC Head [Head]" 2.01 -3.23 68.41 "eyeball_l1" 1.00 -1.5 "pupil1" 1.8

}

$collisionjoints physmodel.smd {

   $mass 65.0
   $inertia 10.00
   $damping 0.01
   $rotdamping 1.50
   $rootbone "npc com [com ]"

   $jointconstrain "npc spine1 [spn1]" x limit -40.00 40.00 0.00
   $jointconstrain "npc spine1 [spn1]" y limit -30.00 30.00 0.00
   $jointconstrain "npc spine1 [spn1]" z limit -30.00 30.00 0.00

   $jointconstrain "npc spine2 [spn2]" x limit -40.00 40.00 0.00
   $jointconstrain "npc spine2 [spn2]" y limit -30.00 30.00 0.00
   $jointconstrain "npc spine2 [spn2]" z limit -30.00 30.00 0.00

   $jointconstrain "npc l clavicle [lclv]" x limit -30.00 30.00 0.00
   $jointconstrain "npc l clavicle [lclv]" y limit -30.00 30.00 0.00
   $jointconstrain "npc l clavicle [lclv]" z limit -30.00 30.00 0.00

   $jointconstrain "npc r clavicle [rclv]" x limit -30.00 30.00 0.00
   $jointconstrain "npc r clavicle [rclv]" y limit -30.00 30.00 0.00
   $jointconstrain "npc r clavicle [rclv]" z limit -30.00 30.00 0.00

   $jointconstrain "npc r upperarm [ruar]" x limit -90.00 90.00 0.00
   $jointconstrain "npc r upperarm [ruar]" y limit -70.00 50.00 0.00
   $jointconstrain "npc r upperarm [ruar]" z limit -40.00 40.00 0.00

   $jointconstrain "npc r forearm [rlar]" x limit -130.00 10.00 0.00
   $jointconstrain "npc r forearm [rlar]" y limit -15.00 15.00 0.00
   $jointconstrain "npc r forearm [rlar]" z limit -30.00 30.00 0.00

   $jointconstrain "ValveBiped.Bip01_L_Hand" x limit -120.00 120.00 0.00
   $jointconstrain "ValveBiped.Bip01_L_Hand" y limit -120.00 120.00 0.00
   $jointconstrain "ValveBiped.Bip01_L_Hand" z limit -120.00 120.00 0.00

   $jointconstrain "npc l upperarm [luar]" x limit -90.00 90.00 0.00
   $jointconstrain "npc l upperarm [luar]" y limit -50.00 70.00 0.00
   $jointconstrain "npc l upperarm [luar]" z limit -40.00 40.00 0.00

   $jointconstrain "npc head [head]" x limit -40.00 40.00 0.00
   $jointconstrain "npc head [head]" y limit -30.00 30.00 0.00
   $jointconstrain "npc head [head]" z limit -70.00 70.00 0.00

   $jointconstrain "npc l forearm [llar]" x limit -130.00 10.00 0.00
   $jointconstrain "npc l forearm [llar]" y limit -15.00 15.00 0.00
   $jointconstrain "npc l forearm [llar]" z limit -30.00 30.00 0.00

   $jointconstrain "ValveBiped.Bip01_R_Hand" x limit -120.00 120.00 0.00
   $jointconstrain "ValveBiped.Bip01_R_Hand" y limit -120.00 120.00 0.00
   $jointconstrain "ValveBiped.Bip01_R_Hand" z limit -120.00 120.00 0.00

   $jointconstrain "jaw" x limit -20.00 20.00 0.00
   $jointconstrain "jaw" y limit -20.00 20.00 0.00
   $jointconstrain "jaw" z limit -3.00 34.00 0.00

   $jointconstrain "npc r thigh [rthg]" x limit -120.00 120.00 0.00
   $jointconstrain "npc r thigh [rthg]" y limit -120.00 120.00 0.00
   $jointconstrain "npc r thigh [rthg]" z limit -40.00 40.00 0.00

   $jointconstrain "npc r calf [rclf]" x limit 0.00 140.00 0.00
   $jointconstrain "npc r calf [rclf]" y limit -15.00 15.00 0.00
   $jointconstrain "npc r calf [rclf]" z limit -20.00 20.00 0.00

   $jointconstrain "ValveBiped.Bip01_R_Foot" x limit -50.00 50.00 0.00
   $jointconstrain "ValveBiped.Bip01_R_Foot" y limit -50.00 50.00 0.00
   $jointconstrain "ValveBiped.Bip01_R_Foot" z limit -50.00 50.00 0.00

   $jointconstrain "npc l thigh [lthg]" x limit -120.00 120.00 0.00
   $jointconstrain "npc l thigh [lthg]" y limit -120.00 120.00 0.00
   $jointconstrain "npc l thigh [lthg]" z limit -40.00 40.00 0.00

   $jointconstrain "npc l calf [lclf]" x limit 0.00 140.00 0.00
   $jointconstrain "npc l calf [lclf]" y limit -15.00 15.00 0.00
   $jointconstrain "npc l calf [lclf]" z limit -20.00 20.00 0.00

   $jointconstrain "ValveBiped.Bip01_L_Foot" x limit -50.00 50.00 0.00
   $jointconstrain "ValveBiped.Bip01_L_Foot" y limit -50.00 50.00 0.00
   $jointconstrain "ValveBiped.Bip01_L_Foot" z limit -50.00 50.00 0.00

}
$sequence ragdoll "ragdoll" ACT_DIERAGDOLL 1 fps 30.00


Bumping. Added screenies of my issue as well as the .qc. If anyone can point me in the right direction, I would be very grateful.

To get the mesh down to the correct size, you need to scale it in 3dsmax first. As to why it’s an effect - could you post the compile log as well?

Of course.


Loaded QC file - "C:\Users\Sexy Frog\Desktop\New folder\models\myproject\model01.qc"

Created command line: "C:\Program Files (x86)\Steam\steamapps\abenito206\sourcesdk\bin\ep1\bin\studiomdl.exe" -game "C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2\hl2" -verbose -notxbox "C:\Users\Sexy Frog\Desktop\New folder\models\myproject\model01.qc"

qdir:    "c:\users\sexy frog\desktop
ew folder\models\myproject\"
gamedir: "C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2\hl2\"
g_path:  "model01"
Working on "model01.qc"
SMD MODEL C:\Users\Sexy Frog\Desktop\New folder\models\myproject/idle.smd
VTA MODEL C:\Users\Sexy Frog\Desktop\New folder\models\myproject/r_eyelid_raise.vta
VTA MODEL C:\Users\Sexy Frog\Desktop\New folder\models\myproject/l_eyelid_raise.vta
VTA MODEL C:\Users\Sexy Frog\Desktop\New folder\models\myproject/r_eyelid_lower.vta
VTA MODEL C:\Users\Sexy Frog\Desktop\New folder\models\myproject/l_eyelid_lower.vta
VTA MODEL C:\Users\Sexy Frog\Desktop\New folder\models\myproject/r_angry.vta
VTA MODEL C:\Users\Sexy Frog\Desktop\New folder\models\myproject/l_angry.vta
VTA MODEL C:\Users\Sexy Frog\Desktop\New folder\models\myproject/r_sad.vta
VTA MODEL C:\Users\Sexy Frog\Desktop\New folder\models\myproject/l_sad.vta
VTA MODEL C:\Users\Sexy Frog\Desktop\New folder\models\myproject/r_close.vta
VTA MODEL C:\Users\Sexy Frog\Desktop\New folder\models\myproject/l_close.vta
VTA MODEL C:\Users\Sexy Frog\Desktop\New folder\models\myproject/blank.vta
SMD MODEL C:\Users\Sexy Frog\Desktop\New folder\models\myproject/physmodel.smd
SMD MODEL C:\Users\Sexy Frog\Desktop\New folder\models\myproject/ragdoll.smd
Max flex verts 110
Processing jointed collision model
NPC COM [COM ]           ( 68 verts) volume: 503.07
NPC Pelvis [Pelv]        (100 verts) volume: 253.05
NPC L Thigh [LThg]       ( 17 verts) volume: 219.28
NPC L Calf [LClf]        ( 14 verts) volume: 98.74
ValveBiped.Bip01_L_Foot  ( 16 verts) volume: 41.29
NPC R Thigh [RThg]       ( 17 verts) volume: 219.28
NPC R Calf [RClf]        ( 24 verts) volume: 95.90
ValveBiped.Bip01_R_Foot  ( 16 verts) volume: 41.30
NPC Spine1 [Spn1]        ( 24 verts) volume: 309.24
NPC Spine2 [Spn2]        ( 25 verts) volume: 509.68
NPC Head [Head]          ( 49 verts) volume: 186.21
Jaw                      ( 17 verts) volume: 5.87
NPC R Clavicle [RClv]    (  9 verts) volume: 17.50
NPC R UpperArm [RUar]    ( 18 verts) volume: 75.84
NPC R Forearm [RLar]     ( 18 verts) volume: 39.11
ValveBiped.Bip01_R_Hand  ( 46 verts) volume: 15.39
NPC L Clavicle [LClv]    (  9 verts) volume: 16.70
NPC L UpperArm [LUar]    ( 18 verts) volume: 75.84
NPC L Forearm [LLar]     ( 18 verts) volume: 39.15
ValveBiped.Bip01_L_Hand  ( 43 verts) volume: 15.12
Collision model completed.
---------------------
writing C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2\hl2\models/myproject\model01.mdl:
bones        21300 bytes (75)
   animation       x       y       ips    angle
animations    2652 bytes (1 anims) (101 frames) [0:03]
sequences      516 bytes (1 seq) 
ik/pose        672 bytes
eyeballs       344 bytes (2 eyeballs)
flexes        6696 bytes (11 flexes)
textures       664 bytes
keyvalues        0 bytes
Collision model volume 2777.57 in^3
collision        0 bytes
total        35696
---------------------
writing C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2\hl2\models/myproject\model01.vvd:
vertices    241056 bytes (5022 vertices)
tangents     80352 bytes (5022 vertices)
total       321472 bytes
---------------------
Generating optimized mesh "C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2\hl2\models/myproject\model01.sw.vtx":
body parts:         8 bytes
models:            20 bytes
model LODs:        12 bytes
meshes:            72 bytes
strip groups:     225 bytes
strips:           243 bytes
verts:          45513 bytes
indices:        49116 bytes
bone changes:       8 bytes
everything:     95241 bytes
---------------------
Generating optimized mesh "C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2\hl2\models/myproject\model01.dx80.vtx":
body parts:         8 bytes
models:            20 bytes
model LODs:        12 bytes
meshes:            72 bytes
strip groups:     225 bytes
strips:           351 bytes
verts:          46962 bytes
indices:        49116 bytes
bone changes:     928 bytes
everything:     97718 bytes
---------------------
Generating optimized mesh "C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2\hl2\models/myproject\model01.dx90.vtx":
body parts:         8 bytes
models:            20 bytes
model LODs:        12 bytes
meshes:            72 bytes
strip groups:     225 bytes
strips:           243 bytes
verts:          45513 bytes
indices:        49116 bytes
bone changes:     712 bytes
everything:     95945 bytes
---------------------
Generating optimized mesh "C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2\hl2\models/myproject\model01.xbox.vtx":
body parts:         8 bytes
models:            20 bytes
model LODs:        12 bytes
meshes:            72 bytes
strip groups:     225 bytes
strips:           243 bytes
verts:          45513 bytes
indices:        49116 bytes
bone changes:     712 bytes
everything:     95945 bytes

Completed "model01.qc"


Hmm seems like it’s getting actually processed. Got to ask - what exactly is the [com] bone, what’s its position in bone hierarchy and is it actually rigged to anything.

What’s also the rest of the bone hierarchy like.

Also if you can, check the folder where the model compiled to - is a .phy file included? There should be an mdl, a .vvd, 3-4 .vtx and a .phy file.

Also recommend you use the -noxbox tag when compiling the model. You don’t require the xbox vtx.

Uh one extra thing - sine it’s from skyrim, delete all the dismemberment modifiers and such. Justm ake sure all the meshes are editable meshes with a skin modifier. Ideally nothing else.

I gonna be honest with you, I have no clue. Like I said, I used a template that was already prepared from oogaboogaman’s previous skyrim pack. Which I obtained here… http://forum.facepunch.com/showthread.php?t=1149115

But as for my compile folder, everything seems to be in order.

http://puu.sh/5VAhp.png

edit: I followed the .txt tutorial to the letter that was included, however. Which says:

Any chance you could upload your idle.smd and physmodel.smd so that I can take a look at them. Earliest tomorrow though.

Yessir. Right away.

Thoughts on the smds?

Try putting ‘$upaxis Y’ in the QC. That should make it stand up properly.

Don’t know why your phymodel isn’t working though.

sorry had no time yet to check.

Alright, I think I figured out why it was an effect like it was. I was using the 3dsmax plugin called Wallworm and I guess it wasn’t exporting it correctly. So I got Cnonnonfodders .smd exporter and I have much better results. However, the model is still huge which is weird. I ran the resize skeleton script that was included in the pack, however its still giant. That, and the bones are out of place I assume, since I can manipulate the bones with my psygun in places where the model does not touch. Plus its constantly spazzing out and slightly clipping through the floor when its on the floor. I didn’t pose the ragdoll in that screenshot, it just took that pose in the midst of its seizure. Also the floating random hands seem to be in there…probably something I missed in max though so I’m not really worried about that.

http://puu.sh/5ZmMu.jpg