Home Unreal Engine

Faking transparency utilizing reflections.

polycounter lvl 11
Offline / Send Message
jackalope polycounter lvl 11
I'm not sure if this is an Unreal question, or just a shader question in general. I basically want to fake transparency by showing the reflections from the opposite side of the model. My thought is that a sort of inverted normal would render the inverted reflections captured by the reflection actors. For specific reasons I can't use traditional transparency. Also it doesn't have to be very precise since the end material will distort it (think a very thick rough block of glass, water, or ice). Any thoughts on this would be cool.

Replies

  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    That could work but I don't think it would look anything like transparency. If you cant use transparency for performance reasons, you could have an unlit translucent material, with a cubemap for reflections. If you also need roughness map, you could lerp the mip levels of the cubemap based on the roughness map. Should look pretty good, but of course not as good as the real one. You can also play with the mip gen settings of the cubemap. There is blurring ones as the mip drops. 
  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    This is how it would look like:


    Less rough:


    I should use this more often hah...

    There is also a fairly cheap way to have basic diffuse lighting from a directional light.
    You could just take the dot procuct of a vector and the vertex normals. Or if you want normal map too then pixel normal world space instead.
  • jackalope
    Offline / Send Message
    jackalope polycounter lvl 11
    Thanks for the replies Obscura. That seems like a pretty good method, I might have to look into that if my way doesn't turn out well.
Sign In or Register to comment.