Low-poly Tips 2 – Game Art Asset Optimization

These modeling, uv-mapping and texturing tips apply to 3D art asset work for games and similiar media. While they are best matched with low-poly 3D, they are definitely not limited to it. See also the previous collection here and the 3rd one here.

Middle edgeloop optimization & UV-mapping a character

It is common to model an edgeloop running around the middle of a character. It allows mirror copying the torso – you uv-map and texture only half and duplicate to get both halves with same detail (see Low-poly Tips vol. 1 for futher explanation). However there are number of reasons why full middle loop and mirroring everything is often not the best choice.

Mirror-uv-mapping everything on a character mirrored makes it look more generic. For visual interest you want variation in at least the texture if not the shape and for this you can’t mirror everything. In a humanoid figure the places seen the most are where you want variation, usually top half of character torso, shoulders and face.

A middle cut running all through your character model means more polygons. There are places where you have to have it, namely the crotch/hips area for humanoids because this area receives lot of stretching – you need to separate the legs. But there are also many places where you don’t need it. See the image for example of middle edgeloop use.

For four (or more)-legged characters like dogs you can often forgo the middle loop at hips, too. Sure the area will bend and break in animation, but if it doesn’t show then does it matter?

Fake roundness with just 4 polygons – optimize asset polycount

A square can be made to look rounded in game. The trick is to use one smoothing group and turn a square so that polygons are not aligned to world axis, rather angular to them. This places the corners closer to where round objects would be and away from where square objects corners were. That and the smoothing group fools your eye. It is mostly the smoothing group – I don’t know the technicalities of this. Just that it works. See same tricks also with character legs.

Of course this only applies to the sides, the 4 polygons we are talking about. Looking at the top and bottom the objects square nature shows, but when you hide them it is another story.

Fake complex shapes with bitmap and alpha channel – optimize polycount

Any object with a mostly flat top, especially shapes like barrel and similiar where top is equally proportioned or larger than parts below it, can have a faked top: a single polygon and the shape of the top mapped on it with bitmap and alpha channel. This can save numerous polygons. However the top with alpha does take space from your UV-map since it needs some size to have enough detail to not blur and reveal its faked nature. So judge for yourself which one is more important with your object: texture/uv-space or lower number of polygons.

Texturing with seamless textures – re-using textures

Re-using textures is a core part of low-poly work. Characters don’t allow that too much, but props such as houses do. Say for a medieval building you might just have a texture with 1/4 stone, 1/4 wood, 1/4 roof, 1/4 window – see image used to texture a well, the idea is the same.

The trick is to place almost every polygon in your uv-map separately so that they grab the maximum texture area – AND also change polygon sizes, rotation and mirroring to add variation to the way it is displayed on your model.

Unlike ‘standard’ uv-mapping, where you map first and texture after, for this you better do the reverse. Make the texture – lay out the different material areas(preferably each tileable). Think what you need and what shapes you need, like longer varied strips of material, and add those bits to your texture. Then uv-map polygon by polygon, or few at a time, to get all you can out of it.

Texturing by re-using textures does become a balancing act: Do you use more uv-space for one particular area or more polygons? Say you have a long continuous wall. To cover it all with a single unique texture would take a large amount of uv-space. On the other hand repeating one seamless texture over and over would require more polygons. So you weight the pros and cons and perhaps go middle way. Usually my take is that few polygons does less harm than needing to use larger textures or more textures.

Remember MipMapping and Antialiasing when texturing – stop texture bleed

When the game creates a MipMap from your texture, or when the texture gets antialiased, it gets blurred. This is a problem at edges of the uv-island in your uv-map. Either the background color of your texture bleeds in or the alpha channel does(usually as black colour). As result the uv-edges become visible on your model in game.
To prevent texture bleeding problem, push the textures themselves well over the uv-seams. Then, when the blurring happens, you still have the correct colors at uv-seams.

Acknowledge uv-area repeating – optimize texturing

If a part of your uv-map goes over the uv-area, it will come out at the opposite end. This is not displayed visually in your program(not in Max or Modo at least), but knowing it you can use it to texture uv-parts that do not fit in your uv-space. Mind you this works only with seamless texture.

Have less seams in UV-map

Models that have their UV-map slipt to numerous parts count as having more vertexes as far as game engine is concerned – each split means more vertexes and so heavier to load. To minimize vertex count you should have your uv-map as continuous as possible – say a character skin could be one big open pelt like an animal skin. Of course uv-mapping and texturing poly-by-poly, like written above on seamless texturing, does the exact opposite.
Do note that going for less UV-seams is a fine-tuning type of optimizing – it is best used in addition to other tricks, where possible, and not to replace them.

Make textures details to fit size displayed in-game – optimize textures

The size that the objects appear in game, be it because of optimum camera distance or whatever, defines maximum texture detail you need. Say you have a character face that is 85×85 pixels on screen in game. You need no more than that for it in the texture map. Of course if your game offers free camera, modifiable resolutions and such tools for player, things get more complicated. But even in free camera games there has to an optimum to aim for – what is the size of texture detail at camera distance where the game is Designed to be played at?

This ends second collection of art asset tips, especially useful when working with low-poly 3D assets. I hope some of these come handy in your projects.

Share the article With

This entry was posted in Design, Game Development and tagged , , . Bookmark the permalink.

One Response to "Low-poly Tips 2 – Game Art Asset Optimization"

Leave a reply