On Creating Cool Real-Time 3D

Deformation and realtime skinning of skeletons
  
On Creating Cool Real Time 3D

 Page 1

 Page 2

 Page 3

Page 4
       

To demonstrate, let us take a look at a character's arm...

The simplest method to make this arm look better would be to cover the gap by connecting vertices at the end with a few extra polygons.

[zoom]
While this looks better, it tends to stretch badly and look a bit deformed as the arm moves.

[zoom]
The real key to making things look better is to add a series of vertices that are influenced by the rotation of both bones. If we add a single set of vertices and weight them so they are influenced 50/50 between the two bones, the look is improved.
Figure 3: A character created from a single mesh
[zoom]
This helps with the stretching problem, but the pinching at the joint is still pretty noticeable. By allowing the bones to influence the end vertices of the objects, the character looks much better. In this image, the vertices are weighted 33%/66%, 50%/50%, and 66%/33%, around the joint.
Figure 3: A character created from a single mesh
[zoom]


It is clear that we can achieve the most realistic look and most flexible animation by combining real-time weighted mesh deformations with a skeletal hierarchy. By combining these techniques with motion captured animation, dynamic simulation, and Inverse Kinematic engines, we can create convincing 3D characters. The cpu power saved by using hardware rendering enables game programmers to push the envelope and add these enhancements to their games.

As gamers, we know what we want. As programmers, artists, producers, we know what we can do. But as innovators, we must incorporate what we know and get what we want. We know that what is cool today will be obsolete tomorrow. Yet, this keeps us moving toward our mystical ideal of the coolest real-time 3D characters.

Jeff Lander is a Digital Evolutionist at Darwin 3D where he crafts technology for the future of gaming, entertainment, and network communication. He can be reached at jeffl@darwin3d.com.