Help with UV mapping from blender

Hi everyone i finished my first “serious” model in blender and there is a house with some wood, some windows, a door and a lumberjack axe. When there is a simple figure i can do the uv mapping but now that in my scene there are a lot of objects i can barely work when i unwrap. It’s even hard to me to make the seams and predict how it will unwrap.

I’m a little bit dissapointed with the difficulty im having in this step of texturing, i got some questions hope you can help me:

  • It’s possible to have an unwrap image of each object instead of an unwrap of all the scene? I mean one for the house, another one for the axe… Will this when importing the object to Unity make some sort of trouble?
  • If this can’t be done, there is another way of simplifying the UV Mapping technique?

Thanks to all in advance!

Hi!
You could do that, one problem is that unless all your objects use the same material, you would have to create a new material for each object–> more drawcalls.

I see thanks!

Depending on the platform, limitations may be more or less severe.

Especially when following mobile device projects, i notice as many as possible objects are getting mapped on a single texture.
My guess is that for mobile devices, it’s relatively much more resource-consuming to add another texture/drawcall.

Myself i’m mainly developing on pc, and found out a few rules of thumb for myself:

  • I found it can be benificial to have props which don’t require much texture detail compressed in a single uv-space as much as possible.
  • Every type of image you use (be it a color/diffusemap, normalmap or heightmap) adds another drawcall for that shader. i.e.; Not all objects have benefit by having displacement
  • ‘VertexColors’ can be used to blend materials on a polygon level, allowing you to (in example on a very large piece of terrain) blend two or up to four tiled 512x512 textures, using two “light” drawcalls, compared to the alternative (in example) a 2048x2048 combined image which uses much more memory to start with. Especially larger surfaces could benefit from such techniques, where their replacement colormaps would be of much worse quality and higher memory size (An other well-known method is “splat-mapping/colormapping”, using textures rather then vertex colors to define the areas wheres blended. ).
  • try to avoid unecessary shader ‘functions’ (I’d like to use displacement as an example again, this effect is very often unnecessary but will use an additional draw call for every material you use it with.)

For years i’ve seen that it’s quite normal for pc-platform games if pretty much every (unique) object has its own texturemaps.

In the end it’s all a game of balancing the many factors to keep your game smooth, but starting off in resource-sparing methods should help a lot in preventing having to change things afterwards only to make your game playable :slight_smile:

If it comes to this relationship between DrawCalls, Texture Size and Amount of textures i’d dare say it’s safe to assume:

  • While mapping multiple objects on a single uv-map can result in a reduction of DrawCalls, it can severly increase memory size for the same viewing quality
  • Objects which rarely appear are less susceptible to cause lag by usage of seperate textures. (simply because they’re not as often apparent/visible)
  • In some cases smart shader usage can save performance; e.g. using a shader which multiplies your colormap against a color, using script you could have this one material cover multiple materials, while requiring less memory against a minor performance hit.
    (Example: I once made a small test with a few different cubes, they all had a shader which multiplied their diffusemap against another color, i used this (Combined with a normal map) to use many different colors of wood on the cubes (sharing the same mesh), while consuming a little more time, memory and drawcall amount could be reduced lots!
    (I should really think about reproducing this test again for the forums…)

Hope this information will be of some use to you :slight_smile: