Skip to content

Export Textures for Godot

This guide covers the Godot destination on Export Texture and the matching source on Texture Folder. The files are written for Godot’s ORMMaterial3D, whose packed ORM texture Godot documents channel by channel.

SettingValue
DestinationGodot
Filename Template{name}_{channel}
Normal ConventionOpenGL
HeightUnsigned container

Shown for a set named oak_bark with all eight roles (how to read these tables). A set with fewer roles writes fewer files.

FileWhat it holdsContainer and depthEncoding
oak_bark_albedo.pngBase Color in RGB, the set’s cutout in alphaPNG 8-bitColor
oak_bark_normal.pngNormalPNG 16-bitPacked normal, OpenGL
oak_bark_orm.pngPacked: R Ambient Occlusion, G Roughness, B MetallicPNG 8-bitLinear data
oak_bark_height.pngHeight, remapped into 0 to 1 when it runs outside itPNG 16-bitLinear data
oak_bark_emission.pngEmissivePNG 8-bitColor

Godot documents the ORM texture as ambient occlusion in red, roughness in green, and metallic in blue, with alpha ignored. ArcBrush writes it as an RGB file with no alpha channel.

Opacity has no file of its own. The cutout goes into the alpha of oak_bark_albedo.png.

  1. Create an ORMMaterial3D and assign oak_bark_orm.png to its ORM Texture.
  2. Assign oak_bark_albedo.png, oak_bark_normal.png, and oak_bark_emission.png to their slots, and oak_bark_height.png to the height slot if your material uses height.
  3. Enable Normal Map, Emission, and Height on the material for the maps you assigned, and set Transparency when oak_bark_albedo.png carries a cutout. A map in a disabled feature does nothing.

There are no import flags to change. Godot decides sRGB from the material slot a texture is wired to.

Godot’s roughness, metallic, and ambient occlusion texture channels all default to red, so a grayscale file works with no change. Add those rows with Add Map and save the result as a preset.

Godot requires X+, Y+, Z+, which is the OpenGL style, and this destination writes it. If you ever import a DirectX map into Godot, its import option is named Normal Map Invert Y.

Point Texture Folder at the folder and set Source to Godot, or leave it on Auto.

  • orm unpacks into Ambient Occlusion, Roughness, and Metallic, and so does the longer OcclusionRoughnessMetallic ending.
  • An empty red lane is dropped rather than imported as a fully occluded map, and is listed as Skipped with the reason why.
  • A cutout in the albedo alpha comes back as the set’s Opacity.
  • Godot publishes no texture naming convention. The names above are ArcBrush’s. Rename the rows to your project’s convention and save the result as a preset.
  • No Godot page states a required channel for the standalone height texture. It is read generically from a normalized texture, which is what the height file is.