Export Textures for Blender
This guide covers the Blender destination on Export Texture. The files are written for Blender’s Principled BSDF, under the names that Node Wrangler’s Principled Texture Setup already looks for. With the Principled BSDF selected, one shortcut loads every file and wires it to the right input.
| Setting | Value |
|---|---|
| Destination | Blender |
| Filename Template | {name}_{channel} |
| Normal Convention | OpenGL |
Files written
Section titled “Files written”Shown for a set named oak_bark with all eight roles (how to read these tables). A set with fewer roles writes fewer files.
| File | What it holds | Container and depth | Encoding |
|---|---|---|---|
oak_bark_base_color.png | Base Color in RGB | PNG 8-bit | Color |
oak_bark_normal.png | Normal | PNG 16-bit | Packed normal, OpenGL |
oak_bark_roughness.png | Roughness | PNG 16-bit | Linear data |
oak_bark_metallic.png | Metallic | PNG 16-bit | Linear data |
oak_bark_ao.png | Ambient Occlusion | PNG 16-bit | Linear data |
oak_bark_height.png | Height | PNG 16-bit, or EXR 16-bit (half) for a height outside 0 to 1 | Linear data |
oak_bark_opacity.png | Opacity, the set’s cutout | PNG 16-bit | Linear data |
oak_bark_emissive.png | Emissive | PNG 8-bit | Color |
Nothing is packed, and every role has a file of its own.
The cutout goes to its own file
Section titled “The cutout goes to its own file”A cutout always goes to oak_bark_opacity.png, never into the Base Color’s alpha: Node Wrangler wires the Principled BSDF’s Alpha input from a file of its own, so an alpha cutout would never reach the shader. The ArcBrush destination writes the same eight names and uses the same opacity file by default, but its Base Color file also declares an alpha lane, which Blender’s does not.
After export
Section titled “After export”- Turn on Node Wrangler once. It ships with Blender but starts off. Open Edit > Preferences > Add-ons, search for Node Wrangler, and tick its checkbox. You do this once per Blender install.
- Wire the maps. In the Shader Editor, select the material’s Principled BSDF node, press Ctrl+Shift+T (Principled Texture Setup), and pick every file the export wrote. Node Wrangler matches each file to an input by its name, sets every data map to Non-Color, puts a Normal Map node in front of the normal, and wires the height through a Displacement node into the Material Output.
- Decide what to do with Ambient Occlusion. The Principled BSDF has no occlusion input, so Node Wrangler loads
oak_bark_ao.pngas Non-Color and leaves it unwired. To use it, add a Mix Color node set to Multiply between the Base Color texture and the AO texture, and feed its result into Base Color. Otherwise delete the node. - Check the Displacement node. Its Midlevel starts at
0.5, which is right for the ordinary 0 to 1 height this destination writes. Set it to0if you exported Height to a float container that holds a signed height. Scale sets how far the surface moves. It starts at0.01, so raise it to the real depth of the relief. - Turn on true displacement if you want it. Until you do, the Displacement node only bumps the shading. In the material’s Settings panel, change Displacement from its default, Bump Only, to Displacement and Bump, which works in both EEVEE and Cycles. Displacement Only works in Cycles only. The mesh also needs enough subdivision to have vertices to move.
The panel’s Engine Import section carries a short version of these steps.
Showing the cutout in Blender
Section titled “Showing the cutout in Blender”Node Wrangler wires oak_bark_opacity.png to the Principled BSDF’s Alpha input. In Blender 4.2 and later that is all it takes. Cycles always reads Alpha, and EEVEE’s default Render Method, Dithered, draws it.
Reading it back
Section titled “Reading it back”Texture Folder never lists Blender as a Source, and Source Auto never considers it, because its eight names are the same ones the ArcBrush destination writes. Point Texture Folder at the folder and leave Source on Auto, or pick ArcBrush. Either way the line under the combo reads Auto detected ArcBrush: 8 of 8 file names match. Every role comes back, including the cutout in oak_bark_opacity.png, which returns as the set’s Opacity.
Worth checking
Section titled “Worth checking”- Blender has no file naming convention of its own. These names follow the tags Node Wrangler matches by default:
base_colorfor Base Color,heightfor Displacement,opacityfor Alpha, and so on. The tags can be edited under Node Wrangler’s add-on preferences, so a Blender whose tags were changed may not match every file. Rename the rows on Export Texture to match, and save the result as a preset. - Pick every file at once. Node Wrangler ignores the part of the name that all the picked files share, which is how
oak_barkis kept from matching anything. With only one file picked, nothing is removed, so an asset name containing a tag word can send that file to the wrong input. A lonemetal_plate_roughness.pngis wired to Metallic as well as Roughness.
References
Section titled “References”add_principled_setup.py(Blender source): what Principled Texture Setup wires, including the Non-Color maps, the Normal Map node, the Displacement node, and the unwired Ambient Occlusion.preferences.py(Blender source): Node Wrangler’s default tags for each input.paths.py(Blender source): how a file name is split into tags and the shared prefix removed.