How do you do a simple matcap in Unreal Engine? I have the basic math done, and it works as intended - until the object is at the edge of the screen and you get an awful seam, after which the matcap texture mirrors! Every implementation I’ve come across and tried myself has the same problem. I think the problem has something to do with screenspace pixelnormals.
Just to make sure, this solution doesn’t work after adjusting signs and a ConstantBiasScale?
[PixelNormalWS]–[Transform(World to View)]–[Mask(RG)]–UVs input of [Texture Sample]–Emissive input of [Material]
It works when faced straight on, in the middle of the screen, as long as the object isn’t too big. It “breaks” in every other scenario, and by that I mean it mirrors near the edge of the object. Since making this thread I have a settled on a botch where I scale the matcap to the object’s bounds a little, and then project onto the surface. It looks a bit weird at screen edges with reasonable FOV but it’s good enough so that you can’t tell unless you’re looking for it.