ABSTRACT

Whatever deformation system we use we need to be able to rotate and transform a section of a mesh using some form of control object. There are several ways in which this can be achieved; this chapter looks at some possible methods. One method described takes a complete mesh that is the render target, and then uses sections cut from the object as controls. These controls will affect how the animation engine deforms the full mesh. The render engine will not display the controls, just the full mesh. Before we consider this option we will look at the leading alternative method, bones, and discuss why some implementations of bones have severe performance penalties when applied to real-time rendering engines. We will consider how we can implement a bonesbased system using control objects, which can be readily imported from key modelling software. We will consider hierarchies of objects where the parent of an object affects its animation. Finally, as hardware develops apace we will look at how the single mesh deformations we are considering are suitable for real-time rendering systems that use some

How bone deformation systems work If you are aware of CGI developments over the last 10 years, then you will know that bone deformation systems have been a key feature of the leading 3D animation packages. The real-time industry has until very recently looked on in awe as these rendering-based packages provided more and more sophisticated tools for single mesh deformation. What we want for our render engine is something that allows us to deform certain vertices in a mesh using a control object. In other words, something rather like the way a modeller application lets us select a bunch of points from a mesh and deform just that set of points. Bones are one way of doing just that. First, you create a single mesh that you wish to deform, and then you add some kind of skeleton to this mesh. Some software requires you to assign certain vertices in the mesh to each bone in the skeleton. Other software uses the location of the bone and its strength to influence how each vertex in a mesh is deformed by each bone.