In order to develop my Catbox design into a virtual pet, I needed to create a 3D animated model for deployment in Unity. The software used to develop 3D Catbox is used Autodesk Maya, an industry-standard 3D modelling, rigging and animation platform.
I used my 2D Catbox drawing as reference around which I constructed a 3D mesh. Technically, it was important to keep the polygon count low enough to run smoothly on mobile devices whilst still allowing enough geometry to deform smoothly when animating. As shown below, a majority of the polygons are in the cat’s tail, as this allows for smoother tail animation with ‘snake-like’ deformation.
The model is UV mapped onto a large texture that covers every part of the Catbox. An advantage of this method is that I’m then able to manipulate the texture in Unity, switching between texture maps to animate the facial expression of the cat.
The animation controls for Catbox use a mixture of joint-based IK controls and blendshape controllers. The body of the cat is animated using blendshapes, a number of mesh deformations that are mapped onto a central model. This allows me to easily implement squash-and-stretch, twists, and other deformations that give the Catbox body a ‘soft’ feeling that would be difficult to achieve with bones and joints.
The tail is animated using a series of joints and bones, linked with an IK spline controller. The tail mesh is then attached to this structure with a smooth skinning function. This effectively allows me to animate the tail by manipulating a single curve, enabling more complex flowing animations with the tail.
In order to control the animations of the Catbox I created a simple control rig. This consists of a series of simple 2D handles that are mapped to the various blendshapes and joints in the model. This enables me to create animations by keyframing these control elements, rather than having to move the model itself, meaning I can create complex animations easily which can then be imported into Unity.
Animations themselves are created in Maya, and the scenes are then imported into Unity and applied to a central Catbox model. Maya and Unity have cross-compatibilty for modelling and animation features, making it simple to import animations into the Unity editor and then drag-and-drop animation files into Unity’s dedicated animator.
The result is a 3D Catbox model with linked animations that can be controlled with scripts in Unity, enabling the introduction of interactive elements.