Jump to content
The Dark Mod Forums

Proguard CM error


Fidcal

Recommended Posts

That's the same problem as the ragdoll. AF structure based on the old skeleton, not yet updated for new/deleted/moved joints in the new skeleton. The AF structure is also used for collison testing when they're alive and animating.

 

So, the big question is: How can these "AF structures" be updated, by whom and when? ;)

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

The CM's can be updated by anyone capable of typing "editAFs" in the console. Then the physics will need tweaking.

 

Do you mean inside Doom3? I am afraid that doesn't work under Linux?

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

You can edit them by hand, but to edit the CM's, you'll also have to have a copy for the MD5 skeleton open to see all the joint names and positions, and you'd have to reloadAFs every time you shifted the position of something. For actually defining the CM shapes and locations, it's probably easier to use the in-game editor.

 

I forgot to mention, we should try to follow the existing AF file for the existing skeleton as much as possible, since that one works well, and this will also cut down on the days of physics tweaking afterwards. The AF CMs should be roughly the same shape/size and linked to joints in the new skeleton that are equivalent to joints they were linked to in the old skeleton. For example, a rectangular prism works well for the chest, torso and head, so there's no reason to change those now to an octahedron or something.

Link to comment
Share on other sites

From the pic it looks like it's the right forearm that's sticking out, cutting through the body and coming out the opposite side.

 

Here's the tutorial on editing AFs

http://wiki.thedarkmod.com/index.php/...int_Hierarchies

 

I had a go but I can't get past the part where it says the "new" button must NOT be greyed out, for you to continue. Apparently I'm not getting the model name right. But I've tried tdm_ai_proguard, ai_merc_proguard, and tdm_ai_merc_proguard (all obtained from the def file) and still no luck...

Link to comment
Share on other sites

Yeah most of it looks vaguely correct. Did the naming of the finger joints change? I see some errors in the console about RightHandMid or something like that. It's odd that one hand works and the other doesn't.

 

yes the hands have changes a bit, the previous model was not complete and consistent in joint structure and naming.

Link to comment
Share on other sites

Okay just post here if you have any questions. I had a quick look between the two of them, and it seems that most of the major bones have the same or similar names. In the new one there are less bones, eg. the old one has a LeftUpLeg and a LeftUpLegRoll but the new one only has a LeftUpLeg.

Link to comment
Share on other sites

There are extra joints in the spine/hips area, and extra joints in the fingers (which probably don't need to be bothered with in the ragdoll). A lot of joints have been removed in the upper legs area; specifically the ones that used to control the tunic separately from the legs.

Link to comment
Share on other sites

The problem seems to be this:

For some reason the hand AF body was set up differently on the right and left hand. On the left hand, the CM was set to extend up to the LeftHandRing3 joint (ring finger?). On the right hand, it was set to go to RightHandMiddle3. First of all, this was an error, the right and left hands should really be the same. Second, apparently the new skeleton no longer has the *HandMiddle3 joint, but still has the *HandRing3 joint?

 

Anyway, the hands are fixed now so that our original ragdoll setup will now work with both old and new skeletons. I'm not really sure how this one ragdoll is working for both MD5 skeletons, because it does say at the top of the AF file:

model "tdm_ai_citywatch"

But I'm not going to complain if it works.

Link to comment
Share on other sites

For some reason the hand AF body was set up differently on the right and left hand.

 

On the original skeleton the left and right hand joints had different names. That has been corrected on the new skeleton.

Link to comment
Share on other sites

Whoops, turns out I did have to make two separate ragdoll files after all. I didn't notice that AI using the old skeleton were screwed up when the hand joint names were changed. Oh well, it's fixed. The ragdoll to use for the new skeleton is guard_base_newskel for now.

 

We'll also have to update the ragdoll for the Builder forger and the noblewoman if they switch skeletons.

 

I noticed a problem with the ragdoll on the new skeleton: The legs bodies extend down too far, making them start out clipping into the floor, which often makes the AI's legs clip into the floor when they go unconscious. We'll probably have to bring the bottom of the lower leg body up a bit. [EDIT: FIXED]

Link to comment
Share on other sites

Are you sure that's a problem with the new skeleton? I noticed that the other day with the commoner (using the old skeleton). I killed a bunch and a number of their legs fell through the floor up to the knee.

Link to comment
Share on other sites

Well, the Builder guard using the old skeleton and old AF doesn't fall thru the floor, and his lower leg CM comes right up to his feet. When I used the same AF with the Pro guard using the new skeleton, his lower leg CM went a few inches past the bottom of his foot and he fell thru the floor.

 

I was assuming it was because the leg joints moved a bit in the new skeleton. But that would't explain the commoner falling thru the floor. Do the joint locations move if you use the same skeleton for a different model? I don't know how that works. [EDIT: I guess if they have a different MD5 mesh, the joints could be in different places. But then you'd have to make a new AF for every unique MD5 model?]

Link to comment
Share on other sites

Do the joint locations move if you use the same skeleton for a different model? I don't know how that works. [EDIT: I guess if they have a different MD5 mesh, the joints could be in different places. But then you'd have to make a new AF for every unique MD5 model?]

 

The joints only change if the skeleton is modified. The mesh can change, and where the mesh actually bends can change (but only slightly). But that's it. I'm not sure exactly how the AF works...what would happen if the foot mesh was slightly lower in the commoner than the builder guard (I'm not sure whether it is or not)? If the foot is clipping slightly into the floor upon death, could that result in the foot/leg cm dropping through the floor?

Link to comment
Share on other sites

I don't think the actual rendermodel clipping in makes a difference, but if the joints change position because this AI is stretched out or something, in its own MD5mesh (like commoner.md5mesh), that will make a difference. As soon as the joints that the foot CM is referenced too get too low to the ground, it's able to clip in, and it can start out clipping when they die, so the ragdoll simulation doesn't see the ground on that foot because it starts out already in the ground, and it just falls thru.

 

Remember when you made short and tall AI? Were those stretched by giving them different md5meshes or stretched out some other way?

 

We talked about this a bit before when you made those short and tall AI. Ideally all the AF CMs should have both their direction and size defined by joints (i.e., go from this joint to that joint). Right now many only have their direction defined as pointing between two joints, but the size is often entered as coordinates by hand, leading to problems like this when different-sized AI share the same ragdoll structure.

 

It might not be simple to fix though, we might not be able to find a joint that makes the foot CM extend perfectly right down to the bottom of the foot.

Link to comment
Share on other sites

Ah, that's probably it. When I made the short and tall AI, I did it be re-exporting the skeleton with a slightly different scale. So the joint positions would be slightly different from the original (though still proportional). I was probably testing 'short' commoners. However, if that's the case, then the ragdoll should fail in the same way on any AI not using the exact same skeleton as the default citywatch. The default builder guard uses that skeleton, so you wouldn't notice it there, but any AI that isn't the same size (priest, thug, etc) should have the same issue.

Link to comment
Share on other sites

Okay, maybe we didn't notice it on the priest because it's a fairly rare occurence? Anyway, ways to fix it include making a different ragdoll for every skeletal variation, or making the ragdoll AF bodies referenced to the joints instead of coordinates entered in by hand.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • Ansome

      Finally got my PC back from the shop after my SSD got corrupted a week ago and damaged my motherboard. Scary stuff, but thank goodness it happened right after two months of FM development instead of wiping all my work before I could release it. New SSD, repaired Motherboard and BIOS, and we're ready to start working on my second FM with some added version control in the cloud just to be safe!
      · 0 replies
    • Petike the Taffer  »  DeTeEff

      I've updated the articles for your FMs and your author category at the wiki. Your newer nickname (DeTeEff) now comes first, and the one in parentheses is your older nickname (Fieldmedic). Just to avoid confusing people who played your FMs years ago and remember your older nickname. I've added a wiki article for your latest FM, Who Watches the Watcher?, as part of my current updating efforts. Unless I overlooked something, you have five different FMs so far.
      · 0 replies
    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 4 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
×
×
  • Create New...