Download

how to render anisotropic micro-scratches /Spiderwebbing effects in UE4 ..

I am working on a classic car game … after looking at the UE4 automotive materials we decided we needed a more realistic model for speculator highlights from micro scratches on the surface …
(please check the attached examples pictures )
Im assuming that this cant be done without a anisotropic shading model … along with some nicely made rotation maps / anistropy maps, but Im not really sure how to proceed .
Can anyone share any ideas abou the best way to approach this problem .

I think - solely because the light center is the place where the scratches merge to in those image really, that maybe you can fake it with a custom light profile.
It’s worth a try anyway since it would be 5 minute work vs a good hour or so messing with the material itself.

Otherwise, you can sort of detect lighting levels on the mesh like you would for a toon shader model.

its not really accurate but if you can pinpoint and fix the areas that return a full 1 from the illumination (scene color, rounded?)
You could multiply the final value to expand the area if it, and smoothstep it to get some falloff that pleases you and also cuts the values to 0/clamps things for you.

The result would be the round mask inside of which you would spin the scratches texture.

Not sure if you can convert the mask to an x/y coordinate of the UV against which to spin the texture offhand, but there might be some trigonometry to do just that I just haven’t thought about yet.
you could always manually pan the scratches texture in place though which is less math and more performant in the end.

Regardless, I think doing this with separate meshes for separate materials is best.

Scratches on one side on a double sided transparent material on the inside of the light, and opaque glass in front so you can have it not be scratched when the lights are off.
it’s similar to how you would setup reflectors/refracotrs. Or even tinted windows.

That’s how I’d go about it anyway. 1 texture and some math vs a lot of math and filtering…
assuming the light profile doesn’t cut it.

Anisotropic materials, and they’re on the roadmap for 4.24, I’d just wait for that and work on other things. It’ll get you close enough (anything better isn’t doable in realtime, literally a research topic for offline). Here’s an example video from Unity:
https://youtu.be/WUinmBe6gnw?t=30

i managed to make a start at something that looks like my source reference …

https://www.youtube.com/watch?v=0zRXPabZim8&feature=youtu.be

mainly using a normal map with custon UV directions for the scratches made in Houdini …

not perfect but a decent enough start …

I managed to get a pretty good approximation of the desired effect …

check the video

https://www.youtube.com/watch?v=zNrPKt2nkOw&feature=youtu.be