Bake, Outline, and Paint Textures (Blender)¶
This tutorial shows how to bake your existing material to a new UV layout, generate island outlines with Material Maker, and clean up the texture in Blender.
Prerequisites¶
- Blender with Cycles available (GPU optional but recommended).
- A mesh with a material and an existing texture.
- Material Maker for outlines (graph file provided below).
- Save images and UVs locally; remember to save often.
Workflow Overview¶
- Create a second UV map dedicated to baking (no overlap).
- Prepare an emission-only material to preserve original color.
- Bake to a dedicated image in
Emitwith Cycles, using a margin. - Export the baked texture and UV layout.
- Generate outlines automatically in Material Maker, then clean up in Blender.
Import your mesh in Blender
![]() |
![]() |
For this tutorial, it's better that all the pieces are merged. Use ⌘ + J (macOS) or Ctrl + J (Windows/Linux) to merge them.
![]() |
![]() |
1) Prepare UVs for baking¶
Create a new UV map to bake the texture to a new projection.

Let's name the new one "Bake"

Make sure the new UV is selected (active) while the old one keeps the render icon (camera). This keeps the original UV as the one used by the material to sample the original texture, while the Bake UV becomes the target layout for the baked image.
Tips:
- Avoid overlapping islands on the Bake UV; pack islands with enough spacing.
- Use a margin in the bake (see below) and leave padding between islands to reduce visible seams.
2) Prepare the emission material¶
Then we need to edit the material, which usually looks like this.

We need to make a custom material which is emissive-only so that when baking, nothing alters the look of the original texture. Don't forget to set your original texture.
Recommended setup:
- Use an Emission shader and plug your original Base Color texture into it.
- Keep Color Space on the Image Texture as sRGB (for color bakes). Use Non-Color only for data maps (normals/occlusion/etc.).
- Do not add lighting or other nodes that could change color; emission will bake pure color.

If all went well, your model should look somewhat normal in the viewport.

Now we need to edit the new UVMap to have no overlapping pieces for baking. This is a very important step, because we're gonna use the edges of the islands as the place where you need to draw outlines. If you don't take the time to do it properly, you'll have to do some (sometimes a lot) of manual cleaning after. Here we'll do the worst-case scenario, by adapting nothing.

3) Create the bake target (Image Texture)¶
Add a new Image Texture node to your material so that the bake writes into it. If you have multiple materials on your mesh, repeat this step in each material.
Important: - Do not connect this "bake target" node to the shader tree; just add it and keep it unconnected. - Make sure this node is selected (white outline) before baking; Blender writes the bake into the selected Image Texture node.

Create a new image and assign it to that texture node. Alpha is usually not needed for pure color bakes; resolution depends on your use case.
Suggestions:
- Start with 2048×2048 or 4096×4096 for better details.
- Name it clearly (e.g., Bake).

4) Configure baking with Cycles¶
Switch the render engine to Cycles (texture baking is not supported in EEVEE). If you have a compatible GPU, enable it to make things faster.

Make sure you're in object mode, and that your object is selected, then scroll down to the bake area.

Set the Bake Type to Emit so it only bakes the emission color. Common settings:
- Margin: 8–16 px (reduces seams on UV borders).
- Clear Image: On (optional; clears previous bake in the target image).
- Selected to Active: Off (we’re baking the selected object into its own image).
When ready, click Bake.

5) Export the baked texture and UV layout¶
Once you're done, export the baked texture to your favorite program.
In the Image Editor: - Image → Save As… - Format: PNG (lossless) or EXR (if you need HDR/data).

Also export the UV layout of the Bake UV map, so you can use it as a mask in your editing software.
In the UV Editor: - UV → Export UV Layout… - Set size to match your baked texture; enable Fill Opacity as needed.

If you want to test the baked texture, you can alter the material so that it uses the new baked texture (everything should be back to normal).

Using material maker¶
Using the exported UV mask, with an edge detect and a slope blur, you can generate automatic outlines for the UV islands. The Material Maker graph is available here: files/borderify.ptex.
Basic steps in Material Maker:
- Open the provided graph and replace the input with your UV layout image.
- Use Edge Detect to find island borders.
- Apply Slope Blur to soften/expand outlines; tune radius/iterations to taste.
- Composite the outlines over your baked texture.

Here is the generated texture

As you can see, since we went too fast on the UV step, there is a lot of outlines that shouldn't be here.

Cleanup & Painting in Blender¶
After using Blender’s Clone and Paint tools and a bit of effort, you can clean up your model to have a decent result.
Texture Paint tips: - In 3D View, use Clone/Smear/Fill to fix stray outlines and seams. - In 2D Image Editor, paint directly on the baked texture for precise control.

Don't forget you can also paint in the 2D view if that's easier for you.

With some more effort it looks almost good

Final result¶
The final texture ready for the engine.

Troubleshooting¶
- Bake is black: Ensure the Image Texture node (target) is selected; confirm
Emitbake and that the Emission shader receives the original texture. - Wrong UV used: Make sure the original UV has the render icon (camera) and the
BakeUV is selected for editing and packing. - Seams visible: Increase bake Margin (8–16 px), add more island padding, avoid overlapping UVs.
- EEVEE used by mistake: Switch to Cycles; baking isn’t supported in EEVEE.
- Multiple materials: Add a target Image Texture node in each material and select the correct node before baking.



