Home Adobe Substance

UE4 material/substance instancing and modular workflow

ngon master
Offline / Send Message
ZacD ngon master
I'm working a project where I'm making a modular set for multiple buildings. The current plan is to use Substance to help add variation between buildings. Is there a way to instance substances like you can instance materials? Or would it be better to just remake part of the Substance in the UE4 material editor, and instance that material?

Replies

  • Froyok
    Offline / Send Message
    Froyok greentooth
    It depends if you want to do it at runtime or not.
    If it's at runtime, you can use blueprint to duplicate a graph instance and then generate the new textures and assign them to your material instance.

    If it's in the editor directly, via the content browser, you just need to duplicate a graph instance in the content browser and it will give you a new set of textures to link in your material instances.
  • ZacD
    Offline / Send Message
    ZacD ngon master
    I'm curious what one would have better performance and still remain flexible

    Instancing a substance 8 or so times
    - Separate material for each substance instance
    - Easier to iterate in substance (less jumping back and forth)

    Using a master material
    - Have to remake parts of the substance in UE4
    - More expensive shader
    - Can instance UE4 materials so hopefully less draw calls?
    - More control over mipping

    I think I'm going to try the master material route for one of the materials at least, less iteration and designing substances to be recreated is going to be a bit limiting, but I'm going to try giving both options a go, they seem to have their own places.
  • Froyok
    Offline / Send Message
    Froyok greentooth
    I would say it depends of the flexibility you need in the textures and the amount of textures you get in the end :

    - Complex master material with only one set of texture : multiple instances, but you only query a limited set of textures. The shader do all the rest of work (like constant color overlays and a set of parameters).

    - Simple master material with instance where you override each time the texture with the one from the substance. You get therefore some shaders much cheaper to compute, but query a lot of different textures which can also consume some bandwith.


    I would go for the first setup personally as shaders are much faster than tweaking substances, but if you only need to tweak once a set of parameters (say for example a character creation system where the user define its skin color and tattoos) then computing a unique set of textures only once and using a simple shader is better.
Sign In or Register to comment.