Customization is very near and dear to both Brian's and my own heart, so it's no surprise that a high level of customization is a big goal of ours in ZeroGear. While Brian has been working on our physics and camera system, I had some time to play with Ogre's material system. After a little bit of poking around I developed a system to let us have user-customizable color on most anything we wish. After implementing it on most of our existing assets I spent a while time trying out different color combinations. Here are a compilation of some straight out of the Ogre model viewer.
I start out by making sure that all the areas that are going to be re-colored in the material system are desaturated. Things that are not going to change color (such as the tail lights or mud splatters in this example) remain full color.
Then I make a solid white color mask of the parts of the texture I am going to be filling with an RGB value. Then in the material file I tell the engine to fill the mask color with the desired color and then combine it with the black and white base texture.
We will hook up a color picker widget in the game gui to supply the material with whatever color the user wishes to use for his kart or character or other accessories.
Monday, November 26, 2007