Substrate - Feedback Thread

Hi @Suthriel ,

Colored shadow is one of the many features we also want and already have in our list (now that we correctly handled coverage and transmittance knowledge). That is the good news.

Apart from that, Strata (now called Substrate) should behave the same as before (no colored shadow in UE5 so far). So if you see any behavior differences as compared to when Substrate is disabled: that is the kind of feedback that is very valuable to us! (it means we have missed a behavior and we should fix it).

Thanks!

1 Like

I finally managed to fix it, so you need a skylight ‘and’ lumen or static reflection captures. I am sorry to have misread this and waited until 5.2 to try to look into it again.

2023-03-24_Skylight

I was wondering though why you need a skylight to have transparant reflections to work?

By the way awesome presentation at GDC by the team!

2 Likes

Enabling the feature crashes upon project launch on MacOS, 5.2 preview 1, Epic Games Launcher.

I was wondering though why you need a skylight to have transparant reflections to work?

The skylight captures the distant lighting component (reflection, diffuse environment lighting), lumen samples from the captured skylight for the distance lighting (reflection and GI).
That is independent from Substrate so please create another thread if you are seeking help in that area.

Hello @undrgrndpwrs ,
Substrate being experimental does not work on MAC yet. We do not have any ETA at this stage of our development.

can’t get megascans foliage opacity with substrate

Trying to make a glass that would work with DOF. I get this odd pop-in of translucent material when I get close to objects so they’re in focus

PS: if anyone has any idea how to make realistic glass using substrate pls help with some tips. Would like to see translucent objects that are behind other translucent objects to be refracted, right now it looks still very “game” like for me. That said, I like this new material system aside the fact I have no idea how to use it properly.

EDIT: just to clarify, the effect is due to objects getting in focus not related to distance from camera.

Hi there, hope you are having a nice day.

By any chance are there plans to add support for separately masking the BaseColor, Normal and roughness D Buffer using the ‘Convert to Decal’ Node?

Cheers
Laurens

I have read that you all are planning on improving material layer support for substrate materials.

I am currently working on a complex terrain prop material, which will use 3 materials, and I am finding that it would be extremely easy to setup if Material Layers were actually substrate layers and Material Blends were Substrate Blends.

I don’t know that you can combine the two, or add Substrate inputs/outputs to existing Material Layers inputs/outputs. Seems to me it would be easiest and best to just create a separate/new substrate layers and substrate blends.

With what I am currently working on, I would like to create 3 substrates, and create different blends for each. For example, I will have a base substrate, dirt/grime substrate that will blend using a Crevice/AO map of the static mesh geometry, and then add a sand (or sediment) substrate that will be masked using a combo of the crevice/ao mask, world Z height mask and a world normals mask to apply the sand in crevices and on up facing normals.

I want to be able in material instance, to choose which substrate I am using for each layer, so that I can not only choose different textures, but also having different shaders (the dirt/grime would be a different shader/material setup than the sand.

As of now, if I use material layers and blends, I am not sure how to utilize the substrate blends in a material layer blend? I am currntly working on this and will update asI learn more about trying to implement substrate blends and layers in material layers and blends. As of right now, not being able to use Substrate blends in a material layer blend makes this impossible yes/no?

I could pass Substrate attribute values (such as f0 and f90) through arbitrary nodes that support same value types and ranges, but then in a material layer blend, I do not know how I would utilize a substrate blend? Again, brings me back to it seems you might as well create a whole new layer and layer blend system specifically fr substrate?

Using UE 5.2 and when i use a reroute node after a substrate slab node I get an error

"[SM6] Missing StrataGenerateMaterialTopologyTree implementation for node MaterialExpressionReroute.
[SM6] Could not find any strata operators or BSDFs in Material /Engine/Transient.MM_TerrainProp_Layered (asset: /Engine/Transient).

[SM6] Substrate material errors encountered.
[SM6] (Node StrataSlabBSDF) Invalid StrataSlabBSDF operator and BSDF indices during promotion in Material /Engine/Transient.MM_TerrainProp_Layered (asset: /Engine/Transient)."

I am trying to create a material that will create a dynamic mask where two meshes overlap, so that I can use that mask to apply a substrate where crevices are created between the two meshes.

I believe I could achieve this using depth fade, however I would need a transparent material on a duplicate mesh at same location. I was hoping Substrate would allow me to do this using a transparent substrate to sample Depth Fade (scene depth) to create the mask in the same material on an opaque material, but I am not having any such luck as transparency is not set on the substrate but on the material result node.

Is this correct, that using substrate will not solvethe issue of needing a seperate mesh in same location that has a transparent material?

I am also trying to setup my material combining 3 substrates, however, I am running into the issue where I do not see how to combine them, then take the result and modify the Diffuse/Albedo after they have been combined as I am multiplying the static mesh AO/Cavity by the final Albedo.

I only know how to do this using material attributes, getting the Base Color, but Substrates do not have a way to get/set specific attributes…

Hello @UElaci ,
This does not look related to Substrate (likely happens the same way without Substrate enabled) so please start a dedicated thread for that instead of using the Substrate thread.
Thanks
(maybe try r.Translucency.AutoBeforeDOF=0)

1 Like

Hi @Laurens_t_Jong
Ad of today, the masking is controlled by whether a pin is plugged in or not on the ConvertToDecal node as I recall. That should be the same as before I believe. Not sure anything else is needed then? But if you have any use case in mind please expose them.

Hi @blindminds ,

Missing StrataGenerateMaterialTopologyTree implementation for node MaterialExpressionReroute

This should be fixed in our main branch (for 5.3).

I don’t know that you can combine the two, or add Substrate inputs/outputs to existing Material Layers inputs/outputs.

About material layers: As of today you can still use its parameters to flow inputs and parameter blend them as do up until now. I the end you can plug all the inputs into a single slab. That should be enough to support blending of multiple slab that are not layered vertically.
Later, this workflow will likely face an update to be able to scale up to more parameters that could be plug in multiple slabs.
We do not plan to support extracting albedo from a bsdf to reset it behind in the graph.
That is the material layers workflow (that needs to be imporved) but not the Substrate workflow where BSDF are created when ready for exporting to gbuffer and lighting.
You can still use multiple attribute flow that are not blended together but simply fed into different slabs that are then combined using operators. That should work I believe.

Is this correct, that using substrate will not solve the issue of needing a seperate mesh in same location that has a transparent material?

Correct, this is a higher level behavior Substrate does not have the goal to fix (blending mode is still per material). Substrate Substrate only operates at the material level.

Thanks, at leas I know it’s unrelated to substrate. Can we expect pathtracer support in official 5.2 release?

thanks for the great feedback!

1 Like

Not in 5.2 but in 5.3 there should be some path tracing working with Substrate yes.

2 Likes

Hi there,

Just found out that substrate won’t work with raytracing translucency on in the post processing volume. (hardware raytracing on in project setting)

Wonder if there is some ways to work around?

Thanks~


Hello @yellow_safe ,

Substrate does not work with ray traced translucency. Lumen is the path we want to take for future real time translucent refractions/reflections .

For non real time it will be the path tracer.

Hi SebHillaire,

Thanks for the reply!! My follow-up question is, a complex/organic mesh with translucent material has some kind of z sorting issue like the images below. I can fix the issue if I set
translucency from raster to ratracing in the project with substrate turn off . but how can I fix that while substrate is on, since substrate conflicts with raytraced translucency.


1 Like