I'll go into the technical details in a bit, but first I'd recommend reading Ryan Ingram's blog post about how SimCity's buildings work in the first place. (http://www.simtropol...mcity-2013-r247). This might seem extremely difficult (and it is), although a lot of the most difficult work has already been done - right now what I'm looking for is a way to bring everything I've learned over the past few months together into a tool that supports building a completely new custom model from scratch like Maxis' gmax-based BAT did.
I'm going to skim over a few of the more nebulous concepts that aren't really necessary for understanding how buildings work. Essentially, each building model contains of three distinct texture layers - I'll call them the 'interior', 'exterior' and 'decals'. These layers are textured using 'sprite sheets'; a large square texture that contains all the smaller textures to be used on a single building. These smaller textures are then defined in each model element by defining the coordinates of the top corner, height and width of the sub-texture that needs to be extracted for the specific element.
You'll notice that even the sprite sheet that defines the color (the left one) only contains a masked area for each individual color of the element. The actual color is drawn from a palette that is attached to the model as a separate image. In essence, each 'element' of a model is defined as follows;
Each vertex contains multiple UV coordinates for each layer, so in essence each vertex will have three sets of UV's; one that defines the interior layer (the rooms), one that defines the exterior layer (base texture layer) and one that defines the decal layer (top texture layer). The colors are drawn from the Color1, Color2, Color3 and Color4 values.
All of this has knowledge combined has enabled me (through a lot of trickery and hard labor) to create my first new building model. However, as you can probably tell a lot of the requirements for a SimCity model are hardly covered by any 3d modeling software or export format. This is mainly where I'd need help - first of all I need to be able to create a new building model in any 3d modeling software according to these specifications and then I need to be able to import it into SimCityPak.
The requirements are as follows:
- One mesh must be able to have multiple UV and texture layers
- Normals, Tangents and UV coordinates must be able to be exported per vertex
- Textures should be 'croppable' and cropping dimensions should be exportable
- Preferably colors should be chosen in the modeling software itself according to an imported palette
Any help is appreciated, and if you need more information, I'll see what I can do.