Vertex anim & bone animation

Blitz3D Forums/Blitz3D Programming/Vertex anim & bone animation

Dustin(Posted 2005) [#1]
How would you add vertex animation on top of bone based animation? For an example, a character with bones smiling. Manually shifting the shape of the mouth using vertex animation is simple enough. But when the head has been offset by the bone animation then all of the vertex animation values would need to be offset as well.

The only solution I've thought of so far is having clones of the mouth (each with their own expression) attached to the mesh but not rendered. That way the various expressions would also be affected by the bones and travel with the head so the mouth could be morphed to the included shapes. The problem with this idea is the added burden to the bones. For example, 4 seperate hand models (closed, open, neutral, flattened); 5 seperate mouth models (closed, open, smile, frown, smirk); etc, etc, etc. That's a lot of extra polys to pile on top of the skeleton. Right?

Tell me there's another, better solution out there. Please!


boomboom(Posted 2005) [#2]
well why not make a bones based facial animation system?


Dustin(Posted 2005) [#3]
It would require too many bones. To do anything close to accepatable, you'd have to have at least 9 bones just in one hand. By the time you got enough bones in there it'd bring the program to a crawl.


boomboom(Posted 2005) [#4]
well what is this for? maybe have an 'ingame' rig, and a 'cut scene' rig (when the character is close enough to see acurate facial stuff)

or have the head as a seperate entity, parented to the head bone.


Mustang(Posted 2005) [#5]
Check the end of this thread:

http://www.blitzbasic.co.nz/Community/posts.php?topic=41134


Dustin(Posted 2005) [#6]
@boomboom - unfortunatly my "ingame" character is very highpoly. No way around that.

@Mustang - if you mean Terabit's discussion about adding morphs to his exporter. I'm with you! As a matter of fact, some of the last posts on that thread are *me* asking about the progress. But we haven't heard anything in almost a month. If I could count on this feature then I could sleep easy. But until I hear something, I need to continue working on my 'Plan B'. Hence, this thread.


Mustang(Posted 2005) [#7]
Ah, sorry... Well, doing something what Lee has planned will take some time - especially if you have a life too. :) Usually Lee has done what he has "promised" but of course there is no set release date. But the idea etc is good and much needed. In fact .B3D should have morph support built-in IMO.


Barliesque(Posted 2005) [#8]
There is an example of vertex morphing in the code archives, here: http://www.blitzbasic.com/codearcs/codearcs.php?code=1232

Perhaps you could apply this technique while also doing some bone-based animations.


Kalisme(Posted 2005) [#9]
this might be a very stupid suggestion... but y don't u just use normal mapping 2 "fake" a high poly model... after all... it was good enough for DOOM3... and I've recently started doing it... it works great!


Dustin(Posted 2005) [#10]
Halo to the rescue! He explained that I had it wrong. The vertexcoords command works on a *local* level. Which means that I CAN add morphs ontop of boned animation.

My problem came from the fact that my test program used rotateMesh instead of rotateEntity which was affecting the vertex coordinates.

So I see that I *CAN* store an array of morphs and just shift to them as I like!

@THEartistKAL - I did some dot3 test and just couldn't get the results I wanted and decided to go with the higher poly count instead.


JoshK(Posted 2005) [#11]
I rule all.