Substrate - Feedback Thread

Other things to consider is the type of light (mine is a point light), the type of shadows (virtual shadow maps) and the settings on the light (moveable, translucent).

If you scroll waaaaay up in the thread you’ll see I was getting similar noise and blocky artifacts.

Btw, Phase function set to 1 makes it 100% forward scattering so you should not see any back scatter.

You don’t want to have the SSS set high (scale or weight), but rather have the light bright shining from behind the subject

5.4 Substrate seems to have a strange effect on the Lumen GI / bounce lighting, can anyone help?

@CROSE48 Ah thanks. That does not look correct indeed. It would be good if you could show how the lumen scene looks like also in both cases (menu Lit/Lumen/Overview or r.Lumen.Visualize 1 IIRC).

1 Like

@K_FR_NZ I was able to replicate the issues you are getting (noise, blocky artifacts). This all appear to come from the values in the transmittance color. For example here I have the color set to pure red [1,0,0]

If I set it instead to [0.99,0,0] I get this:

The green is a common error in SSS that comes from having the scale to high and the render returning the complimentary color (in this case green). The solution is to give it a lower value color. Here is blood red [0.15,0,0]

Note that for these renders I have transmission in the light OFF.

@SebHillaire while high values in the transmittance color turning green are common, the different behavior for values of 1.0 shown above is not. Is this perhaps something that needs to be fixed?

Similarly, I note that with the path tracer when the phase anisotropy is set to 1 I get this:

where as anything lower I get an expected result. Here’s 0.9:

Here’s 0.99 where we see the color flipping to green. That is peculiar to me as I’ve only observed this with the radius/scale on SSS in other renderers. However the main thing I wanted to point out is how the forward scatter gets stronger and stronger as the value is raised positively, until it hits 1.0 and goes black.

Additionally, when rendering in Lit mode, phase anisotropy values appear to have no effect. Is this expected?

1 Like

This does make me curious, is RT transmittance still supported by substrate?

i rendered it in my full rt setup. it does not deliver fps, so i reckon it does ray bounces/passthru on “layer boundaries” aka free mean path nodes. not sure how it deals with backfaces rn. will do some experiments, soon-ish.

Yeah I checked that and they look the same. I’ve just made some screenshots.
So I take them using the “High resolution screenshot” tool in the Viewport but as you can see from the manual screen grabs there is also a strange blurring happening when Game Mode is On.

I have tried to repro using 5.4 latest and I cannot reproduce any of this: GI looks consistent, no bluerring, game mode or not, high res screen shot or not.

Substrate OFF

Substrate ON

Ok that’s good news.

I have the following tesselation CVars in my engine config file which must be the cause.

r.Nanite.AllowTessellation=1
r.Nanite.Tessellation=1
r.RayTracing.Nanite.Mode=1

I’m testing using the EasyMapper project.

2 Likes

Ok, please try without to see if this is the root of your problem. Otherwise you would have to shared a tiny project for us to download and look at it.

1 Like

I haven’t figured out what’s causing it so it must be a setting somewhere in the EasyMapper project.

To reproduce my configuration download the Marketplace asset here: https://www.unrealengine.com/marketplace/en-US/product/easymapper

Upgrade the project to 5.4p, enable substrate, enable tesselation in the master material and then open the Demo room.

Hello! I have a similar problem. When I turned on substrate, my materials became very dark. But I found that this problem only appears if nanite is enabled on the mesh. Everything is normal without nanite. Tested on 5.4 preview with three different objects and materials + on the nanite landscape.


UPD: It seems that this is not related to a specific material, because even in the preview of the object, which does not display the material, there is still this problem.


UPD.2: I opened the content example in 5.4 and everything works fine with nanite in it. Perhaps the engine somehow does not connect the old materials correctly.

UPD.3: I understood what was going on. All because of the disable Allow Static Lightning in the project settings. It needs to be enable.

UPD.4: I checked in 5.3, everything works. It looks like a bug in 5.4.

2 Likes

found a bug, clear coat BSDF shows up as black whenever its rendered in a scene capture component cube

nevermind, the distancefield approx ao node seems to be broken in both reflection captures and scene captures but there’s no reflection capture pass node equivalent for scene captures

Aha, good find! When I turn the color to .99 the artifacts mostly go away, and at .9 they are even more “gone away”.

However, the original “bug” (not really bug I guess, just the way substrate SSS works) that I was experiencing, where the SSS was much, much stronger when the camera was looking at the lit side of the object vs the unlit side, is definitely still present - just want to doublecheck that you are seeing this too, correct?

e.g. in the scene that you screenshotted here, I assume that when you move your camera around so that you are seeing the profile view of the head, or the back of the head, that the sub surface glow expands drastically, right?

Thanks for replying to me over the last few weeks and helping me debug this, by the way - I really appreciate it.

Yes, but I would not call that a bug. I’d say that this is how real light works with a camera and exposure. With the path tracer and Substrate this is more physically accurate and mirrors behavior in offline rendering. In Lit mode it’s a bit less precise, but still more or less expected behavior for lights and SSS.

I don’t think what I’m seeing is expected behavior - The light coming out of the skin at a particular point (say, the middle of the earlobe) I’d expect to be about the same brightness no matter where the camera is, but you can see the whole (front-facing!) side of the ear lights up when looking from the side or back, but goes totally black from the front:

The pathtracer looks like expected behavior to me, yes:

BTW I have no autoexposure on my camera.

The substrate material system is almost similar to Blender’s material system.

Is it possible to export blender materials to UE without any strings attached !

1 Like

at some point i tested that. fbx materials pretty much did that. altough… they only contain texture links for textures that are directly connected to matching channels in the principled node. and will create unique materials/shaders. this will not work with instances.

program agnostic shaders will never translate. and…

unfortunately the industy is always in movement and there’s no coherent or unified language when dealing with standard materials and parameters. so… basicly. not gonna work. each program still uses their own naming scheme and internal shading algorithms. so you can’t just just translate one look and set of parameters into 2 different render engines. it is what it is. many kitchens. :slight_smile:

might have found another bug, translucent grey transmittance materials are black in unlit for some reason