facial animation

Posted By: ventilator

facial animation - 10/16/07 09:06

it would be nice if the animation system had some features for facial animation. i think blend shape support wouldn't be hard to add.

for example it could work like that:

blend shapes get stored like normal vertex animation frames but with a special prefix in the name like "_bs_smile", "_bs_frown", "_bs_closedeyes",...

the engine then loads them as vertex displacements relative to the neutral pose.

with a function like ent_blendshape(entity, shapename, percent) several blend shapes could get activated and mixed then. for example:

ent_blendshape(my, "_bs_closedeyes", 50);
ent_blendshape(my, "_bs_smile", 120);

would give 50% closed eyes and 120% smile (since the displacements are relative, there also can be extrapolation).

blend shapes get applied before bone animation so that bone animation can be used together with it.


...
i think such a system could get scripted with the vec_to_vertex() function but of course it would be nicer if it were integrated. probably faster too?
Posted By: jcl

Re: facial animation - 10/17/07 08:00

Hmm, isn't it better to animate a face through bones?

Vertex facial animation the way you described could be implemented, but it's sort of a step back because the MDL format is targeted towards for bones animation, with vertex animation only for legacy reasons. It also had major disadvantages, for instance it would consume more memory and would require complicated fixes for the case when the model turns its head, bends down, etc.
Posted By: ello

Re: facial animation - 10/17/07 08:08

along this, using bones would require weight-maps to create smoother transitions. is that planned?
Posted By: ventilator

Re: facial animation - 10/17/07 08:11

good facial animation is very difficult to do with bones. i think most 3d artists prefer to use blend shapes. it's easier and more fun to work with.

why would it require fixes when the model turns its head? mixing blend shapes with bone animation works great in programs like blender.

i don't think it would take that much memory since it mostly would only affect the face vertices and you wouldn't have to store whole vertex animation sequences but only a set of blend shapes. animation sequences could be done per script or in the model format there could be a list of percent values for each sequence.
Posted By: jcl

Re: facial animation - 10/17/07 08:46

Ok. I'll keep that in mind for a future update.
Posted By: bonecracker

Re: facial animation - 11/06/07 11:52

I have a suggestion!
Actually, we only want a good animation for our modells. With the Bone animation (I have the A6-C) there can be only reached a difficult reasonably good animation. Only with a IK (inverse kinematik) tool, we would have much easier to do animations. The blend shape animation is a really great idea. The blend shape animation in the game should not "emulate", but if there is a tool in MED to create "in MED" a Shape animation (with Bones), and export it to a "pure" Bone-animation. So at least, MED would be a much better Model AND animation software!

Ohh and one more thing... there should be a weight-setup for the bones.
(MAYA have a great weight-setup-tool -> you draw the weight like a texture (black + white). You also can import and export the weight-texture. With the weight-setup you can fix the problem with the face animation. A good modeller with a good bone-setup and a good weight-setup could create fantastic modells in MED.
If you wanna create a face-animation, you can also do it with bones. To simulate folds (wrinkles) in the face of a model, so it's shurly better to make a texture-blend-animation (with normalmaps or something else...) in combination with bone-animation.

So following features MED should have:
- IK-Handle tool
- Blendshape-animtion-tool for bones (to define animations you often need)
- Blendshape-animation-tool for textures

Sorry for my poor written english! I hope you understand what i am talking about.

CU
© 2024 lite-C Forums