Game Development Community

Strange Biped/Bounds problem

by Spencer Boomhower · in Artist Corner · 07/08/2003 (10:17 pm) · 20 replies

Maybe someone can help me with this.

I'm trying to set up a character for export. I set it up the way the tutorial and the examples suggest: with the Bounds as a child of Bip01. I also set up the Bounds object's Link Info the same way as the example files are set up.

Here's the problem: in my file, if I rotate Bip01 on its Y axis, the Bounds object starts sliding forward and backward (along *its* Y axis). And it slides back and forth in such a way that the character, when rotated (via Bip01) onto his back or belly, sticks out of the box. It's as if Bounds is trying to respond to the rotation of Bip01, and, unable to rotate because of the Inherit constraints, slides along the only axis it can: the Y. That's (I think) because I have it set up to only inherit the Y movement.

If I uncheck that Y box, this movement won't happen. But I shouldn't have to uncheck it! And it's checked in the example files and they work fine.

Has anyone encountered this?

I await the painfully obvious solution with dread...

-Spencer

#1
07/08/2003 (11:05 pm)
Unlink it and copy the controller to the bounds on only the tracks you need.

I link the bounds to the root when movement (walk or run) is required. When I want the character to move and the bounds to stand still, I just unlink it.
#2
07/08/2003 (11:08 pm)
I just realized that my model does something that the example models don't. When I export mine to a DTS, when it gets done exporting, the character mesh appears to have detached itself from the Biped, scaled down to about half size, and flipped onto its back. That can't be good. The strange thing is, when I scrub the time slider, the character mesh pops back up to where it belongs.

I got a real bad feeling about this...

-Spencer
#3
07/08/2003 (11:19 pm)
Joe:

Quote:Unlink it and copy the controller to the bounds on only the tracks you need.

Do you mean controller as in "assign controller"? You know, under parameters. It's been a while since I've messed with that stuff, so I'm wary of jumping back into it :). Not sure how I'd copy a controller to the bounds.

Quote:I link the bounds to the root when movement (walk or run) is required. When I want the character to move and the bounds to stand still, I just unlink it.

So you've experience the same problem I'm seeing? It's just weird to me that it's happening in my model and not in the demos.

Thanks for the suggestions!

-Spencer
#4
07/08/2003 (11:23 pm)
In track view, copy the y transform of the root to the bounding box, or just animate it directly (probably easier to just do that).

The flipping problem might be that you are exporting without a .cfg that is set to exclude the BIP node. CS does some really weird stuff to the BIP node transfrom, better to leave it out of the exported model, especially if you plan on using any of the default animations.
#5
07/08/2003 (11:47 pm)
Quote:In track view, copy the y transform of the root to the bounding box, or just animate it directly (probably easier to just do that).

Root = Bip01?

I tried adding move and rotate keys to the Bounds object. Not sure if you expected this to change, but when I rotated Bip01, it still slid the box back and forth.

Quote:The flipping problem might be that you are exporting without a .cfg that is set to exclude the BIP node.

I just checked the .cfg and it was set to NeverExport Bip01.

Thanks again for the replies. I just took some screen grabs of the problem, I'll see if I can post them. Never tried posting a picture on GG before...
#6
07/08/2003 (11:58 pm)
Here's the rotating/sliding problem in all its glory:

www.boomhower.com/GG/GG1.jpg
www.boomhower.com/GG/GG2.jpg
www.boomhower.com/GG/GG3.jpg
www.boomhower.com/GG/GG4.jpg
And here's the shrinking and turning weirdness that occurs after I export. It only shows up if I pan around (and thus refresh) the viewport, but goes away once I scrub the time slider:

www.boomhower.com/GG/GG5.jpg
www.boomhower.com/GG/GG6.jpg
Ai yi yi. This has "redo" written all over it :)
#7
07/09/2003 (6:48 am)
Yeah, the first problem can probably be solved by unlinking the bound from the BIP node. In this case, I would animate the bounds by hand (if it needs animation)

The second problem is not really a problem. That is the postion that you used to skin the character. It looks like you scaled either the mesh or the biped, which is not a good thing, but it might work. On export, the exporter goes through the modifier stack and it does not 'refesh' the scene properly. Not a big deal, just scrub the time slider and provided that nothing looks messed up, everything should be fine.
#8
07/09/2003 (9:05 am)
Quote:Yeah, the first problem can probably be solved by unlinking the bound from the BIP node. In this case, I would animate the bounds by hand (if it needs animation)

Right, but in the example files the bounds *are* linked to the Bip node and they don't do this. The fact that mine acts differently no matter how I redo the bounds worries me. It seems like the kind of thing that'll bite me in the ass down the road.

Anyway, I'll do my best to adopt your relaxed approach :)

Quote:It looks like you scaled either the mesh or the biped, which is not a good thing, but it might work.

I did scale the mesh. I find that, in Max, the scale of the Torque character models is too small. Now, it seems to me that scale shouldn't matter within virtual space, but try telling that to Max. If I try to model a character at the Torque scale, the sorting becomes messed up in user view, and edge splitting often doesn't happen where I'd like it to. So I modeled the character in 10x scale and then shrunk him when I was ready to rig. I thought I had done the "box trick" on the mesh after I had shrunk him, but maybe I forgot. I know I did the box trick at some point, as per the tutorial's instructions.

Thanks again for the help.

-Spencer
#9
07/09/2003 (9:23 am)
Quote:The fact that mine acts differently no matter how I redo the bounds worries me. It seems like the kind of thing that'll bite me in the ass down the road.

Yes, when I work with character studio, I laways expect there to be some transform weirdness. I usually forge ahead and just fix the bounds when I am close to done. It probably is fixable, and it probably has something to do with the transform inheritance (as you guessed). If I am making my own skeletons, I fix it right away. Linking usually works, but you can also use the wire parameters or an expression to set up the bounds movement (if it is needed). I have used all the methods above and I generally shoose whatever one works for the situation.

Th exporter works on the assumption that one unit = 1 meter. I do that same as you, model it big and scale it down when I am ready to rig. I usually scale in sub-object or use the box trick to reset it. Hopefully it won't cause problems, but, you never know.

If I was in your situation, I personally would redo it and make sure it is clean. I have beeb bitten too many times in the past, and when I get wierdness like that, I cut my losses and fix it, even if it means a step back.

Nothing is worse then getting it DONE and then having to start over.
#10
07/09/2003 (10:55 am)
Quote:If I was in your situation, I personally would redo it and make sure it is clean.

Well, I'm definitely open to that. However, I just did a test on the bounds/bip problem to see if starting over would help, and as far as I can tell, it won't.

For the test I created a bounds object (box in the top-down view) and then I created a Biped. I then made the box a child of Bip01, the Biped root node. Then I changed the box's Link Info check boxes to be exactly like those of the example character's. And still, when I rotated the Biped, the box slid around.

So even if I created a new Biped for my character and reskinned the character, it seems like it wouldn't help.

The export weirdness might be something else altogether, I'll check and see if redoing that would help.

-Spencer
#11
07/09/2003 (11:48 am)
So I deleted the skin modifier, did the box trick to the player mesh, and then added a new skin modifier to the player mesh. I exported and didn't get the problem with the rotating and shrinking mesh. Yay!

Then I went to check the character in the game. He's invisible! You can see his animation is still there because I had a mount node on his hand and you can see the Realm Wars crossbow flopping around. But no character. He didn't show up in the -show tool either.

Tried everything I could think of with the skin modifier: setting all the weights to 1, whatever. And I made sure the bounds were able to encompass the character as he animated, though I don't know if not having that would lead to invisibility.

Think I'll just plow ahead with my earlier, slightly problematic finished character and stay open to the possibility of having to redo :). I mostly just wanted to prototype anyway.
#12
07/09/2003 (11:55 am)
Sounds like the MultiRes settings got trashed when you did the box trick? Maybe? The problem sounds like a detail problem to me.
#13
07/09/2003 (1:00 pm)
Quote:Sounds like the MultiRes settings got trashed when you did the box trick? Maybe? The problem sounds like a detail problem to me.

Great googly moogly! That was it exactly. When I did the box trick, I forgot to rename the resultant mesh with a detail number on the end. So it exports fine now, *and* it doesn't shrink and turn after export. Thank yas.

Still puzzling over the bound/bip problem. Guess I'm not the "let it go" type :)

-Spencer
#14
09/16/2003 (11:13 am)
I put this aside for a few months, but now i'm starting in on it again.

With the rotating/sliding problem illustrated in the above pictures, I tried one more thing: I took the bounds object from the example player.max file that came with torque_max_filepack.zip and merged in into my player max file. I linked it to bip01, and it worked! The bounds object from the example doesn't slide around like the bounds object I created from scratch, even though, as far as I can tell, they're identical.

The demo file's bounds object seems to possess some magic that makes it immune to bip01's transform influence. I'm satisfied in that I can put the demo file's bounds to my own uses, but I still feel like an ignorant n00b not knowing why one works and the other doesn't :)
#15
09/17/2003 (11:41 am)
...let me ask at this point, seeing the Bounds being moved about in the above example; is the character's Origin derived from the Footsteps or anything associated with the Biped System? or is it the Bounds box object that defines this location/orientation? I ask because, not fully understanding Biped Systems, I've tried to move it's Y tranlstions down after rotating the mesh into more a an appropriate Root pose. It linked just fine to Default animations, but now the player is approximately 6 inches off the ground.....if I bring the Bounds to the Footsteps, will this offset the floating transform?
#16
10/05/2003 (1:40 am)
Can someone redo the exporter so you can work with the file at max's normal size and then allow you to use a node that will help the exporter figure out scale? Or am I asking too much? I can't do proper animations with the scale soooooo small. Because of this size restriction it has hampered me from working on anims and my motion capture hates it.

Any clue or ideas welcome... :D

Stephen Cook
CG Character Modeler
#17
10/05/2003 (7:56 am)
Stephen,

Can you be more specific as to what sort of problems you are having? I myself get annoyed at workign with 'small' models (ones that are 1-2 untis high are a little werid in max) but I have not had any real problems with animating or with motion capture.

Joe
#18
10/05/2003 (4:17 pm)
The problem I have had is tring to use Human IK or my own bone rig. the obnes don't like that size and they are difficult to set up.
I rather use a bone righ over CS only cause they are easier to utilize with Motionbuilder.
Its hard to explain but it seems that its some scaling issue with human IK. I am unable to get the human IK rig to go that small. :(

Stephen Cook
CG Character Modeler
#19
10/05/2003 (5:27 pm)
Stephen,

I have never had a problem with Bones or IK systems being that small. I am working with someone on a skeletal rig that works with motion builder try to create a path for Motion Capture into motion builder and then into Max and Maya (and whatever else loads FBX).

If I run into any problems I will be sure to post them here.

Joe
#20
10/05/2003 (5:41 pm)
Could be an issue with Kaydara's "Human IK" plugin that you are using also. As Joe said there really isn't a problem working at that scale, and I conqure with him on that statement.

Logan