Multi-frame Texture Production
Purpose & Scope
In this document we are describing a way to produce a multi-frame texture from individual bitmap frames. The targeted audience are junior game developers and graphic artists.
Introduction
Multi-frame texture is a technique often used in video game development for rendering animations and bitmap fonts.
In this tutorial we focus on multi-frame texture designed for animation purpose as the bitmap font texture are typically generated using dedicated software such as
CBFG (see
bitmap font).
Tools
We used
Blender to generate our animation's frames.
We used
GIMP to assemble the resulting texture. Both tools are open source software.
Our development machine is running Microsoft Windows XP. This tutorial should still be valid under Linux though as both Blender and GIMP run on Linux too.
Prerequisites
Your frames of the desired resolution as individual bitmap files.
The frame bitmaps could be of any format supported by GIMP. I personally tend to use
TARGA as it supports alpha channel.
Method
For the purpose of this tutorial we assume you want to generate a 256x256 texture file containing 16 frames of 64X64 pixels.
- Create an XCF file of 256x256. XCF is GIMP native file format. This format is probably unusable for your game but it has the advantage to save all layers information and selection information for instance. Thus it's the format of choice when working in with GIMP.
- Drag drop all your 16 frames into the "Layer" window of your XCF file. You will see that your frames are all piled up in the middle of your XCF.
- Now you want to be able to position nicely your frame layer into your XCF. To achieve that you should configure the grid:
- Go to Image -> Configure Grid...
- Set the Spacing to 64x64, the Offset should remain 0x0
- Then select View -> Snap to grid. Thus when you move your frame layers around in your XCF it is easy to position them perfectly.
- Position your frame layer as appropriate. They should snap nicely to your 64x64 grid.
- Once you are happy with the result save your XCF.
- Eventually save your XCF to whatever bitmap format you need for your game: TGA, BMP...