Author Topic: Substance Products, material types, compatibility  (Read 1329 times)


Using Substance Painter, Designer, B2M and waiting for Alchemist. The output materials will only be used with Unreal Engine 4 (C++ no blueprints) as the end target. Keeping them in compiled .sbar format, as Substance will be the central material/bake/paint tool incl. all organized related (materials/maps), is a requirement.

CONTEXT within which I ask the Substance related questions:

PIPELINE (sub-part) :
Model/Sculpture, optimizing, make LOD mesh sets in zBrush--->
export High/Low res mesh, UV and ID map to Substance Painter for baking/painting--->
[--- paint and view in UE4 with Substance Plug-in---]
<---Substance Designer, Alchemist(coming) and B2M for material creation.

CGI Keywords:
New pipeline: 100% PBR, Photo-realistic, AI, single engine target (UE4), LOD, procedural, C++ in UE4...
Excluded: autodesk (for many reasons), Houdini (its 'PROCEDURAL' is only at design time), Blueprints use in EU4, for now.

ICT, AI, C++, algorithms, protocol stacks, DB (Sql and noSql), Security etc
NEW TO CGI: I can still get confused on terminology/concepts but building peaces together step by step.


1)  In the build of a good pipeline I initially started with zBrush and build from there. Hence I used to process texture maps (such as displacement maps) by exporting them as .PNG from zBrush (e.g. UV Master), process them with Affinity Photo filters, and use them back in zBrush with poly painted objects.

I decided to include Substance in the pipeline and only use Poly Painting in zBrush for ID map creations from Poly Groups to export them to Substance Painter to paint as TextureSet lists items. Hence I now need a link between Substance and Affinity Photo because most maps are in Substance. After searching I found that the Substance bridge is only for (Photoshop, which I don't want dependency on). Also that the .PSD file format can be exported from Substance and imported and processed by Affinity Photo, but there seems to be no way BACK!!! I am sure that a market leader as Substance has a solution for Affinity Photo, as more and more people migrate to it ,but I don't succeed in finding it and I did the effort, not just asking because I am to lazy to look.
2) I saw that Substance uses the term Smart Materials and Procedural materials. I think I understand what regular and procedural materials are and I look at a Substance tutorial 1.3 on Smart materials however I still doubt what exactly is the difference between smart and procedural in Substance terms and their software abilities. Does smart/procedural are one and the same process where procedural offers more real-time features such as noise through randomizing?

3) Some searching showed me that there is direct .sbar support in UE4 and materials can be manipulated in this compiled form through Blueprints. Where would I find the information on how to do the same with C++ at run-time? Does this need a Substance C++ plug-in/API/SDK for UE4? If so, where do I find it. What I look for is for instance changing parameters of procedural material at run-time. As an example: Change the RGB parameters of a map to turn a 'lipstick' material from light red to dark red, or to turn gloss on and off, or break the noise based lipstick surface crackles with over time increasing density.

4) Is there a good source information on Substance software integration with itself. I found non in the Substance tutorials. E.g.: Open Painter and have Designer open (and if available alchemist) and see changes made to materials in Designer /Alchemist directly in Painter?  What about B2M. or is it all save in the one, load in the other as i often saw.

5) Where can I find the limitations in TextureSet lists. I figure that underlying an ID map has numeric IDs within a certain range that will limit the maximum number of different ID's that zBrush can create and that also Substance products will have some maximum number of IDs (in a SINGLE instance) that may not be exceeded and can be linked with TextureSet list items. So the limit might be in the # of items that a TextureSet list can hold.

6) I'dd like to invest a lot in Phyton scripting inside Substance Painter to automate the ID map to TextureSet text string automation. Is that even possible or needed if:
- I always export the SAME ID's from zBrush for the same type of painting requirement of an area
- There is a fixed relation between ID number and text (e.g. 1=nail, 2=lip, ...)
- Or is there a template approach for TextureSets (create it ONE time, and associate it with an ID map in MULTIPLE projects)

7) Is there some top level positioning documentation of the Substance Suite (what to do best and were) in case of overlap. Possibly this applies more to Designer vs Alchemist.

So for now I'll leave it by that.
Thanks for helping me out.