Some progress on the in-game model handling….
The previous in-game model format was MD3. The format uses snapshots of the mesh for each frame, creating huge model files which require the vertex normals for each frame to be calculated at startup. The normal calculations alone took 30-45 seconds per model. The files were over 1Mb each and had a huge memory footprint. It also made the workflow for modelling a nightmare and very much a one way process.
Now, with skeletal animation, the files are 160k, much more memory friendly, only one set of normals are required (which are in the file) and my modeling workflow is much more flexible, so I can use partially finished models and go back and tweak ‘finished’ models without having to re-do the whole process.
Another bonus is mid-frame interpolation. It is possible with MD3, but the results aren’t good. With skeletal animation, I can interpolate really smoothly between frames with no deformation of the mesh.
The only problems I see so far are slightly higher demands on the CPU. I can get around this by using static models for mech that aren’t on the move.
Other possible plus points include:
- Customizable mech components (just swap sub-objects, the skeleton takes care of the animation)
- Detachable/damageable limbs (club attack anyone?)
- Aiming (weapons will actually point at the target)
- Better interaction of the models with terrain
All in all, a good week for AMBER.