Substance Materials and PlayCanvas Workflow?


I’m new to PlayCanvas and was wondering if anyone would be willing to share their workflow when working with Substance materials. Right now it looks like a compare/copy kind of thing between the two since there isn’t native support for Substance materials.


As I understand you make material in Substance Designer, then export textures: Ambient Occlusion, Metalness, Glossiness (inverse of Roughness), Diffuse (Albedo) and Normals, and simply upload them into Editor.

If you put them in the same folder and name them with some classic postfixes at the end of filenames, like: wood_diffuse.png, wood_gloss.png, etc, then most of them will be auto-bound to material on dragging one of them onto empty material slot.

That is pretty much same when you work with any other tools.
If you did set up material once, then you can re-upload textures, and textures will update automatically on material.

If there is specific things that you find odd or time consuming?

I made a couple of export presets in painter specificly for playcanvas, that speeds up the export a bit.
I use the different presets for different texture combinations, so that I can pack greyscale textures, like the roughness/ao in the alpha channels of the diffuse, or normal. That helps to reduce the amonut of texture files and their file sizes.
Export everything as tga and the editor handles the conversion to png or jpegs.



1 Like

Just a minor point, but I’ve stopped packing certain texture data into the alpha channel. ETC1 texture compression doesn’t support images with an alpha channel. So I normally just pack to RGB channels. If you don’t care about Android (where ETC1 is useful), this is less important.

A thats good point will :+1:

Havent worked on a texture heavy app, since you integrated the different compression methods, but thats something to keep in mind for sure.



Since I went through this recently and made a graphic for the art team, I figured I’d share it here:

Thinking about using this for environments as well but unsure if it makes sense…

1 Like

Visionaries 777 also did a write up here on how they use Substance with PlayCanvas: High-end Renders & Bike Configurator with Substance


Now diving into getting Metal/Gloss/AO into RGB channels of one texture. This thread is very helpful. Thank you.