[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