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).
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.
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!
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.
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.
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)
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.
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 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.