-1
$\begingroup$

I am making a game for unity , modeling in Blender, I am using texture atlas.

I would like to know if I should create many texture atlas, how to combine them in only one texture atlas, and weather or not this is necessary?

enter image description here

$\endgroup$
4
  • $\begingroup$ something similar , but I would like to know for optimization $\endgroup$
    – RG1988
    Dec 4, 2016 at 2:40
  • 5
    $\begingroup$ Please keep text out of images. Text should be as text. Think of cases where the image maybe does not load, or the viewer is using a screen reader etc. $\endgroup$
    – David
    Dec 4, 2016 at 3:12
  • $\begingroup$ @ReifusRufus Optimization of what? Memory usage, rendering speed? Modelling or creation workflow? Running under which platform, mobile, desktop, web? Targeting high end hardware, low end? Will you be reusing assets, or is memory consumption more of an issue? You never state any details $\endgroup$ Dec 4, 2016 at 3:24
  • $\begingroup$ for mobile, I would like to reduce draw callings and batching , get useful performance for assets , for unity . $\endgroup$
    – RG1988
    Dec 4, 2016 at 3:51

1 Answer 1

3
$\begingroup$

Explanation of the Term Texture Atlas

There is a lot of confusion out there about what a Texture Atlas exactly is. In general, a Texture Atlas is a texture with visible UV islands that contains several different materials and is used for several different objects.

If you have an object, that contains several submeshes but is still seen as one object and its Texture is divided into several visible UV islands, it's still just a texture.

Practical Workflow

Whenever it comes to modeling for Games, the first advice I'd like to give is: Never underestimate the advantage of re-usability of your artwork.

With that in mind, my general workflow consists of the following steps:

  1. Create your assets independently. Each asset has its own UV- and texture space.
  2. Create hi-res textures for each asset (higher than what you plan to use in the game - you can always downscale but never upscale without losing detail).
  3. If combined as well as separate assets are needed in the game, combine the textures by using Blender's texture atlas feature into a separate texture atlas.
  4. Bake the textures from Step 1 into a new texture using the Texture Atlas' UV space.

If you later want to combine your assets with different assets in another game, you won't need to start over with your texturing work. Just create new assets or append other assets, then create a new Texture Atlas, bake a new combined texture and you save the hassle of re-texturing the old objects.

Why you want to use a Texture Atlas:

To reduce the amount of materials in your scene/level, because every material results in one draw call (the process of loading the textures into your System RAM, where they get preprocessed and then transported into your GPU's RAM from where they get assigned to the object)

When you want to use a Texture Atlas:

  • Whenever you have at least two instances where all (or most of) the assets are displayed at once and none of them require hi-res textures.
  • When your assets don't require much detail in a scene or if they are just barely noticeable (which however is always debatable). This saves unnecessary draw calls.
$\endgroup$
4
  • $\begingroup$ Can I use multiples texture atlas for cathegorized assets? or just make a great and huge texture atlas? ( target: mobile phone game and no more than 20 assets for the level design) $\endgroup$
    – RG1988
    Dec 4, 2016 at 16:49
  • $\begingroup$ I have an "omnipotent objects" ( a personal concept ) which always be in every level/scene , ( see them in picture 2 ,above) , these omnipotent objects are "hexagon.fbx" "dice.fbx" "spikes.fbx" "BoxTraps.fbx" , they are meaningful objects always in every match , in every level desing. So the rest of the firsts assets (spoon,monkey,kettle,etc) can be use or not , they have their own texture atlas which represents in addition the value of memory in differents "calls" for unity in this case as engine. $\endgroup$
    – RG1988
    Dec 4, 2016 at 16:49
  • $\begingroup$ @ReifusRufus - I don't know much about Unity and mobile games but generally you won't be limited to one big texture atlas. You can use as many as you want, as long as they won't go beyond the scope of the platform regarding texture sizes. You'll definitely find infos on that topic in the Unity documentation. $\endgroup$ Dec 6, 2016 at 11:45
  • $\begingroup$ hi, very nice answer, do you know any tutorial about how this is done? or do you have one? Thanks $\endgroup$ Jun 17, 2017 at 10:37

Not the answer you're looking for? Browse other questions tagged .