In this latest technical Gamasutra feature
, Wishbone Games' lead programmer and veteran coder Ferns Paanakker addresses the topic of video game character models, and describes a more efficient way to export these objects in order to achieve maximum hardware performance.
In his introduction, Paanakker describes a potential problem faced by game character modelers, brought on by certain hardware limitations on the quality and complexity of skinned meshes available to artists working on a given platform, as well as comments on a possible solution:
“Current game titles all use skinned meshes for their animated characters. Skinned meshes provide an intuitive way to animate and render characters. A number of hardware platforms support skinned meshes by providing hardware support (like the PC, Xbox and the PSP), but the hardware specifics may vary considerably, like the limit on the number of joints that can be used simultaneously.
To overcome these limitations, models that use a number of joints above the number directly supported by the hardware can be split up so every partition is processed by the graphics card in one pass. If the algorithm used to split the mesh results in inefficient partitioning this can have a severe impact on data throughput and force the artists to use less joints and/or simpler models (which means they have to redo much of their work, and/or limit the quality of animation).
This article describes a preprocessing software implementation that can handle an unlimited number of joints and at the same time partitions the model to allow maximal performance. Multiple target platforms are supported by creating classes that simulate the architecture of the target hardware and a number of different optimization heuristics can be used to search for the best solution. We have found that the software works very well and nicely fits in our toolchain, allowing programmers to easily adjust the software for new hardware and optimization techniques while at the same time providing quick turnaround time for the artists when (pre)viewing models in the game engine.”
You can now read the full Gamasutra feature
with more from Paanakker on skin mesh optimization, including detailed explanations for exporting and insertion techniques (no registration required, please feel free to link to this column from external websites).