Jump to content
The Dark Mod Forums

Citywatch rig


squill

Recommended Posts

Looking at the video, what's the problem again? The pelvis doesn't move up and down while walking?

 

edit: I can see the walk anim being good - but the run anim definitely looks wonky in-game. He's leaning so much forward like he has an arrow stuck in his ass. Is this a problem with this specific animation?

Link to comment
Share on other sites

  • Replies 313
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

The real question is whether there is anything in the code that establishes which joints are considered part of the torso vs the legs. I'm not sure where that is done.

 

It's in the def file, looks like there is none on the base class and it's on every specific AI.

This is what the Builder guard had that worked for the old skeleton:

 

	channel torso		( *Spine)
channel legs		( *origin - *Spine_Dummy)

 

I'm not sure if the pelvis problem is with the anim channels or with the IK settings?

Link to comment
Share on other sites

No idea. I just remember the last time we had a problem with animations not showing up properly, it was because of those settings.

Link to comment
Share on other sites

It's in the def file, looks like there is none on the base class and it's on every specific AI.

This is what the Builder guard had that worked for the old skeleton:

 

	channel torso		( *Spine)
channel legs		( *origin - *Spine_Dummy)

 

I'm not sure if the pelvis problem is with the anim channels or with the IK settings?

 

I'm not sure either. I've tested several options for those channels and the current channels i've set seems to be ok.

 

On the new skeleton I've split the joint structure of the legs and upper body just like the human models from doom 3. So the only difference from the old skeleton is the extra joint "pelvis" which function is the same as the Hips joint on the citywatch. This pelvis joint is placed on top of the Hips joint. shown here

 

I also noticed his feet were not properly flat on the ground like his pelvis is pulling the feet ik handles of the ground. That's why i tried to increase the "ik_minWaistAnkleDist" but that had no effect also lowering the pelvis in the animation still caused the feet to kind of float above the ground.

 

This pelvis problem also became visible when i mentioned his upper body being stretched during the walks on stairs which was fixed by pointing to the pelvis joint for the waist IK.

 

i would almost say that you need to assign both the Hips and pelvis joint for the waist IK.

Link to comment
Share on other sites

  • 2 weeks later...

Is "channel torso" synonymous with "group torso"? I notice some D3 def files use "group"--though this was in the entity definition, not the model definition.

 

"group torso"					"*Waist"
"group legs"					"*Tail1 origin Body Body2"

 

 

Also Squill, have you tried turning IK off (just commenting out the IK stuff)? If the animation still looks wrong with the IK off, doesn't that mean we can rule out any IK settings as the cause?

 

 

 

Btw, can the new skeleton use the same ragdoll as the previous one, or is that something else that needs to be done?

Link to comment
Share on other sites

Btw, can the new skeleton use the same ragdoll as the previous one, or is that something else that needs to be done?

The ragdoll collision bodies are defined in reference to joints, so if the joint names or joint positions that are refenced changed significantly, the ragdoll will also have to be redone.

Link to comment
Share on other sites

Yeah, I feel your pain. Fixing the ragdoll shouldn't be too bad though, since it's pretty much just matching the position, size and shape of the AF bodies to what we had before. We shouldn't have to do extra physics tweaking of the constraint frictions and stuff. That is the time consuming trial-and-error portion.

Link to comment
Share on other sites

Also Squill, have you tried turning IK off (just commenting out the IK stuff)? If the animation still looks wrong with the IK off, doesn't that mean we can rule out any IK settings as the cause?

 

without ik it actually looks fine, the feet are placed properly on the ground and the hips move like they should. I tested this with ik_enable 0 because commenting out the ik options didn't work.

Link to comment
Share on other sites

Huh. So it definitely is the ik settings then.

 

i would almost say that you need to assign both the Hips and pelvis joint for the waist IK.

 

I've been checking the D3 characters and can't see any cases where they used more than one joint. :(

Link to comment
Share on other sites

Huh. So it definitely is the ik settings then.

I've been checking the D3 characters and can't see any cases where they used more than one joint. :(

 

i couldn't find it either, in fact the new skeleton has the same structure as the D3 character skeleton. Also someone mentioned earlier that having the upper and lowerbody separated should make it easier to assign some kind of damage zones i believe.

 

if it's the IK does this mean it also have to do with the ragdoll collision bodies?

Link to comment
Share on other sites

i couldn't find it either, in fact the new skeleton has the same structure as the D3 character skeleton.

 

That's strange. :mellow:

 

 

Also someone mentioned earlier that having the upper and lowerbody separated should make it easier to assign some kind of damage zones i believe.

 

Yes, that was Ishtvan. Though if it came down to a choice between accurate damage zones and accurate animations I'd take the latter.

 

f it's the IK does this mean it also have to do with the ragdoll collision bodies?

 

I'm pretty sure the ragdoll is a totally separate entity. I don't think either one influences the other.

Link to comment
Share on other sites

I'm pretty sure the ragdoll is a totally separate entity. I don't think either one influences the other.

That is true. The ragdoll can pull parts of the model in strange ways, but only when the AI is dead/unconscious.

 

We have to figure out the IK settings I guess. I've never worked with them before, probably the last person who set them up for our AI was ascottk? Maybe Dram has done some also for the horse?

Link to comment
Share on other sites

  • 2 weeks later...

Squill, how bad is the pelvis issue with the animations? If it means that none of the animations are going to look right, would it be worth just removing it? If the only purpose of that extra bone was to help with damage zones in the waist area, and if it is causing problems with the new animations, then we should just ditch it. The animations take priority over damage zones.

 

We supposedly want to release the mod in four months. We're at the point where we have to either get the new skeleton working the way we want it or go back to the old one.

 

Our options are:

 

1. Keep the new skeleton the way it is because the pelvis issue isn't that noticeable.

 

2. Remove the pelvis bone (or whatever) to fix the ik issue and live with imperfect damage zones around the crotch.

 

3. Consider the last six months a failed experiment and go back to the old skeleton.

Link to comment
Share on other sites

4. Research how the IK settings work and figure out the correct setting for the hip bone.

 

It's been six months since all work on animations and the AI models has halted, due to this new skeleton. How much longer can we afford to wait while this issue gets sorted out? Squill knows more about this issue than anyone else, and he's hit a wall, apparently. I can't offer any help and no one else is stepping up with suggestions. Our release date is four months away. How much more of the time between now and then should we spend figuring this out?

Link to comment
Share on other sites

I don't know enough about skeletons to know what most of that means. Maybe there's something there that can help Squill out. The following bit certainly seems to explain that behaviour in the vid a while back:

 

The ik_waist joint is used to shift the whole upper body up and down based on how far the feet are moved up and down and how far the knees are bent.
Link to comment
Share on other sites

What exactly is the problem right now? I thought it was the stretching up of the torso when they walk up stairs, but it looks like that's been fixed by setting ink_waist to "Pelvis"?

 

The problem is that certain joints aren't moving when the run animation plays with IK enabled?

EDIT: The problem is we get either the one effect or the other?

i've set *Spine_Dummy for the torso channel and *origin -*RightToe_end for the legs. I tried to change "ik_waist" from Pelvis to Hips which fixes the pelvis movement but you get the stretching of the torso again so that doesn't work either.

 

 

If taking out the pelvis part would solve the problem, maybe we should just do that, because damage zones are accurate enough as-is.

 

Defining the legs channels as *origin -*RightToe_end seems odd. Isn't everything parented to "origin?" that means it's including all joints except those with RightToe_end as their parent? Won't that also include the torso joints in the legs channel?

Link to comment
Share on other sites

Okay, I think I may understand the problem:

 

You've animated the "Pelvis" joint to give them some bounce in their step. However, you also want to use it as a waist joint for IK. Problem is, you can't have both. When Pelvis is used as a waist joint for IK, IK controls how that joint moves, not the animation:

The ik_waist joint is used to shift the whole upper body up and down based on how far the feet are moved up and down and how far the knees are bent.

 

So you lose the animation you've applied to make the Pelvis bounce up and down, because Pelvis is being controlled by IK based on the position of the feet and knees. That's why that motion goes away when you have ik_enable on. Now, you can't use Hips as the waist IK joint, because none of the torso stuff is parented to the hips, so the torso just stays in place and gets stretched when IK is moving the Hips joint.

 

I noticed the Doom3 skeletons have an extra joint compared to ours. They have:

 

origin->Body->Body2->{legs parent, torso parent}

Compared to ours:

origin->Pelvis->{legs parent, torso parent}

Doom3 sets ik_waist to Body2. Perhaps they are applying the bounce in their step on the Body joint? Then they can animate Body to put the bounce in the step, and have IK move around the Body2 joint relative to Body. To do that ourselves, we would need one extra joint inbetwen origin and Pelvis to apply the bounce animation (or one extra joint inbetween Pelvis and the legs and torso parents to use for IK, if that's easier).

 

How feasible would it be to do either of those? If you kept the existing animation on the Pelvis joint and just added a Pelvis2 inbetween that and Hips/Spine_Dummy, and put it in exactly the same place as the Pelvis joint for all the animations, would that be a lot of work?

Link to comment
Share on other sites

@Springheel, i didn't updated the skeleton only for those damage zones. The most important reason to me were the alignment and unpredictable behaviour of the joints (the way joints rotated) in the old skeleton.

 

These changes do not directly influence the visuals but does improve the usuability of the rig. I guess its the same like having game code all over the place in which you have to hack your way to get a new feature in or instead having it all organised in one place to make it much easier to edit existing or new code.

 

Now for instance i don't have to twist the arms or fingers in all kind of ways to get the pose i need or have to fix a snap in the legs twice because the joints in both legs are not aligned the same way. I can sum up more of those things but i hope you understand what those changes mean for me and other animators. Now it's up to us animators(Dom?) to catch up with the animations. From my own experience I still believe 3 to 4 months should be enough to get a complete set of basic animations.

 

@Ishtvan. I did read about Walk IK on Id's dev page. I've tested most of those options in the def and they seem to be setup ok. Your last suggestion would maybe explain why the feet would go thru the floor while the pelvis is in a fixed position. Tomorrow i'll have some time to test this out.

 

Thanks for the help guys.

Link to comment
Share on other sites

Ok, thanks for clearing that up Squill. So the pelvis issue is mostly just an annoyance to work around, but it isn't going to ruin how the animations look. Ok, good *exhale*.

 

I'll proceed with getting the new nobleman finished then...I've got him mostly weighted to the new skeleton, but have yet to test him and go through the tweaking process.

 

Btw, I notice that the proguard mesh has a gaping hole around the neck atm. Is that there for some actual reason or did something go wrong with the mesh?

Link to comment
Share on other sites

@Ishtvan. I did read about Walk IK on Id's dev page. I've tested most of those options in the def and they seem to be setup ok. Your last suggestion would maybe explain why the feet would go thru the floor while the pelvis is in a fixed position. Tomorrow i'll have some time to test this out.

Yeah, I tried setting ik_waist to Hips, but only the legs are parented to that, so the torso stretches out like you said. With ik_waist set to Spine_Dummy, only the torso is parented to that so the lower body stretches out (to ridiculous amounts). It seems like ik_waist has to be something with both legs and torso as its children in order to work properly, but because our structure is

origin->Pelvis->{legs parent, torso parent}

That means it has to be Pelvis, but that means it can't be animated, meaning you can't animate a joint to make the whole body bounce up and down like you want to, because we don't have anything higher in the hierarchy (and I don't think animating "origin" would be a good idea, that would actually raise the whole physics collision box up and be fighting with gravity constantly, and they might get stuck on ceilings/overhangs, etc).

 

If it's a fast change, you might want to try adding a Pelvis2 joint in the same location, like:

origin->Pelvis->Pelvis2->{legs paren,  torso parent}

And using Pelvis2 for ik_waist and keeping the existing animation on Pelvis. If you gave Pelvis2 no specific animation, would it just follow Pelvis? Then the ik offset should be relative to the Pelvis joint that is animating, so they should bounce up and down again. I don't know if it will work for sure but it seems like it would.

Link to comment
Share on other sites

@Squill: Would that be a major undertaking to add that joint to the skeleton at this point? If so, we can try to think of an alternative, although I don't see any right now that would do exactly what you want.

 

it's not a major change. Because the extra joint needs to be binded to one of the meshes i'll have to reset the bind pose on the joints and i'll probably have to do some small skin weighting tweaks. This is done in a few hours. Yesterday i already added the extra joint(Pelvis2) to do a test but i'm not finished yet to tell you if it works.

 

i've also checked some D3 characters (scientist & imp) on which the body2 joint is indeed used for ik_waist. It has no Y-translation keys for any ups or downs during a walk so it moves along the Body joint.

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

    • taffernicus

      i am so euphoric to see new FMs keep coming out and I am keen to try it out in my leisure time, then suddenly my PC is spouting a couple of S.M.A.R.T errors...
      tbf i cannot afford myself to miss my network emulator image file&progress, important ebooks, hyper-v checkpoint & hyper-v export and the precious thief & TDM gamesaves. Don't fall yourself into & lay your hands on crappy SSD
       
      · 2 replies
    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 7 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
    • The Black Arrow

      I wanna play Doom 3, but fhDoom has much better features than dhewm3, yet fhDoom is old, outdated and probably not supported. Damn!
      Makes me think that TDM engine for Doom 3 itself would actually be perfect.
      · 6 replies
    • Petike the Taffer

      Maybe a bit of advice ? In the FM series I'm preparing, the two main characters have the given names Toby and Agnes (it's the protagonist and deuteragonist, respectively), I've been toying with the idea of giving them family names as well, since many of the FM series have named protagonists who have surnames. Toby's from a family who were usually farriers, though he eventually wound up working as a cobbler (this serves as a daylight "front" for his night time thieving). Would it make sense if the man's popularly accepted family name was Farrier ? It's an existing, though less common English surname, and it directly refers to the profession practiced by his relatives. Your suggestions ?
      · 9 replies
×
×
  • Create New...