Author Topic: Best Blender-Painter-Unity texture workflow  (Read 3739 times)

Hello, i'm making a complex model in Blender with several objects that i will texture in Substance painter and then import into Unity3D. I know that SPainter comes with many export presets, including Unity PBR and Blender Cycles PBR.
Obviously, textures for Blender are different than textures for Unity3D, due to their different implementation of PBR shaders... but i don't want to have 2 different sets of exported textures.

Blender textures = BaseColor - Metallic - Roughness - Normal
Unity3D textures = AlbedoTrasparency - MetallicSmoothness - Normal

So, BaseColor == AlbedoTrasparency  and Normal == Normal, but what about the MetallicSmoothness Unity3D texture, that combines Metallic and smoothness into one texture?

Does someone knows the best way to use all ot those texture into Unity3D and also in Blender PrincipledBSDF shader?
I prefer to keep the "3 textures" solution used by Unity, to reduce total amount of memory.

Grazie! :)


Unity3D textures = AlbedoTransparency - MetallicSmoothness - Normal

This is the standard PBR shader configuration in Unity. The normal map will be exported using the OpenGL format and the MetallicSmotthness will convert your Roughness into a Glossiness map (simple invert).

Regarding Blender, I like to merge my grayscale textures like this (tga export) :

- Albedo (RGB) / Height or SSS (Alpha)
- Normal Map
- Metallic - Roughness - AmbientOcclusion (RGB) / Emissive (A)

Make sure to set your Single Image Texture node as Non-Color. Add a Separate RGB to use each channel as you want :

The texture should looks like something like this :

Hope it helps  :)
Q.A Analyst

I used the 3 textures in Unity3D standard shader, and separate MetallicSmoothness into Blender: RGB for metalic and inverted A for roughness. The result is pretty good and the same i got using Many separated RGB Textures.

The idea to use single RGBA channels of a texture to store grayscale information such as Alpha, AO etc.. is simply GREAT!

Thank you.