• Any Good Tutorials For Making A Ragdoll In 3ds Max?
    55 replies, posted
I have been porting many morrowind models for a while, and can create models n' textures and Collision Boxes and all that fun stuff in 3ds max I am wishing to do some ports of the creatures and characters. Does anyone know any good tutorials for 3ds Max on creating a Ragdoll for Gmod (Source games in general). If you do know of one please post it here, or if it is simple maybe make a step by step for facepunch. [img]http://i1040.photobucket.com/albums/b405/HellsingXSI/Untitled.jpg?t=1296577241[/img] I did a search for a 3ds Max Tutorial on Facepunch for Ragdoll creation, and couldn't find anything, maybe I am blind If there is a tutorial on here or the question has been asked I must have missed it and hope to be redirected to it here.
Do you know how to create skeletons and rig models to them? If you know how to do that, pretty much everything else is established in your .QC file.
[QUOTE=BabyFawnLegs;27806947]Do you know how to create skeletons and rig models to them? If you know how to do that, pretty much everything else is established in your .QC file.[/QUOTE] That really is what I am asking how to do, QC stuff is probably rather easy, I am going to experiment around and try to find my own way and maybe make a tutorial if it works.. I'm sure that is how the first person to do it in 3DS Max found out anyway.
I took a shot in the dark, made a model with bones compiled and did some terrible nasty things... I went with the hunger model instead of the ash ghoul pictured in my original post. But in the end the Model Viewer failed to view it saying "Error loading model." and fails to elaborate. Bringing the model into gmod ,to see if it may elaborate me some problems with it through the command prompt, I read the console after spawning it and it had 2 errors about 8 times each. First one: prop_effect: backwards mins/maxsp Second one: prop_dynamic: backwards mins/maxsp Here is the .qc [code]$modelname "morrowind\creatures\hunger\m_hunger.mdl" $cdmaterials "morrowind\creatures\hunger" $surfaceprop "rock" $scale .7 $model studio "hunger_ref.smd" $sequence ragdoll "hunger_idle" act_dieragdoll 1 fps 30.00 $collisionjoints "hunger_ref.smd" { $Mass 50.00 $rootbone "bone01" } [/code] Anyone got any advice? I see some MAJOR issues with my GUIStudiostuff.... I have no Idea what I could have done to cause it to do this though...??? [code]GUIStudioMDL 2.2/Source - © 2007 Neil 'Jed' Jedrzejewski - http://www.wunderboy.org/ Loaded QC file - "C:\Program Files\Steam\steamapps\greenpool\sourcesdk_content\hl2\modelsrc\m_hunger\m_hunger.qc" Created command line: "C:\Program Files\Steam\steamapps\greenpool\sourcesdk\bin\ep1\bin\studiomdl.exe" -game "c:\program files\steam\steamapps\greenpool\half-life 2 deathmatch\hl2mp" -notxbox "C:\Program Files\Steam\steamapps\greenpool\sourcesdk_content\hl2\modelsrc\m_hunger\m_hunger.qc" qdir: "c:\program files\steam\steamapps\greenpool\sourcesdk_content\hl2\modelsrc\m_hunger\" gamedir: "c:\program files\steam\steamapps\greenpool\half-life 2 deathmatch\hl2mp\" g_path: "m_hunger" Working on "m_hunger.qc" SMD MODEL hunger_ref.smd SMD MODEL hunger_idle.smd Processing jointed collision model Collision model completed. --------------------- writing c:\program files\steam\steamapps\greenpool\half-life 2 deathmatch\hl2mp\models/morrowind\creatures\hunger\m_hunger.mdl: bones 420 bytes (0) animations 104 bytes (1 anims) (101 frames) [0:03] sequences 216 bytes (1 seq) ik/pose 164 bytes eyeballs 0 bytes (0 eyeballs) flexes 0 bytes (0 flexes) textures 4 bytes keyvalues 0 bytes collision 0 bytes total 992 --------------------- writing c:\program files\steam\steamapps\greenpool\half-life 2 deathmatch\hl2mp\models/morrowind\creatures\hunger\m_hunger.vvd: vertices 0 bytes (0 vertices) tangents 0 bytes (0 vertices) total 64 bytes --------------------- Generating optimized mesh "c:\program files\steam\steamapps\greenpool\half-life 2 deathmatch\hl2mp\models/morrowind\creatures\hunger\m_hunger.sw.vtx": body parts: 8 bytes models: 20 bytes model LODs: 12 bytes meshes: 0 bytes strip groups: 0 bytes strips: 0 bytes verts: 0 bytes indices: 0 bytes bone changes: 8 bytes everything: 72 bytes --------------------- Generating optimized mesh "c:\program files\steam\steamapps\greenpool\half-life 2 deathmatch\hl2mp\models/morrowind\creatures\hunger\m_hunger.dx80.vtx": body parts: 8 bytes models: 20 bytes model LODs: 12 bytes meshes: 0 bytes strip groups: 0 bytes strips: 0 bytes verts: 0 bytes indices: 0 bytes bone changes: 8 bytes everything: 0F˜Î}Y@ 72 bytes --------------------- Generating optimized mesh "c:\program files\steam\steamapps\greenpool\half-life 2 deathmatch\hl2mp\models/morrowind\creatures\hunger\m_hunger.dx90.vtx": body parts: 8 bytes models: 20 bytes model LODs: 12 bytes meshes: 0 bytes strip groups: 0 bytes strips: 0 bytes verts: 0 bytes indices: 0 bytes bone changes: 8 bytes everything: 72 bytes --------------------- Generating optimized mesh "c:\program files\steam\steamapps\greenpool\half-life 2 deathmatch\hl2mp\models/morrowind\creatures\hunger\m_hunger.xbox.vtx": body parts: 8 bytes models: 20 bytes model LODs: 12 bytes meshes: 0 bytes strip groups: 0 bytes strips: 0 bytes verts: 0 bytes indices: 0 bytes bone changes: 8 bytes everything: 72 bytes Completed "m_hunger.qc" [/code]
Here's a sample. It's from one of the corpse ragdolls in HL2: [code]$collisionjoints "phymodel.smd" { $mass 30.0 $inertia 10.00 $damping 0.50 $rotdamping 1.50 $rootbone "charple1.pelvis" $jointconstrain "charple1.femur_l" x limit -50.00 -15.00 0.20 $jointconstrain "charple1.femur_l" y limit -35.00 35.00 0.20 $jointconstrain "charple1.femur_l" z limit -61.00 61.00 0.20 $jointconstrain "charple1.tibia_l" x limit -1.00 -1.00 0.20 $jointconstrain "charple1.tibia_l" y limit 0.00 0.00 0.20 $jointconstrain "charple1.tibia_l" z limit 3.00 106.00 0.20 $jointconstrain "charple1.femur_r" x limit -15.00 15.00 0.20 $jointconstrain "charple1.femur_r" y limit -20.00 27.00 0.20 $jointconstrain "charple1.femur_r" z limit -82.00 30.00 0.20 $jointconstrain "charple1.tibia_r" x limit 0.00 0.00 0.00 $jointconstrain "charple1.tibia_r" y limit 0.00 0.00 0.00 $jointconstrain "charple1.tibia_r" z limit 3.00 93.00 0.20 $jointconstrain "charple1.tarsus_r" x limit -3.00 3.00 0.20 $jointconstrain "charple1.tarsus_r" y limit -10.00 10.00 0.20 $jointconstrain "charple1.tarsus_r" z limit -39.00 30.00 0.20 $jointconstrain "charple1.lumbar" x limit -15.00 15.00 0.20 $jointconstrain "charple1.lumbar" y limit -3.00 3.00 0.20 $jointconstrain "charple1.lumbar" z limit -8.00 8.00 0.20 $jointconstrain "charple1.spine" x limit -15.00 15.00 0.20 $jointconstrain "charple1.spine" y limit -10.00 10.00 0.20 $jointconstrain "charple1.spine" z limit -22.00 22.00 0.20 $jointconstrain "charple1.humerus_l" x limit -32.00 32.00 0.20 $jointconstrain "charple1.humerus_l" y limit -43.00 43.00 0.20 $jointconstrain "charple1.humerus_l" z limit -50.00 50.00 0.20 $jointconstrain "charple1.radius_l" x limit -91.00 95.00 0.20 $jointconstrain "charple1.radius_l" y limit 0.00 0.00 0.00 $jointconstrain "charple1.radius_l" z limit -155.00 -21.00 0.20 $jointconstrain "charple1.humerus_r" x limit -48.00 48.00 0.20 $jointconstrain "charple1.humerus_r" y limit -64.00 64.00 0.20 $jointconstrain "charple1.humerus_r" z limit -53.00 53.00 0.20 $jointconstrain "charple1.radius_r" x limit -91.00 84.00 0.20 $jointconstrain "charple1.radius_r" y limit 0.00 0.00 0.00 $jointconstrain "charple1.radius_r" z limit -153.00 6.00 0.20 $jointconstrain "charple1.carpus_r" x limit -61.00 48.00 0.20 $jointconstrain "charple1.carpus_r" y limit -84.00 84.00 0.20 $jointconstrain "charple1.carpus_r" z limit -66.00 66.00 0.20 $jointconstrain "charple1.carpus_l" x limit -59.00 59.00 0.20 $jointconstrain "charple1.carpus_l" y limit -68.00 68.00 0.20 $jointconstrain "charple1.carpus_l" z limit -48.00 48.00 0.20 $jointconstrain "charple1.head" x limit -30.00 30.00 0.20 $jointconstrain "charple1.head" y limit -35.00 35.00 0.20 $jointconstrain "charple1.head" z limit -19.00 19.00 0.20 $jointconstrain "charple1.tarsus_l" x limit -3.00 3.00 0.20 $jointconstrain "charple1.tarsus_l" y limit -10.00 10.00 0.20 $jointconstrain "charple1.tarsus_l" z limit -39.00 30.00 0.20 }[/code] It might look intimidating, but it's not so hard. Each moveable bone is listed by $jointconstrain, then its limits are defined by the 'limit' parameter. The first two numbers represent the bone's range of motion from 0 on their respective axis and the third represents friction. Just think of it like this: [b]limit [Maximum] [Minimum] [Friction][/b] You can read all about these parameters [url=http://developer.valvesoftware.com/wiki/$jointconstrain][b]here[/b][/url]. If you need any more of it explained to you, I will be happy to help.
[QUOTE=BabyFawnLegs;27820846]Here's a sample. It's from one of the corpse ragdolls in HL2: [code]$collisionjoints "phymodel.smd" { $mass 30.0 $inertia 10.00 $damping 0.50 $rotdamping 1.50 $rootbone "charple1.pelvis" $jointconstrain "charple1.femur_l" x limit -50.00 -15.00 0.20 $jointconstrain "charple1.femur_l" y limit -35.00 35.00 0.20 $jointconstrain "charple1.femur_l" z limit -61.00 61.00 0.20 $jointconstrain "charple1.tibia_l" x limit -1.00 -1.00 0.20 $jointconstrain "charple1.tibia_l" y limit 0.00 0.00 0.20 $jointconstrain "charple1.tibia_l" z limit 3.00 106.00 0.20 $jointconstrain "charple1.femur_r" x limit -15.00 15.00 0.20 $jointconstrain "charple1.femur_r" y limit -20.00 27.00 0.20 $jointconstrain "charple1.femur_r" z limit -82.00 30.00 0.20 $jointconstrain "charple1.tibia_r" x limit 0.00 0.00 0.00 $jointconstrain "charple1.tibia_r" y limit 0.00 0.00 0.00 $jointconstrain "charple1.tibia_r" z limit 3.00 93.00 0.20 $jointconstrain "charple1.tarsus_r" x limit -3.00 3.00 0.20 $jointconstrain "charple1.tarsus_r" y limit -10.00 10.00 0.20 $jointconstrain "charple1.tarsus_r" z limit -39.00 30.00 0.20 $jointconstrain "charple1.lumbar" x limit -15.00 15.00 0.20 $jointconstrain "charple1.lumbar" y limit -3.00 3.00 0.20 $jointconstrain "charple1.lumbar" z limit -8.00 8.00 0.20 $jointconstrain "charple1.spine" x limit -15.00 15.00 0.20 $jointconstrain "charple1.spine" y limit -10.00 10.00 0.20 $jointconstrain "charple1.spine" z limit -22.00 22.00 0.20 $jointconstrain "charple1.humerus_l" x limit -32.00 32.00 0.20 $jointconstrain "charple1.humerus_l" y limit -43.00 43.00 0.20 $jointconstrain "charple1.humerus_l" z limit -50.00 50.00 0.20 $jointconstrain "charple1.radius_l" x limit -91.00 95.00 0.20 $jointconstrain "charple1.radius_l" y limit 0.00 0.00 0.00 $jointconstrain "charple1.radius_l" z limit -155.00 -21.00 0.20 $jointconstrain "charple1.humerus_r" x limit -48.00 48.00 0.20 $jointconstrain "charple1.humerus_r" y limit -64.00 64.00 0.20 $jointconstrain "charple1.humerus_r" z limit -53.00 53.00 0.20 $jointconstrain "charple1.radius_r" x limit -91.00 84.00 0.20 $jointconstrain "charple1.radius_r" y limit 0.00 0.00 0.00 $jointconstrain "charple1.radius_r" z limit -153.00 6.00 0.20 $jointconstrain "charple1.carpus_r" x limit -61.00 48.00 0.20 $jointconstrain "charple1.carpus_r" y limit -84.00 84.00 0.20 $jointconstrain "charple1.carpus_r" z limit -66.00 66.00 0.20 $jointconstrain "charple1.carpus_l" x limit -59.00 59.00 0.20 $jointconstrain "charple1.carpus_l" y limit -68.00 68.00 0.20 $jointconstrain "charple1.carpus_l" z limit -48.00 48.00 0.20 $jointconstrain "charple1.head" x limit -30.00 30.00 0.20 $jointconstrain "charple1.head" y limit -35.00 35.00 0.20 $jointconstrain "charple1.head" z limit -19.00 19.00 0.20 $jointconstrain "charple1.tarsus_l" x limit -3.00 3.00 0.20 $jointconstrain "charple1.tarsus_l" y limit -10.00 10.00 0.20 $jointconstrain "charple1.tarsus_l" z limit -39.00 30.00 0.20 }[/code] It might look intimidating, but it's not so hard. Each moveable bone is listed by $jointconstrain, then its limits are defined by the 'limit' parameter. The first two numbers represent the bone's range of motion from 0 on their respective axis and the third represents friction. Just think of it like this: [b]limit [Maximum] [Minimum] [Friction][/b] You can read all about these parameters [url=http://developer.valvesoftware.com/wiki/$jointconstrain][b]here[/b][/url]. If you need any more of it explained to you, I will be happy to help.[/QUOTE] So since mine is a little less professional and generic. One of then would be... $jointconstrain "bone01" x limit -50.00 -15.00 0.20 $jointconstrain "bone01" y limit -35.00 35.00 0.20 $jointconstrain "bone01" z limit -61.00 61.00 0.20 This all seems right... Hmm... Thanks for the response by the way. I seen a method online that talked about using Model Viewer to do this stuff for you.. But this seems more exact. So my qc in the end would look something like this... [code]$modelname "morrowind\creatures\hunger\m_hunger.mdl" $cdmaterials "morrowind\creatures\hunger" $surfaceprop "rock" $scale .7 $model studio "hunger_ref.smd" $sequence ragdoll "hunger_idle" act_dieragdoll 1 fps 30.00 $collisionjoints "hunger_ref.smd" { $Mass 50.00 $inertia 10.00 $damping 0.50 $rotdamping 1.50 $rootbone "bone01" $jointconstrain "bone02" x limit -50.00 -15.00 0.20 $jointconstrain "bone02" y limit -35.00 35.00 0.20 $jointconstrain "bone02" z limit -61.00 61.00 0.20 (Followed by all my other bones + limits) }[/code] That look right? P.S- Many many thanks for the help.
You're getting there! You can use Model Viewer to test and tweak flex limits once you've compiled the model, but the numbers are the same as the ones you'll get in 3DSmax, so don't worry about it. It's also fairly important to make a separate collision model to keep things nice and clean. You're probably familiar with the concept, but here's an example of a nicely optimised collision model: [img]http://img717.imageshack.us/img717/7220/collh.jpg[/img] The collision model must be textured for export, but the texture doesn't need to be included with the model afterwards.
[QUOTE=BabyFawnLegs;27821785]You're getting there! You can use Model Viewer to test and tweak flex limits once you've compiled the model, but the numbers are the same as the ones you'll get in 3DSmax, so don't worry about it. It's also fairly important to make a separate collision model to keep things nice and clean. You're probably familiar with the concept, but here's an example of a nicely optimised collision model: [img_thumb]http://img717.imageshack.us/img717/7220/collh.jpg[/img_thumb] The collision model must be textured for export, but the texture doesn't need to be included with the model afterwards.[/QUOTE] Am I making collision model also have the bones matched to its vertices like with the original model? If not, what is the next step for this? I am sorry I have so many questions, and am glad you are helping out so much.
[QUOTE=Hellsing;27822058]Am I making collision model also have the bones matched to its vertices like with the original model? If not, what is the next step for this? I am sorry I have so many questions, and am glad you are helping out so much.[/QUOTE] It's no problem. The collision model will be a separate reference SMD. It will be specified by the first line of your physics block. This part: [code]$collisionjoints "phymodel.smd"[/code] To build it, import your reference model and start building a simple structure around the moving parts with low-poly segments like the ones in the picture. When you've finished building the collision model, flip the faces on the segments, rig them to the skeleton, add them to a smoothing group and delete the original reference model, leaving only the physics model and skeleton. When all that's done, you can export it as a reference model with a name like 'phymodel.smd'.
[QUOTE=BabyFawnLegs;27822343]It's no problem. The collision model will be a separate reference SMD. It will be specified by the first line of your physics block. This part: [code]$collisionjoints "phymodel.smd"[/code] To build it, import your reference model and start building a simple structure around the moving parts with low-poly segments like the ones in the picture. When you've finished building the collision model, flip the faces on the segments, rig them to the skeleton, add them to a smoothing group and delete the original reference model, leaving only the physics model and skeleton. When all that's done, you can export it as a reference model with a name like 'phymodel.smd'.[/QUOTE] Very many thanks. I am assuming that this is the last step and the final .qc will be something like this. [code]$modelname "morrowind\creatures\hunger\m_hunger.mdl" $cdmaterials "morrowind\creatures\hunger" $surfaceprop "rock" $scale .7 $model studio "hunger_ref.smd" $sequence ragdoll "hunger_idle" act_dieragdoll 1 fps 30.00 $collisionjoints "hunger_phys.smd" { $Mass 50.00 $inertia 10.00 $damping 0.50 $rotdamping 1.50 $rootbone "bone01" $jointconstrain "bone02" x limit -50.00 -15.00 0.20 $jointconstrain "bone02" y limit -35.00 35.00 0.20 $jointconstrain "bone02" z limit -61.00 61.00 0.20 (Followed by all my other bones + limits) }[/code] I will be very happy if this is the last step.
Yep. If the collision model's assembled correctly and all of the bones are defined, everything that follows will just involve tweaking and testing.
[QUOTE=BabyFawnLegs;27822606]Yep. If the collision model's assembled correctly and all of the bones are defined, everything that follows will just involve tweaking and testing.[/QUOTE] Thanks for all your help, I will now go and have fun trying to get this to work. If I ever have any more questions on the subject in the near future I will message you.
[QUOTE=Hellsing;27822711]Thanks for all your help, I will now go and have fun trying to get this to work. If I ever have any more questions on the subject in the near future I will message you.[/QUOTE] Good luck! [img]http://www.suggestafix.com/html/emoticons/wavey.gif[/img]
Alright, One last question I guess. I've seen this online a few times on google, but it seems that they did not explain how they fixed it very well... When I try to compile I get these errors... ERROR: Rotation constraint on bone "Bone24" which has no parent!!! ERROR: Aborted Processing on 'morrowind\creatures\hunger\m_hunger.mdl' I know for a fact Bone 24 has a parent... I'm confused on this one.. Anyone?
Which bone is Bone24? I've never had this problem but it looks like a hierarchy-related issue. If Bone24 is a thigh bone connecting to the pelvis, then you have to ensure that the pelvis had been designated as the root bone in the *.qc. You'll also want to make sure that your pelvis bone is [b]NOT[/b] in the list of weighted bones. The pelvis does not have any rotation limits and can not be included in the list.
[QUOTE=BabyFawnLegs;27827745]Which bone is Bone24? I've never had this problem but it looks like a hierarchy-related issue. If Bone24 is a thigh bone connecting to the pelvis, then you have to ensure that the pelvis had been designated as the root bone in the *.qc. You'll also want to make sure that your pelvis bone is [b]NOT[/b] in the list of weighted bones. The pelvis does not have any rotation limits and can not be included in the list.[/QUOTE] Bone 24 is a bone inside the head of my rig. Pelvis bone was in the list of weighted bones though... woops, I fixed this. When I re-compiled the same error happened though.
I just did a test to try and recreate your error to diagnose it. It looks like you've accidentally given one bone two parents. So, if bone23 is parented to bone24, it's ALSO parented to bone22. You'll have to fix it for all of your SMDs. One bone can have as many children as it wants, but it can only have one parent. It's an easy mistake to make. That's why it's important to always work inwards toward the pelvis when linking bones. Here's a comparison of good bone hierarchy and problematic bone hierarchy: [img]http://img88.imageshack.us/img88/2735/hierb.png[/img] Keep me posted! We'll get you sorted out.
[QUOTE=BabyFawnLegs;27828214]I just did a test to try and recreate your error to diagnose it. It looks like you've accidentally given one bone two parents. So, if bone23 is parented to bone24, it's ALSO parented to bone22. You'll have to fix it for all of your SMDs. One bone can have as many children as it wants, but it can only have one parent. It's an easy mistake to make. That's why it's important to always work inwards toward the pelvis when linking bones. Here's a comparison of good bone hierarchy and problematic bone hierarchy: [img_thumb]http://img88.imageshack.us/img88/2735/hierb.png[/img_thumb] Keep me posted! We'll get you sorted out.[/QUOTE] I'll get back to you on that tomorrow, time for sleep, but I think this is a perfectly reasonable explanation now that I look back at it. And the pics really help visualize the idea.
I'm having problems with my rig, in the end when I thought I was done I went and grabbed my root bone and rotated it and it made only the leg move. Alot of things did weird stuff like this, I am starting to think that my method of rigging is entirely wrong, any simple guidelines on this I should follow in basic???
[QUOTE=Hellsing;27839150]I'm having problems with my rig, in the end when I thought I was done I went and grabbed my root bone and rotated it and it made only the leg move. Alot of things did weird stuff like this, I am starting to think that my method of rigging is entirely wrong, any simple guidelines on this I should follow in basic???[/QUOTE] If only one leg is being moved when the pelvis is rotated then you've accidentally parented the pelvis to the thigh instead of the thigh to the pelvis. Unlink the bones and give it another try, moving inward toward the pelvic bone. Here's a more complete example of proper bone hierarchy: [img]http://img62.imageshack.us/img62/1396/hieru.png[/img] Just think of the bone song. Foot bone connects to the shin bone, shin bone connects to the thigh bone, thigh bone connects to the pelvic bone. Everything is connected to the pelvic bone in the end!
[QUOTE=BabyFawnLegs;27841434]If only one leg is being moved when the pelvis is rotated then you've accidentally parented the pelvis to the thigh instead of the thigh to the pelvis. Unlink the bones and give it another try, moving inward toward the pelvic bone. Here's a more complete example of proper bone hierarchy: [img_thumb]http://img62.imageshack.us/img62/1396/hieru.png[/img_thumb] Just think of the bone song. Foot bone connects to the shin bone, shin bone connects to the thigh bone, thigh bone connects to the pelvic bone. Everything is connected to the pelvic bone in the end![/QUOTE] This looks right. Thanks I will give it another try. My root was originally the foot, A.K.A - Bone01, should I change this to pelvic bone instead?s
[QUOTE=Hellsing;27842288]This looks right. Thanks I will give it another try. My root was originally the foot, A.K.A - Bone01, should I change this to pelvic bone instead?s[/QUOTE] Yes. The root bone has to be the one that all the others are connected to. The pelvic bone is always the root bone.
I couldn't seem to make a bone rigged skeleton that went from the pelvis like you showed in your previous pictures and ended up with a crazy rig that looked strange.. It rooted from one bone and only one side.. I ended up with four things (since I have a tail to deal with as well) connected to my pelvis. It almost worked. [img]http://i1040.photobucket.com/albums/b405/HellsingXSI/gm_construct0003-1.jpg[/img] If I change to the rig you will it fix my problem, or is it something in qc I have to do with my tail extra? If so, How do I make the bone structures like that and still have it all part of a "Single" bone structure instead of multiple ones. or what do I need to change? Help is highly appreciated. Maybe more so than before.. Because I am so close.. But I feel I may need to restart this bone structure make all over again. My approach may be all wrong.
Looks like we're getting there! It looks like the bone hierarchy is still the problem. To set it right, you're going to have to unlink all of the bones ([img]http://img218.imageshack.us/img218/3402/bone0.gif[/img]) and give it another shot, ensuring that you always drag from child to parent when linking bones and never the other way around. The tail will be parented to the pelvis, just like the two hip bones and the base of the spin, so there shouldn't be any problem there. When everything is linked, you can grab the pelvic bone in 3dsmax and move it around a bit to test your hierarchy. If everything moves freely, you're on the right path. If there's any kind of resistance, you've accidentally parented the pelvis to something.
[QUOTE=BabyFawnLegs;27927543]Looks like we're getting there! It looks like the bone hierarchy is still the problem. To set it right, you're going to have to unlink all of the bones ([img_thumb]http://img218.imageshack.us/img218/3402/bone0.gif[/img_thumb]) and give it another shot, ensuring that you always drag from child to parent when linking bones and never the other way around. The tail will be parented to the pelvis, just like the two hip bones and the base of the spin, so there shouldn't be any problem there. When everything is linked, you can grab the pelvic bone in 3dsmax and move it around a bit to test your hierarchy. If everything moves freely, you're on the right path. If there's any kind of resistance, you've accidentally parented the pelvis to something.[/QUOTE] That is exactly what I have been looking for thanks for the quick reply! I was just going to bed when I posted this ^.^
I won't be able to read this response until tommorow, But I have the following problems. I made the bones all connect to my pelvis bone and have the pelvis bone unweighted. If I move any of my bones nearest to my pelvis they move all of their section but do not rotate around their endpoint, Kind of like if you move the pelvis except instead of bringing everything it just brings its connected parts, So if I move the nearest tail bone to my pelvis than the bone it moves the tail, But does not rotate like if you would move any of the other bones. Kind of hard to explain.. But I have that bone error again and I feel this may be the problem, If you need me to elaborate, tell me what details you need and I will provide them. Thanks again.
[QUOTE=Hellsing;27939667]I won't be able to read this response until tommorow, But I have the following problems. I made the bones all connect to my pelvis bone and have the pelvis bone unweighted. If I move any of my bones nearest to my pelvis they move all of their section but do not rotate around their endpoint, Kind of like if you move the pelvis except instead of bringing everything it just brings its connected parts, So if I move the nearest tail bone to my pelvis than the bone it moves the tail, But does not rotate like if you would move any of the other bones. Kind of hard to explain.. But I have that bone error again and I feel this may be the problem, If you need me to elaborate, tell me what details you need and I will provide them. Thanks again.[/QUOTE] You must have made a mistake in the linking order or accidentally linked a parent to its child instead of the child to its parent. Here's a walkthrough of the process in three stages for clarity: [img]http://img190.imageshack.us/img190/7707/skelly0001.png[/img] Starting at A, drag from child to parent and repeat. (Hand to forearm to bicep; foot to shin to thigh). [img]http://img153.imageshack.us/img153/1667/skelly0002.png[/img] Moving from top to bottom, link the head to the neck and the neck to the segments of the spine. [img]http://img189.imageshack.us/img189/5739/skelly0003.png[/img] Link the shoulders to the adjacent spine segment and the thighs and lowest spine segment to the pelvis. If you were to add a tail or anything like that to this model, you would treat it just like a leg. Also, it's important that your bone hierarchy is consistent between SMDs. So if you've changed the hierarchy of the reference mesh, it will have to be changed for the phymodel too.
Thanks, I had my spine completely backwards which caused a hierarchy problem with my arms and head, So I think it should be good now. Again very helpful and quick reply, Every time. If you don't mind, You seem to have alot of knowledge on the subject but seem to be relatively new to the forums. Is this a brand new account? Or did you get previously banned? If you are new, How did you learn all this stuff???
[QUOTE=Hellsing;27951263]Thanks, I had my spine completely backwards which caused a hierarchy problem with my arms and head, So I think it should be good now. Again very helpful and quick reply, Every time. If you don't mind, You seem to have alot of knowledge on the subject but seem to be relatively new to the forums. Is this a brand new account? Or did you get previously banned? If you are new, How did you learn all this stuff???[/QUOTE] Good luck! And don't worry, I don't mind helping you at all. Also, my knowledge of modelling and stuff didn't come from this community or Garry's Mod or anything. I've been doing this kind of stuff for a little while. As for how I learned it, I don't really know; just from examining existing models and comparing that to what I already knew about modelling. Once you've conquered ragdoll physics, your knowledge will grow like a snowball!
[QUOTE=BabyFawnLegs;27954809]Good luck! And don't worry, I don't mind helping you at all. Also, my knowledge of modelling and stuff didn't come from this community or Garry's Mod or anything. I've been doing this kind of stuff for a little while. As for how I learned it, I don't really know; just from examining existing models and comparing that to what I already knew about modelling. Once you've conquered ragdoll physics, your knowledge will grow like a snowball![/QUOTE] It seems I have made my hierarchy right, I think. But I still get the same error so something must be wrong, I have re-checked alot and can't seem to find why this is happening. Here is an image of how I did my hierarchy. [img]http://i1040.photobucket.com/albums/b405/HellsingXSI/bone18.jpg?t=1297289363[/img] And here is my .qc file for reference. [code]$modelname "morrowind\creatures\hunger\m_hunger.mdl" $cdmaterials "morrowind\creatures\hunger" $surfaceprop "rock" $scale .7 $model studio "hunger_ref.smd" $sequence ragdoll "hunger_idle" act_dieragdoll 1 fps 30.00 $collisionjoints "hunger_phys.smd" { $Mass 50.00 $inertia 10.00 $damping 0.50 $rotdamping 1.50 $rootbone "bone07" //6,8,9,13(Various Parts of Spine Lower number = lower location in spine) ,24 - Neck, 25 - Head $jointconstrain "bone06" x limit -50.00 -15.00 0.00 $jointconstrain "bone06" y limit -35.00 35.00 0.00 $jointconstrain "bone06" z limit -61.00 61.00 0.00 $jointconstrain "bone08" x limit -50.00 -15.00 0.00 $jointconstrain "bone08" y limit -35.00 35.00 0.00 $jointconstrain "bone08" z limit -61.00 61.00 0.00 $jointconstrain "bone09" x limit -50.00 -15.00 0.00 $jointconstrain "bone09" y limit -35.00 35.00 0.00 $jointconstrain "bone09" z limit -61.00 61.00 0.00 $jointconstrain "bone13" x limit -50.00 -15.00 0.00 $jointconstrain "bone13" y limit -35.00 35.00 0.00 $jointconstrain "bone13" z limit -61.00 61.00 0.00 $jointconstrain "bone24" x limit -50.00 -15.00 0.00 $jointconstrain "bone24" y limit -35.00 35.00 0.00 $jointconstrain "bone24" z limit -61.00 61.00 0.00 $jointconstrain "bone25" x limit -50.00 -15.00 0.00 $jointconstrain "bone25" y limit -35.00 35.00 0.00 $jointconstrain "bone25" z limit -61.00 61.00 0.00 //14,15,16,17 - 14 Right Shoulder - 15 Right Biceps - 16 Right Forearm - 17 Right Hand $jointconstrain "bone14" x limit -50.00 -15.00 0.00 $jointconstrain "bone14" y limit -35.00 35.00 0.00 $jointconstrain "bone14" z limit -61.00 61.00 0.00 $jointconstrain "bone15" x limit -50.00 -15.00 0.00 $jointconstrain "bone15" y limit -35.00 35.00 0.00 $jointconstrain "bone15" z limit -61.00 61.00 0.00 $jointconstrain "bone16" x limit -50.00 -15.00 0.00 $jointconstrain "bone16" y limit -35.00 35.00 0.00 $jointconstrain "bone16" z limit -61.00 61.00 0.00 $jointconstrain "bone17" x limit -50.00 -15.00 0.00 $jointconstrain "bone17" y limit -35.00 35.00 0.00 $jointconstrain "bone17" z limit -61.00 61.00 0.00 //10,11,12,13 - 10 Left Shoulder - 11 Left Biceps - 12 Left Forearm - 13 Left Hand $jointconstrain "bone10" x limit -50.00 -15.00 0.00 $jointconstrain "bone10" y limit -35.00 35.00 0.00 $jointconstrain "bone10" z limit -61.00 61.00 0.00 $jointconstrain "bone11" x limit -50.00 -15.00 0.00 $jointconstrain "bone11" y limit -35.00 35.00 0.00 $jointconstrain "bone11" z limit -61.00 61.00 0.00 $jointconstrain "bone12" x limit -50.00 -15.00 0.00 $jointconstrain "bone12" y limit -35.00 35.00 0.00 $jointconstrain "bone12" z limit -61.00 61.00 0.00 $jointconstrain "bone13" x limit -50.00 -15.00 0.00 $jointconstrain "bone13" y limit -35.00 35.00 0.00 $jointconstrain "bone13" z limit -61.00 61.00 0.00 //4,26,27 - 4 Left Forleg? - 26 Left Thigh - 27 Left Backwards Femur/Leg/Foot? $jointconstrain "bone04" x limit -50.00 -15.00 0.00 $jointconstrain "bone04" y limit -35.00 35.00 0.00 $jointconstrain "bone04" z limit -61.00 61.00 0.00 $jointconstrain "bone26" x limit -50.00 -15.00 0.00 $jointconstrain "bone26" y limit -35.00 35.00 0.00 $jointconstrain "bone26" z limit -61.00 61.00 0.00 $jointconstrain "bone27" x limit -50.00 -15.00 0.00 $jointconstrain "bone27" y limit -35.00 35.00 0.00 $jointconstrain "bone27" z limit -61.00 61.00 0.00 //1,2,3 - 1 Right Forleg? - 2 Right Thigh - 3 Right Backwards Femur/Foot/Lol? $jointconstrain "bone01" x limit -50.00 -15.00 0.00 $jointconstrain "bone01" y limit -35.00 35.00 0.00 $jointconstrain "bone01" z limit -61.00 61.00 0.00 $jointconstrain "bone02" x limit -50.00 -15.00 0.00 $jointconstrain "bone02" y limit -35.00 35.00 0.00 $jointconstrain "bone02" z limit -61.00 61.00 0.00 $jointconstrain "bone03" x limit -50.00 -15.00 0.00 $jointconstrain "bone03" y limit -35.00 35.00 0.00 $jointconstrain "bone03" z limit -61.00 61.00 0.00 //18-23 Tail. $jointconstrain "bone18" x limit -50.00 -15.00 0.00 $jointconstrain "bone18" y limit -35.00 35.00 0.00 $jointconstrain "bone18" z limit -61.00 61.00 0.00 $jointconstrain "bone19" x limit -50.00 -15.00 0.00 $jointconstrain "bone19" y limit -35.00 35.00 0.00 $jointconstrain "bone19" z limit -61.00 61.00 0.00 $jointconstrain "bone20" x limit -50.00 -15.00 0.00 $jointconstrain "bone20" y limit -35.00 35.00 0.00 $jointconstrain "bone20" z limit -61.00 61.00 0.00 $jointconstrain "bone21" x limit -50.00 -15.00 0.00 $jointconstrain "bone21" y limit -35.00 35.00 0.00 $jointconstrain "bone21" z limit -61.00 61.00 0.00 $jointconstrain "bone22" x limit -50.00 -15.00 0.00 $jointconstrain "bone22" y limit -35.00 35.00 0.00 $jointconstrain "bone22" z limit -61.00 61.00 0.00 $jointconstrain "bone23" x limit -50.00 -15.00 0.00 $jointconstrain "bone23" y limit -35.00 35.00 0.00 $jointconstrain "bone23" z limit -61.00 61.00 0.00 }[/code] I simply made all of the "$jointconstrain's" the same just to see how it would compile and as a reference to what that degree may be.
Sorry, you need to Log In to post a reply to this thread.