Stumbling Toward 'Awesomeness'

A Technical Art Blog

Wednesday, December 17, 2008

Kavan et al Have Done It!

Ladislav Kavan is presenting a paper entitled ‘Automatic Linearization of Nonlinear Skinning‘ at the 2009 Symposium on Interactive 3D Graphics and Games on skinning arbitrary deformations! Run over to his site and check it out. In my opinion, this is the holy grail of sorts. You rig any way you want, have complex deformation that can only solve at 1 frame an hour? No problem, bake a range of motion to pose-driven, procedurally placed, animated, and weighted joints. People, Kavan included, have been presenting papers in the past with systems somewhat like this, but nothing this polished and final. I have talked to him about this stuff in the past and it’s great to see the stuff he’s been working on and that it really is all I had hoped for!

This will change things.

posted by Chris at 12:16 PM  

2 Comments »

  1. This seems awesome. I’m a bit worried about the increased memory footprint vis a vis the extra bone animation info, and that I think I’d rather take the increased vertex processing cost rather than add to CPU bone transform time and memory (if I understand the paper correctly, not sure I do of course), depending on the game of course. And the pipeline change/addition is pretty significant (unlike Dual Quats which are more of a ‘drop-in’ solution). I am not as excited about this as you seem to be, but I think in a year or two we may see even better solutions derived from this line of work.

    Comment by Rob Galanakis — 2008/12/31 @ 2:36 AM

  2. You don’t store animation for the extra bones. You compute their transforms as a non-linear combination of the master bones. Then you use linear blending on the vertices using both the master and extra bones. The point is that the number of extra bones is much lower than the number of vertices, so you only have to perform a few non-linear blends, as opposed to performing a non-linear blend per vertex.

    Of course there are other caveats, such as additional mesh partitioning due to bone count limits if you’re doing skinning in the GPU, which can increase your draw call count.

    Comment by hcpizzi — 2009/01/08 @ 1:08 PM

RSS feed for comments on this post. TrackBack URI

Leave a comment

Powered by WordPress