Game Development Community

Bone animation

by Jordan Walker · in General Discussion · 03/18/2001 (6:57 pm) · 5 replies

In bone animation in the V12 engine will it allow interpolation of bone animation? Like say you have an on screen character that runs and then starts shooting while running. Will we have to make a running animation, then an animation where he's shooting while running or can we make a general run animation for the legs and a general shoot animation for the upper body then the engine combine the two? I know a few engines do this like HL And Q3:A. Also are the vertex assignments in the engine rigid or weighted?

#1
03/19/2001 (12:54 pm)
I'm not sure about the V12 engine, but Q3 doesn't use skeletal animation, unlike HL. You may be talking about the new MD4 model format (in reference to Q3) which wasn't used in the final game. You can install the q3 tools source-code and take a look at:

[q3tools directory]\common\qfiles.c

It's a good place to start if your looking to implement skeletal animation, the bones are weighted and non-hierarchical. Raven used a modified version of MD4 called Carcass in STV: Elite Force.

You can just lerp or use something more complicated like quaternion based interpolation for animation.
#2
03/19/2001 (3:27 pm)
T2 (as well as T1) uses a hierarchical skeletal animation system. Animations are organized into sequences which can include number of different types of animation; including skeletal, mesh (vertex) morphing, texture coor., bitmap, node visibility, transforms (including scale, quaternions are used for rotations).

Sequences are played concurrently at run time and node transforms are blended on the fly. In Tribes, all the upper body animations (head and arms) are separate sequences from the running, jumping, etc.

I'm not familiar with the dynamic mesh deformation (different than the morphing), so I'm not sure what weighting scheme is used there.
#3
03/19/2001 (5:16 pm)
no it's not like weighing w/ gravity, in character studio you can have weighted verticies which means verticies can be attached to more than one bone,and on a percentage level, like the more a bone controlls a verticie the more weight it has on the vert. It's something new game's are having because it makes joints deform a lot smoother and you dont get creases and junk.

Also, I read that the models have on the fly LOD, how high poly can these models go?
#4
03/20/2001 (8:50 am)
I don't think we've tried anything over a 2 or 3 thousand vertices. I think there are a few 16 bit indices, so that would impose a limit.
#5
03/21/2001 (12:17 pm)
One thing I'll look at doing for V12 when we get it is to add progressive meshing into the animation code. I'll probably also add procedural animation and inverse kinematics (soft body dynamics) into it (thats something I wanted for my own project).

It might also be kinda fun to add subdivision surface support so that we can effectively UP the poly count (using displacement maps and what have you from Tom Forsyths talk at WGDC last year) for low poly models.

Phil.