When creating NPCs, we sought to create a system that brought life to the city in a background sort of manner. To make sure these NPCs were successful, we wanted to bring a certain level of character to them, enough to differentiate them from one another but not so much to distract from the main characters themselves. We also wanted to utilize a system which would allow us to quickly automate the creation of different outfit combinations, instead of hand-texturing them.
We ended up creating a texture atlas system of color masks and opacity, alpha masks. A color mask could be selected to project a pattern (such as stripes or stars) onto a t-shirt or skirt mesh to give us a number of different designs. Parameters were given for different colors as well to give us a wide range of different patterns.
In addition, opacity masks were created for the skirt and t-shirt meshes. This way, we could utilize the same mesh with different texture sets to create shorts, tank tops, and crop-tops.
Utilized together, we created a library of material instances which could be referenced by our NPC system. This allowed us to have a wide range of outfits which could be randomly mixed and matched with one another. In addition we created a range of hairstyles, hair colors, and skin tones to further expand the library of available NPC looks that could be generated.
Our main goal with this system was creating something which could alleviate unnecessary manual work while still enhancing our environment with fitting and well-crafted visuals.
- Jamie Zerillo