Get that coffee! Makes a big difference '>
So to make decals in your model file, what you want to do is basically make new planes and apply a secondary texture. If you are using (3ds/G)max, and if you've loaded in your model via something like nwmax, then what you'd do is just:
- create a new plane (in the example above, the goldenrod bit in the center)
- position your plane to your desired xyz, where z is a fraction of a fraction higher on the z axis (or as I mentioned, changed the draw order in the trimesh helper). In the image above, it would be [0, 0, 0.001] since nwmax loads tiles for me to 0,0,0, which makes the tile centered at that position (in most cases).
- (in gmax) with the texture manager/material editor, select and clone/copy any texture, doesn't matter which, and change the diffuse texture filename to your new texture.
- apply your new material to your decal section
- repeat the process for your dirty bits decal. You can either have all your dirty bits on one file, nicely spaced for easy use, or you can have a separate file for each. Depending on size, and use frequency, it probably won't matter one bit in game.
In the example image, you can see you can do multiple types of decals in a single file. The black on white and white on black sections with crisp edges might represent your positionable texures without alpha layers. While the ones on the top with fuzzy edges could have an alpha layer. In the case of the crisp edged bits, you would need to position them as accurately as possible to make them fit with the surrounding brickwork. Depending on useage, the fuzzy edged ones could be placed anywhere and might work for you. Probably not in the case of brickwork though.
As shown in the planes image in my last post, the green bits would all use this decal "texture atlas". You'd just adjust each planes' uvw values to fit the texture to the decal.
Edit: and if I am going one or two steps too technical already, I can show you a bit more later. For now I am heading out to walk a river trail with my mom. Later!