So I am just really thinking about the worth of substance designer right now for UE4. It seems to me a lot of the node based functionality in substance designer can be done in the UE4 material editor. So then what would be the point of the node based system in substance designer with UE4. Here is my breakdown of the thinking
UE4
- when you tile in material IDs they actually multiple and increase the quality of the image
- share tilled materials with other materials
- has a limited node count
- can only use a max of 15 images in 1 material
Substance designer
- At least it can bake
- linked update with photoshop
- Tiling would not give you more quality since it just updates a single diffuse.
- just seems like it would be less efficient
Do you guys agree please give me reasons for either work flow
Replies
Most of the material blending doesn't need to be computed in real time, so you need to find the right trade-off between what is baked as a texture )masks+base materials+bakes) and what you want to layer in the material (surface detail, vertex color blending).
True but you can also do blending without using material layers. Just by having a material ID and certain colors assigned to certain textures which are tiled, this seems like the optimum solution for me because that way you can share textures for various interesting effects, while still keeping things nice and sharp within the confines of each material ID color.
Its not one or the other, they go hand in hand, think of substance as a way to generate content for the material editor to work with.
Use the material editor for anything that has to be done real-time during runtime on the engine, and for things that require additional data such as the lightvector or the vertex colour
than anything that can be static do node tree for substance, Really substance just comes down to a node based imaged editor.
your trying to compare apples and oranges buddy.
Be too expensive otherwise, since large networks in substance dseginer take upwards of 500ms to calculate.
Still great for creating variation between placed assets, expecially if you made paramaters for any of the environmental effects applied to assets such as sun bleaching, dirt buildup or damage. Can fine tune the values for those based on where you put it in the level, and what is logical to apply to it.
Substance can generate it's textures at run time, which means you aren't doing any blending, but you also don't benefit from the dynamic stuff a shader can do.
I'm not sure why this is hard to grasp ?
Even if all the substances are baked at runtime, if you consider how much time is spent baking just one of them, and then consider how many substances you might be using in the editor... that's a lot of time spent at start up to do something that would be instant if you had already baked your textures and just parametrized what you needed to.
Basically, I don't get the point of using substances INSIDE of UE4.
- Download size, if your game has to be downloaded and especially if it's free to play, you want to have the smallest game as possible and "expand" the texture package when you launch the game for the first time for example.
- Customization, instead of storing a lot of different textures and creating crazy branched shaders in UE4, you can use a substance to store all the customized elements from your characters/vehicles.
- Dynamic masks, those are extremely fast to compute and can allow you to create some very cool effect that are hard to do using a shader only.
I use them for user-generated content. Instead of sending whole textures across a network, we can just send a few substance params.
Other than that, I usually import textures generated by substance, rather than tweak in the editor.