I'm modeling a track for Assetto Corsa. One of the specifications is that any renderable object must have a material, and every material must have a texture. Up to now, I've been able to model kerbs, trees and similar objects, assigning them a material that has the main texture of the object. However, now I need to model and texture buildings (this is a city track, so it's a urban environment), and I need to assign a lot of different textures to the objects.

After exporting the model in FBX format, I need to import it in the game's own editor, where each material must be configured. Most of times, the default settings (ambient color, specular, shader...) will be ok, but if I have to change them I have to go and edit material after material.

Following my current approach, I would define a Building_StreetX_BuildingA material with the textures for the first building of the first street, then Building_StreetX_BuildingB, Building_StreetX_BuildingC, Building_StreetX_BuildingD... then Building_StreetY_BuildingA, Building_StreetY_BuildingB... This seems to be overkill, and I'm afraid it'll get out of hand quite quickly.

Maybe I could make a single material for a group of buildings, in which all the textures for several buildings will be collected in a single image file. This reduces the number of materials, but it is still essentially the same thing.

I wonder if there is a way to keep the materials count low, maybe with a "physical material" kind of logic (say one material for plaster walls, one for tiled walls, one for marble, one for roof tiles...), while still being able to assign different textures to different faces of different objects.

Is there another approach instead that I couldn't think of? I know most of the concepts, but I'm a beginner when it comes to actual modeling work.

  • $\begingroup$ Have you tried sharing the same material but using the UVs of each object to customize them? (for ex: one "building" material with different facades on a large texture and each building picking the facade with specific UVs ) $\endgroup$
    – Bruno
    Commented Dec 13, 2019 at 0:39
  • $\begingroup$ @Bruno I thought of that. It would mean having a gigantic image file, containing all the facades. Would that be a problem? Is there a size "limit" - rather a size that is not sensible to go beyond? What's the difference between having a (say) 500x50,000 texture image, as opposed to 100 500x500 images? $\endgroup$
    – Simone
    Commented Dec 13, 2019 at 16:59
  • $\begingroup$ @Bruno Also, as a rule of thumb, what is a sensible resolution for texturing a facade? One pixel per centimeter? One per millimeter? $\endgroup$
    – Simone
    Commented Dec 13, 2019 at 17:00
  • $\begingroup$ having a single large texture allows you to have a single material shared between all your objects. Each object using only the needed portion with their UV. But like you said, practical only if the single texture is not too big... the size/resolution depending on how many variation of buildings you want and how much detail for each building. Are the buildings far from camera? Get real closeups? Best is to get a basic scene and experiment with the level of detail that you want for closeups, near sight and background buildings... $\endgroup$
    – Bruno
    Commented Dec 14, 2019 at 15:25
  • $\begingroup$ I'm asking because if I go for, say, 500x500 facades, then test and decide I should make them larger... I would need to reposition all the UV mappings. But I guess you're right, I have to try a few of them and set for a size and go with it. I'll have to make them one by one anyway, so I'll also test them one by one. $\endgroup$
    – Simone
    Commented Dec 16, 2019 at 17:22


You must log in to answer this question.

Browse other questions tagged .