Home Technical Talk

Water Light Reflections in Unreal Engine

polycounter lvl 5
Offline / Send Message
Nexussfire polycounter lvl 5
Hey there. I'm working on some visual effects for a level I am working on but I've hit a bump with an effect that I can't really find any info on.

I want to create an animated water light reflection that looks something as nice as or close to this :

water-light-patterns-1049425-sw.jpg



And what I have is this:

waterlightreflection_by_silvercleric-d61ymyr.gif


Is there a method or a better way to make this look good? Right now I have a material setup on a panner/rotator and hooked into a spotlight as a light function. But it looks... crumby, even raising the texcoords to make the texture a bit smaller.

Replies

  • BARDLER
    Options
    Offline / Send Message
    BARDLER polycounter lvl 12
    Have you tried doing it with a decal? I feel like that would be the quickest and most straight forward way to do it. You would probably get the best results with vertex painting the texture effect to the areas where you need it.
  • Harbinger
    Options
    Offline / Send Message
    Harbinger polycounter lvl 8
    Light functions are the classic way of achieving this. It looks like you just need to massage your material and/or texture some more. Can you show your material setup?
  • Xoliul
    Options
    Offline / Send Message
    Xoliul polycounter lvl 14
    Yeah just use lightfunctions. You can add include/exclude volumes for those as well. Then just get a proper material going. It doesn't look that bad so far.
  • Adam L. Gray
    Options
    Offline / Send Message
    If you need some more refs and an idea of how it works, then these things are called caustics :3

    I know there's applications which can automatically generate an animated and tiling caustic pattern for you.. though, iirc they also cost a bit, which, feels a bit wasteful.

    And, I think the reason it looks crumbly is that you got some more random crackly pattern rather than the more cellular formations you'd normally see.

    Actually, found some here:

    Free for non-commercial. Think you can export as a flipbook squence?
    http://www.dualheights.se/caustics/

    Not sure what lisence there are under:
    http://www.dgp.toronto.edu/people/stam/reality/Research/PeriodicCaustics/

    /edit: Oh, for the last one:
    " If you are going to use these texture maps, please make sure to acknowledge me and/or my company." Can't find any mail adress or anything, but his name, Jos Stam.

    Hope that helps
  • Nexussfire
    Options
    Offline / Send Message
    Nexussfire polycounter lvl 5
    Thanks for the responses! I kept them as a light function (decals were a bit to tricky to size up) and found a better caustic texture to work with (helps to know the actual term.) With some tinkering I've gotten it looking a lot better. I'll post a new gif of it a bit later on this evening.
  • Xoliul
    Options
    Offline / Send Message
    Xoliul polycounter lvl 14
    You could do some tricks like warp (offset) the UV coordinates with a panning (blobby) normalmap texture, that's always good for water-like movement.
  • leleuxart
    Options
    Offline / Send Message
    leleuxart polycounter lvl 12
    It looks like the texture is being projected in a lot of different areas(or are those cloud shadows?). I ran into that problem as well, especially with using planes(lights seem to go through them sometime). What I did is place a few block static meshes around that were hidden in game and don't cast a shadow, but they still block lights. I can't remember if there was a volume that did this...
  • Ace-Angel
    Options
    Offline / Send Message
    Ace-Angel polycounter lvl 12
    They already so this in UDK, check the GDC Jungle scene to see how they did it.
  • Nexussfire
    Options
    Offline / Send Message
    Nexussfire polycounter lvl 5
    5d99a0ac5633b1804c66a91ff4d38e26-d622tr0.gif

    The improvement with the right kind of texture. (Slightly shaky because I took this with my phone.)
Sign In or Register to comment.