I'm attempting to make a Spyro ragdoll for use in Gmod. I'm using blender. I've been using bits and pieces of information from various tutorials. I can load the model into the source SDK Model Viewer and view it fine. Although, when I attempt to rotate certain bones in the viewer, vertices that aren't attached to certain bones end up moving and and everything appears to be improperly connected. If I compile the model as a static object, instead of a ragdoll, It looks and acts perfectly fine fine in Gmod. When the ragdoll version is spawned, it does the following:
[IMG]http://i174.photobucket.com/albums/w113/kommentgames/ragdollfail.png[/IMG]
I can't move it, nothing collides with it. Regardless of where I spawn it, it's always in the same location (Partially in the ground, as you can tell). Viewing it from certain angles and distances causes it to disappear. Now I don't know if this has something to do with the way I've modeled it, the way I've exported it, the way I've exported it, or anything else like that. I've got no experience to work from in regards to making anything for Gmod. If anyone has any information that would be of assistance, it would be highly appreciated. If any more information is needed, I will supply what I can. In the meantime I will continue tweaking things and trying to figure out what's wrong.
Thank you.
Edit: I've got it working fine in the model viewer now, no more oddities regarding bone/vertex movement. When tested in Gmod again, however, It was still in the same location, however contorted differently.
Edit2: qc file
[code]$modelname spyro\Spyro.mdl
$cdmaterials "spyro"
$scale 18
$surfaceprop flesh
$model spyrobody "Spyro-phy.smd"
$sequence ragdoll "Spyro-phy.smd" FPS 30 activity ACT_DIERAGDOLL 1
$collisionjoints "spyro-phy.smd" {
$mass 100.0
$inertia 1.00
$damping 0.01
$rotdamping 1.50
$rootbone "pecs"
$jointconstrain "wing connector" x limit 0.00 0.00 0.00
$jointconstrain "wing connector" y limit -2.00 2.00 0.00
$jointconstrain "wing connector" z limit -20.00 20.00 0.00
$jointconstrain "right lower wing" x limit -20.00 10.00 0.00
$jointconstrain "right lower wing" y limit -20.00 10.00 0.00
$jointconstrain "right lower wing" z limit -70.00 6.00 0.00
$jointconstrain "left lower wing" x limit -10.00 20.00 0.00
$jointconstrain "left lower wing" y limit -10.00 20.00 0.00
$jointconstrain "left lower wing" z limit -6.00 70.00 0.00
$jointconstrain "left mid wing" x limit -40.00 20.00 0.00
$jointconstrain "left mid wing" y limit -40.00 20.00 0.00
$jointconstrain "left mid wing" z limit -5.00 30.00 0.00
$jointconstrain "left upper wing" x limit -5.00 5.00 0.00
$jointconstrain "left upper wing" y limit -20.00 50.00 0.00
$jointconstrain "left upper wing" z limit -20.00 50.00 0.00
$jointconstrain "right mid wing" x limit -20.00 40.00 0.00
$jointconstrain "right mid wing" y limit -20.00 40.00 0.00
$jointconstrain "right mid wing" z limit -5.00 30.00 0.00
$jointconstrain "abdomen" x limit 0.00 0.00 0.00
$jointconstrain "abdomen" y limit 0.00 0.00 0.00
$jointconstrain "abdomen" z limit 0.00 0.00 0.00
$jointconstrain "tail base" x limit 0.00 0.00 0.00
$jointconstrain "tail base" y limit -66.00 66.00 0.00
$jointconstrain "tail base" z limit -28.00 28.00 0.00
$jointconstrain "mid tail" x limit 0.00 0.00 0.00
$jointconstrain "mid tail" y limit -44.00 44.00 0.00
$jointconstrain "mid tail" z limit -40.00 40.00 0.00
$jointconstrain "end tail" x limit 0.00 0.00 0.00
$jointconstrain "end tail" y limit -30.00 60.00 0.00
$jointconstrain "end tail" z limit -30.00 30.00 0.00
$jointconstrain "right upper leg" x limit 0.00 0.00 0.00
$jointconstrain "right upper leg" y limit 0.00 0.00 0.00
$jointconstrain "right upper leg" z limit 0.00 0.00 0.00
$jointconstrain "right lower leg" x limit 0.00 0.00 0.00
$jointconstrain "right lower leg" y limit 0.00 0.00 0.00
$jointconstrain "right lower leg" z limit 0.00 0.00 0.00
$jointconstrain "end tail.001" x limit 0.00 0.00 0.00
$jointconstrain "end tail.001" y limit -19.00 46.00 0.00
$jointconstrain "end tail.001" z limit -32.00 32.00 0.00
$jointconstrain "left upper leg" x limit 0.00 0.00 0.00
$jointconstrain "left upper leg" y limit 0.00 0.00 0.00
$jointconstrain "left upper leg" z limit 0.00 0.00 0.00
$jointconstrain "left lower leg" x limit 0.00 0.00 0.00
$jointconstrain "left lower leg" y limit 0.00 0.00 0.00
$jointconstrain "left lower leg" z limit 0.00 0.00 0.00
$jointconstrain "left foot" x limit 0.00 0.00 0.00
$jointconstrain "left foot" y limit 0.00 0.00 0.00
$jointconstrain "left foot" z limit 0.00 0.00 0.00
$jointconstrain "right foot" x limit 0.00 0.00 0.00
$jointconstrain "right foot" y limit 0.00 0.00 0.00
$jointconstrain "right foot" z limit 0.00 0.00 0.00
$jointconstrain "right upper arm" x limit 0.00 0.00 0.00
$jointconstrain "right upper arm" y limit 0.00 0.00 0.00
$jointconstrain "right upper arm" z limit 0.00 0.00 0.00
$jointconstrain "right lower arm" x limit 0.00 0.00 0.00
$jointconstrain "right lower arm" y limit 0.00 0.00 0.00
$jointconstrain "right lower arm" z limit 0.00 0.00 0.00
$jointconstrain "right upper wing" x limit -5.00 5.00 0.00
$jointconstrain "right upper wing" y limit -50.00 20.00 0.00
$jointconstrain "right upper wing" z limit -20.00 50.00 0.00
$jointconstrain "left upper arm" x limit 0.00 0.00 0.00
$jointconstrain "left upper arm" y limit 0.00 0.00 0.00
$jointconstrain "left upper arm" z limit 0.00 0.00 0.00
$jointconstrain "left lower arm" x limit 0.00 0.00 0.00
$jointconstrain "left lower arm" y limit 0.00 0.00 0.00
$jointconstrain "left lower arm" z limit 0.00 0.00 0.00
$jointconstrain "left hand" x limit 0.00 0.00 0.00
$jointconstrain "left hand" y limit 0.00 0.00 0.00
$jointconstrain "left hand" z limit 0.00 0.00 0.00
$jointconstrain "chest" x limit 0.00 0.00 0.00
$jointconstrain "chest" y limit 0.00 0.00 0.00
$jointconstrain "chest" z limit 0.00 0.00 0.00
$jointconstrain "neck" x limit 0.00 0.00 0.00
$jointconstrain "neck" y limit 0.00 0.00 0.00
$jointconstrain "neck" z limit 0.00 0.00 0.00
$jointconstrain "head" x limit 0.00 0.00 0.00
$jointconstrain "head" y limit 0.00 0.00 0.00
$jointconstrain "head" z limit 0.00 0.00 0.00
$jointconstrain "jaw" x limit 0.00 0.00 0.00
$jointconstrain "jaw" y limit 0.00 0.00 0.00
$jointconstrain "jaw" z limit 0.00 0.00 0.00
$jointconstrain "right hand" x limit 0.00 0.00 0.00
$jointconstrain "right hand" y limit 0.00 0.00 0.00
$jointconstrain "right hand" z limit 0.00 0.00 0.00
}
[/code]
The sometimes-invisible bug occurs when you have an abnormal bone (eg really long or away from the origin). Check to see if all your bones are OK (this includes ragdoll.smd and other smds).
[editline]09:37PM[/editline]
Wait, you don't have a ragdoll.smd. Find a tut on making one.
From what I can tell, spyro-phy.smd is set up just like the ragdoll.smd files in the SDK example whatnot. I created a proper physics mesh, one that didn't cause all the collision bounds for bones to intersect. I've tried using smds exported as static and physics meshes in all three possible places, but I just don't see why this is not working.
Sorry, you need to Log In to post a reply to this thread.