[sldev] Body motion and facial expression tracking, Microsoft did it

Melinda Green melinda at superliminal.com
Sun Jun 7 14:10:20 PDT 2009


Jan Ciger wrote:
> [...]
> To conclude this discussion on IK - if someone knows how to program in
> C++ and wants to play with IK, have a look at HMS IKAN library:
> http://cg.cis.upenn.edu/hms/software/ikan/ikan.html
>
> It allows up to three joints (I think) to be simulated, e.g. an arm or
> leg. We have used this library for initial development, it does work,
> but you will quickly see the problems I was talking about in my previous
> e-mails.

The viewer already uses IK in such a simplified case in order to keep 
avatar's feet flush with uneven ground or other surfaces. The 
implementation is quite complicated and therefore buggy and and 
sometimes funny looking but the results are *much* better than not doing 
it. So far as I know, it's not terribly computationally expensive, so 
the question in my mind is what would be the next most valuable 
situation we could apply it to? Any really big overhauls are unlikely to 
ever happen, so what should be the next baby step? Personally I would 
love to see avatar hand-holding implemented but involving multiple 
avatars may already be too big of a step for such a proof-of-concept. 
Argent says that he's already done something along these lines and I 
would love to see the results. I like his approach of only attempting to 
make the minor adjustments needed to make things fit. I will offer one 
possible refinement to his suggestion of only attempting IK adjustments 
when the miss is small: I suspect that we'll want to smooth over the 
discontinuity between attempting and not attempting IK. I think it might 
be good to have three zones. Within short error distances, do as he 
suggests; within a somewhat larger error, use IK to get as close as 
possible even though it misses; and at further distances, don't invoke 
IK at all. For example, this would allow you to ride a motorcycle while 
keeping your hands on the handlebars, but when you get bumped briefly 
too far, you'll continue reaching for them, and when you get bumped too 
far, you'll give up trying to maintain your grip. It will therefore look 
natural when you eventually reattach to the handlebars. I expect that 
whatever we attempt in this way should probably involve the existing 
feet-to-ground code, either extending or replacing it.

-Melinda


More information about the SLDev mailing list