Game Development Community

Biped won't setkey in 3ds

by Greg Hoglund · in Technical Issues · 04/07/2007 (6:48 pm) · 6 replies

Biped is driving me crazy (same biped that is used for ava and adam packs and kork I presume). I have only the biped in MAX and I am trying to use setkey to set keyframes. No matter what I do, using setkey just will not keyframe. Oh, sometimes is 'appears' to keyframe, but proof is:

1) on frame 0, select all, setkey mode, and press the sets keys button
- now, you would think every bone is set in stone here, right?
Note: I thought setkey set all bone positions in the keyframe regardless, and autokey only set differences on the new keyframe

2) goto frame 10, move some bones, select all,setkey and set keys button
- new position of biped takes, BUT frame 0 is now the same as frame 10 - it's like the setkey on frame 0 never took.

If I use autokey mode, this problem vanished - somehow autokey is able to key everything correctly. Before you suggest 'just use autokey' tho - it won't work because:

3) using autokey, I setup animation from frames 1-40, where character jumps and frame 40 is a 'crouched landing position' -
4) then, using autokey, I try to make frames 40-80 have the character climb back into the default position, which in theory would match frame 0 - BUT autokey screws up frames 1-40 the __moment__ I add any new data past frame 40 - it's still interpolating motions across 1-40 -- and I have no idea how to 'freeze' frames 1-40 or collapse all the animation data in frames 1-40 into a single-state that can serve as a new frame 0 and thus cannot be mucked up by autokey. I did try selecting the entire biped on frame 40, use setkey and set keys - thinking it would set all bone positions, but alas this doesn't work for the presumably the same reason #1 and 2 above are not working.

None of my documentation explains these nuances of keyframing. Someone who has worked w/ 3DS before and the biped - can you please give me some help?

Thanks
-Greg

#1
04/07/2007 (11:29 pm)
Hi Greg

Set Key might need you to define the keyable ranges in the curve editor. Frankly I never used it, so I can't really tell ya where its breaking.

Heres how I work, hope this helps:

Select a bone of your Biped, go to the motions tab, down to copy/paste, select pose and copy the pose to the collection.
Set your scene to have 100 frames or whatever ya need.
Turn on auto key.
Go to frame 0 and paste the pose from the collection
Go to frame 40 and paste the pose from the collection
Go to frame 80 and paste the pose from the collection
Now you can go to frame 20 rotate and translate some bones.
turn off autokey
play the animation. The biped will interpolate from your pose to the alternate at 20 and then back to 40.
thats all, go to any frames in between 0 and 40 using autokey and animate. ;) Your next animation then would be 40-80 and so on.

Cheers
#2
04/09/2007 (8:42 am)
@Greg

You might want to go and check the manuals with regards to how to best use Character Studio as to be quite honest thats where your problems are coming from.

Although the method that you are using does work there are times that you will want to set free, sliding and planted keys for parts of the biped. Free keys are like any other key you set, the keyframe interpolation will move them as such. Sliding keys literally will cause the animation to slide on a particilar set of axis based on your animation setup (ie. think skiiing or skating). Planted keys will iterally keep the keyframe planted based on the previous keyframes position, which is useful for say walk cycles, creating jumping animations, etc. Check them out, they will help you get a more desired animation effect that you are seeking.
#3
04/09/2007 (9:04 am)
Ive been using BiPed for Torque Animations for a while now.
Just recently I have focused soley on TGEA so I am a little rusty.

I rememeber haveing the same problem you are describing.
If I rememeber correctly there where two buttons that you could use to set a keyframe
They are represented by red circles that look like a STOP sign.
There are ones with Lines above and ones with no lines at all,for free form or planted feet.

I think I had to set a Keyframe first, then set which type it was second.
So this means hitting the make keyframe button more than once.

I later would go into trackview, and cut and paste the frames I needed so I could
make a clean start and stop to the characters motion that would loop.
I could also adjust the curve to get more appropriate results.

I can recall for certainty that there is a really good built in Character Studio
Tutorial , covering all Biped Motions, on Plated, no planted feet.
The tutorial is a little boring, but it shows how to create a walk, and hop sequence.

Try giving that a whirl.
#4
04/09/2007 (10:19 am)
As L. Foster alluded to, animating a biped is not like animating other 3DS objects.

The root of the issue is that a biped is governed by a set of Inverse Kinematics constraints that mean you can 'sort of' pose things, but that the system will step in afterwards and 'fix' other things to accomodate your changes.

As Surge mentioned, you really want to animate the biped using the keyframe tools located in the bipeds motion panel, and not the 'standard' keyframing tools located on the main 3DS workspace. You also want to go through the tutorials and really learn about planted keys and freeform vs. footstep animation.

"3DS Max Animation with Biped" from New Riders press (www.newriders.com) is a great book for learning about Character Studio.
#5
04/09/2007 (1:12 pm)
Thanks for all the help. I did manage to make some great new animations for Ava/Biped over the weekend. You are right, I just need to learn more about using 3D studio - thanks for the tutorial & book tip. Knowing that Biped behaves differently than other 3ds objects was key for my understanding.

It was fun, I made Ava turn her back to a box and crouch down and back against it, all gears-of-war style, and then raise her gun up over her head and shoot backwards over the box. Way fun.

I did try to make a new set of bones for a droid-character I was working on - this introduced a whole new set of problems, I can't seem to get the bones to export a DSQ. I spent close to 6 hours w/ different .CFG files and different setups in the schematic view w/ dummy objects etc etc. Wow, what a pain. I don't suppose there is a well written tutorial on that somewhere? I did a ton of searches on garage-games google appliance and got zip. The whole secret world of schematic-setup?

-Greg
#6
04/10/2007 (4:32 pm)
Without opening all of the many cans of worms your reply offers, I will mention a few things....

There is code in the engine looking for nodes in a player shape that correspond to the standard naming of nodes in a standard 2ds max biped.

i.e. :

Find all "Bip01", Match case, Subfolders, Find Results 2, "\engine",
\player.cpp(321): spineNode[0] = shape->findNode("Bip01 Pelvis");
\player.cpp(322): spineNode[1] = shape->findNode("Bip01 Spine");
\player.cpp(323): spineNode[2] = shape->findNode("Bip01 Spine1");
\player.cpp(324): spineNode[3] = shape->findNode("Bip01 Spine2");
\player.cpp(325): spineNode[4] = shape->findNode("Bip01 Neck");
\player.cpp(326): spineNode[5] = shape->findNode("Bip01 Head");

So you may want to at least stick to standard naming if you make your own skeleton and want to use it as a Player or any class derived therefrom.