Digital Scanning and its Application to Video Games

While attending the Guildhall at Southern Methodist University, I examined the next gen game art practice of digital scanning. My thesis involved determining a successful workflow method in order to create a character model ready for rigging by scanning a volunteer model. The raw scanned data was collected by working in collaboration with Captured Dimensions and then edited using programs such as ZBrush, 3dsMax, Unfold 3D and Photoshop.

Step 1: Scan Subject

Captured Dimensions required the use of 80+ digital SRL cameras in order to properly construct an accurate raw model. The images not only collected correct topology from folds, hair and textures on the subject, but also the colors. Image courtesy of captureddimensions.com.

Step 2: Compile Raw Data

After scanning, Captured Dimensions used an undisclosed program in order to compile all of the images from a single posed shot into a raw mesh. Each image provided information to the other about depth and texture for each fold and curve on the model. The model was then converted into an .obj file and ready for refinement.

Step 3: Refine Raw Mesh

After the data’s conversion into an .obj file, the model was ready to be refined using ZBrush. Most models will have extra data floating and protruding in and around the main model. These inaccuracies needed to be smoothed out and erased.

Step 4: Texture Application by Projection

During the refinement phase, it is not possible to see the texture placed over the mesh. ZBrush will automatically change the UV’s of the mesh as you work on it and will no longer properly display the correct textures overlaying the model. Therefore, the .obj file needed to be exported to a program which would then project the texture data back onto the mesh. This stage was critical to test if certain parts of the model were altered incorrectly in the refinement process.

Step 5: Retopology

After the textures alignment accurately matched the refined contours of the polished model, the next step was to reduce its poly count. In order to do this, I experimented with a combination of ZBrush and 3ds Max in order to achieve a low poly model that is ready for rigging.

Step 6: Unwrap

The low poly model was then unwrapped using Unfold3D and then refined in 3ds Max.

Step 7: Baking

The high poly and low poly models were baked using 3ds Max. The maps included a normal and an ambient occlusion. A specular map was created from the second pass diffuse map explained in Step 9.

Step 8: Second Texture Projection

Captured Dimensions projected the texture onto the low poly model with the new UV's. The model's shape was slightly altered during the retopology stage and thus created a few misaligned projection errors on the diffuse map. Most notable are the hand outline prints on the shirt, the top of the scalp and lighter lines along the jeans.

Step 9: Refine Diffuse Map

Touch ups by using the clone tool and paintbrush in Photoshop corrected the projection errors. The ambient occlusion map was also edited onto the finalized diffuse map.

Results

The final model consisted of 4,904 tris and 1024x1024 size for all maps. The low tri count was intended to show the powerful detail derived from the texture and natural folds in the fabric.

Additional Experimentation

These profiles depict subtle variants of map sizes and combinations.