Texture Atlas Generator

by Lukas Florea in Scripts and Addons

This little tool helps you with creating flat shaded texture maps for
multi-material objects without going through the baking process. The add-on is
looking for the "Principled BSDF" node in each material and picks the base color
in order to color the tiles. It also translates and scales the UV-faces in order
to fit the different tiles. It does not support multi-texture-objects though but this feature is planned for the future. Please see the FAQ if you are not sure if this plugin suits your usecase.

Installation

This add-on is currently only working with Blender 2.80 because it is relying on
the Principled BSDF nodes in order to determine the color of the texture tile.

Just install the add-on as usual:

  1. Open Blender, go to Edit > Preferences > Add-ons
  2. Click the "Install..." button in the top right corner
  3. Choose the .zip file you have downloaded beforehand
  4. Check the checkbox in order to enable the add-on.

Quick introduction

After installation you should find a new panel in the Properties > Material Tab.
Select an object with multiple materials assigned.

Be sure to unwrap your object before using the tool. After you select the
object, you can change the image size and tile size settings. It is usually a good idea
to choose powers of 2 for the image and tile sizes. It is also recommended to have square images / tiles.

Click "Generate Texture Atlas". You will find a new image in the image list on
the UV editor. Now you can save or export the image to your favorite
game engine :)

Limitations

Multi-Texture-Objects are not supported

This tool currently works with single color materials (it uses the color channel of the Principled BSDF shader). You have to go through Blender's internal bake process if you want to use multi texture objects.

Issues and help

If you encounter any issues or bugs, please open an issue on GitHub: https://github.com/LuFlo/texture_atlas_generator/issues

Also feel free to suggests new ideas or open a pull-request if you are a coder :)