Reasearch Study: Towards 3D  Model  Interoperability in Games

The general idea of this study is to give the user the ability to create any avatar and apply certain transformations to the model to make it have a certain look and aesthetic feel of another game.

(Ie. having Mario in God of War)

Process Overview:
The process starts out with two seperate models in either Alias's FBX format or the OBJ format. One model will be the user created avatar while the secondary model is a generic pre-built model stored within the game.

A skeleton is generated within the user's avatar to resemble the pre-built model skeletal structure and bind it to the user's avatar's skin using a special algorithm.

Then the avatar's skeleton is stretched and skewed to resemble the generic skeleton on the other model. The avatar's mesh will deform with the skeleton.

Extraction of the vertex and edge list data from each mesh is stored in memory. Any duplicate vertices are removed for memory's sake. Using the information we apply a Marching Cubes algorithm to create a new combined mesh and display it.


The video above demonstrates a prototype of the program applying the marching cubes algorithm


One main issue with the current algorithm is the computation time needed to generate this new model. In the video above we used a 64x64 voxel grid resolution. The generation of the new mesh has a large computation time. An increase to the size of the voxel grid incrases the calulation time exponentially.

This algorithm allows any two models to be fused together that are not necessarily structured similarly (ie. a human with a chair).
It was found that this process can help with saving memory in terms of level of detail. By combining low resolution models to higher ones memory can be saved dramatically. This can allow game developers to develop one high poly count model and multiple low polygon models stored in memory.

Combining a humanoid model with a chair

Next Steps:
If time permits animation blending of the two skeletons will be done using the Havok Animation SDK. This will allow the newly created model to run either first models animation, the second models, or both simultaneously.

A streamline meshing pipeline for the models will be developed, which will be not as slow as the current process.

Finally a re-texture mapping and shader applications will be developed by creating mel scripts in Maya that will be parsed by the program.

Research Paper/Poster:


All content is copyright © 2015 Sing Chen, unless otherwise specified. All Rights Reserved.