Reflective Water

What is the best way to do reflective water. I don’t need the water to be translucent just reflective. The screen space reflections don’t look right.

I tried using screen capture 2d as set up in the Reflections scene in content examples. It works as long as I don’t scale the reflection plane, scaling the plane distorts the reflection. But I need the plane to be as big as a lake, or at least, if I tie the water plane to the player, big enough so that the player can’t see the edge of the plane.

Am I missing something with the screen capture 2d set up?

Is cube capture the way to go?

I recommend this material tutorial
Very effective, accurate looking finish

I did this tutorial to start from but Im more interested in the reflections looking nice than any scrolling normal maps or refraction etc. I am trying to simulate a perfectly still lake or pond

The existing chrome material will be a good starting point if you’re interested in perfect reflections. Don’t forget to add a reflection sphere.

the chrome looks good on small objects that are contained within the screen space. But if you apply it to a plane for instance, then scale it up to make a lake, large black areas show up on the plane as it is only reflecting things on screen.

That is because you are missing ambient light and a cubemap capture. Add a skylight or add environement color in world properties and rebuild lighting. The add a static cube reflection actor.

Static cubemaps require baked indirect lighting to show up. Screens space reflections do not. This appears to be confusing many people. I wonder how we can make the lack of static reflections without indirect lighting more clear.

A tutorial would be super helpful. Ive done all of the UE4 tutorials on Materials that y’all posted and they were great, but didn’t include this information.

Just to be clear all I would need is

  • a reflective material on the ground (white base color, metalli
  • things for it to reflect (trees, walls)
  • skylight
  • static cube reflection actor

I have all these in my scene but my reflections still look like this:

No that looks correct. Before you mentioned blackness outside of the screenspace reflection. What you have there is a cubemap reflection. The chairs would be too small to reflect super accuratel with only a single reflection.

If you want them to reflect though, add another sphere capture with a smaller radius.

If that plane is translucent, I believe that tralucency doesn’t get the multi-cubemap parallax blending, so that may be as good as it gets without either screenspace or a full rendered reflection. Make it opaque to see what the cubes look like in that case.

I think I can get around the reflections not being dynamic. How would I go about doing a full rendered reflection? is this rendering to a 2d texture? If so Ive had problems whenever I scale the plane that I am rendering to.

Under the Visual tab add a “Sphere reflection Capture” to the scene and under the Lights tab add a “Sky Light” to the scene. Then you just need your ground to have a material with 0 in the roughness and 0.5 - 1.0 in the metallic (or a water material) and you’re good.

Also another way to “fake” reflections is to simply duplicate the geometry (chair) and flip it underneath itself and make your “floor” semi transparent.