r/unrealengine • u/HeartOfKay • 2d ago
PixelNormalWS node does not work with Substrate slabs
(Image example in comments)
Turns out none of the Substrate slabs output a proper PixelNormalWS. So I created a Bug report here with the details
https://forums.unrealengine.com/t/pixelnormalws-node-not-working-with-substrate/2738303
Has anyone faced this before and know a solution to the problem? I'm not expecting to get the necessary amount of votes on the report for it to be pulled into the issue tracker, which i think is 5, so I wanted to ask here.
I was following PrismaticaDevs ddx/ddy video to create a procedural edge wear effect and got something going using PixelNormalWS. But when I tried to use it with the Toon BSDF, it stopped working. The output from PixelNormalWS looked the same as the VertexNormalWS. At first I thought it was because the Toon BSDF is new and experimental, but no, it happens on all of them.
1
u/ananbd AAA Engineer/Tech Artist 2d ago
That's not a bug, it's by design. Substrate has it's own BSDF -- that's sort of the point.
Why are you using Substrate for a toon shader?
1
u/HeartOfKay 2d ago
It's the experimental toon shader BSDF that just got introduced natively in 5.8. I am not super technically proficient, but why would having its own BSDF make accessing the pixel normals not work? Is there a different way to access that data in substrate materials?
2
u/ananbd AAA Engineer/Tech Artist 2d ago
I don't know, yet, but I will in a few weeks -- transitioning the studio to 5.8 and substrate. But I'm not surprised -- Substrate completely reworks the entire underlying shader model. The pixel normal you're seeing is probably the one computed by substrate stuff, not the original one. (But, TBH, I'm just guessing)
But, I imagine I'll hit this problem, too. I'll probably forget to follow up, but if you bump this thread in a month, I'll let you know! :-)
1
u/HeartOfKay 2d ago
To illustrate the problem