Home Unreal Engine

Anisotropic material solution?

a3D
So, I've been reading a bunch of threads and discussions, googling for hours now, looking for a way to replicate an anisotropic surface inside UE4.

The answer so far is basically: none of the shaders in UE4 support this.
This seems to be somehow related to deferred rendering (is it true? why?)
You must code your own shader if you want to have directional light reflections.

And they are all like "yay, of course, thank you" and then I suppose they go and write their shader, which they already know how to code.

My problem is - I don't (yet?). No experience with coding shaders. Unfortunately, I need anisotropic reflections, so it appears I've got to learn how.
This is not something I'm happy to do; I'd honestly rather avoid delving in programming, as long as another way exists. Learning how to code sounds kind of a disproportionate effort in order to attain a single task.

Here is the question.

-Is there really no other way around it?
-If It just can't be helped, what are some good learning resources to introduce the subject that I can understand with no prior knowledge?

Replies

  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    I can't give you a detailed answer, but probably there is no way for doing it without coding, and its because you can't make a custom lighting model, because of the deferred rendering. If you could do it anyways, it would be a pain, because you would have to recreate the whole physically based shading, including the diffuse, specular, and everything. UE3 (UDK) does support anisotropic lighting by the way, so maybe it would be a better choice for you now.
  • ZacD
    Offline / Send Message
    ZacD ngon master
    There's a few ways to fake it, what material are you trying to make? There's examples of hair shaders, and brushed metal can be done with a normal map.
  • a3D
    Brushed metal for now, will also need hair later.

    What you said is very promising.
    How do you make anisotropy with a normal map?
    Is it as simple as converting a brushed metal map -or a motion blurred noise- to normal map (i.e. with crazybump or ndo) or there's something else to it?
  • ZacD
    Offline / Send Message
    ZacD ngon master
    Yeah, you got the right idea, works pretty well in some cases. Think of it like vinyl records, the material itself isn't anisotropic, but the grooves give it that look.
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    The easiest way would probably be to create an example scene in Marmoset, which fully supports anisotropic reflections through the use of a flow map ; and then post that example on the Unreal forums to see if someone experienced with Unreal materials and shaders can help you recreate it.
  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    That technique can work in the case of the brushed metal, but I'm not sure about that it would look as good as the aniso thing. Also it can become very noisy and aliasing problems can appear at distance. But it worth a try, for sure.
  • ZacD
    Offline / Send Message
    ZacD ngon master
    It's definitely horrible for some things, like hair and CDs. Really depends on the scene, scale, and material. And you have to make sure it isn't mipping away at normal view distances.
  • a3D
    I think I'll make some trials and share results.

    One idea that has occured to em is to bend the hipoly with a defomer, just slightly, as to simulate directional light.

    Pic related:
    644g1u.jpg

    This will unfortunately make actually SHORTER reflections on the axis of interest, as opposed to longer reflections,

    BUT

    the overall look might suggest anisotropy well enough, if combined with a detailed brushed normal map (vinyl style)

    I'll share results for scientific purposes
Sign In or Register to comment.