1
$\begingroup$

I struggle to find information on this topic, which is more of a general question. I currently strive to decide on which workflow is better for interiors texturing for my game (like a big house for example).

Considering performance optimization and quality, which of those seems the most professional to you? :

  1. Group objects by Material, and use a seamless texture for all of them - this seems to save on performance because all is drawn in one draw call. But is it still true with 2K+ textures? Also, those look odd because there is no details, everything looks perfectly matching together.
  2. Texturing every object (1K-2K textures).
  3. Using the laborious Atlas approach.
$\endgroup$
2
$\begingroup$

I was struggling a lot with this topic two weeks ago aswell. And I had the same issue finding info on this topic. And while I haven't found a golden rule of thumb, I have found a workflow that works for me.

For my character, I made a 2048x2048 image split up in grids of 1024*1024 with a hard pixel line for use as a reference when placing the UV's.

Then I baked a 2048x2048 Ambient occlusion for each of my gridslots, in my case : Character Skin, Shirt/Vest, Pants, Accesoires, in which in each of the images only 1/4 of the space will be filled. I then combine those 4 maps in the correct order in the original 2048*2048 image in an image editor, save that, and reimport that in blender for each of your 4 slots.

All UV's will still be correctly aligned, and this allows me to paint/texture directly on the atlas, making any change to the character very easy and fast! My entire character, consisting of multiple objects is now mapped to 1 texture for the basecolor.

In your case for interior objects, I would make a similar grid but with more slots, maybe 4048x4048 divided by 4, bake/paint each object as you go along, and then add them to the atlas after each object is done.

It's a bit time intensive, but it gives you a lot of control over the process. If there is a better/faster way to do it, I would very much like to learn it too!

$\endgroup$
2
  • $\begingroup$ Thanks for your input, I'll see if it applies to my case. Meanwhile, I found this which gives already a better insight on how to do. answers.unity.com/questions/195486/… I'll be going for separating my building into objects following the rooms, then painting the rooms on different maps. I could eventually combine that to one big atlas but I'm not sure if It's faster to handle one huge map (guess the trade-off stops after a certain resolution?). $\endgroup$ – Severin Puchalski Dec 10 '20 at 14:20
  • $\begingroup$ I don't know if I'm fully correct, but I think the main purpose of atlassing is to minimize draw calls swapping textures in and out very rapidly as at runtime. So unless you can move very rapidly between various interiors at runtime, I don't think it will be very important to atlas all your interior texture into one. In your case, I would personally create a unique texture map for each interior, and a separate atlas with textures for stuff shared among interiors (doors, tables, etc.). $\endgroup$ – Olivier Wierda Dec 10 '20 at 14:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.