My struggle with unreal and reflections continues..

A friend was playing Dota 2 and I couldn’t help but notice those reflections : ). Yes I know from what i read and heard so far that such reflections aren’t possible …yet, but I felt like posting this perhaps I may be missing something and it could be done somehow or it is in development.

There’s a bunch of ways to do reflections like that.

  • Screen space reflections
  • Mirroring the character/meshes and using a semi transparent material for the water that distorts the meshes below it.
  • Use reflection billboards, Epic gave an example of this in their live stream about VR Bullet Train.
  • Use a Scene Capture 2D actor 1.7 - Scene Capture 2D | Unreal Engine Documentation
  • SSR doesn’t work it won’t reflect off-screen objects (notice tree branches reflected in water), plus it has hard time sampling on mirror like surfaces and has many artifacts when two surfaces come into collision with each other.
  • I wouldn’t know how this would work, perhaps an example would help? wouldn’t it also complicate things further or require certain functions to tell when and how to reflect/mirror things etc.?
  • This is probably the closest thing to look into so far, but last i checked Epic haven’t released the sample file yet to look into how it is done and whether or not if it works for this sort of thing, but yes it is interesting and I was waiting for the sample file.
  • Scene capture 2d doesn’t work either for many reasons such as lack of accuracy when two objects are near or in contact with each other, and using dynamic capture for moving objects has a substantial effect on performance as well, among other things.

I understand perhaps the angle of the sample image above helps cheat these effects better, but still it works and I still hope there was a better way to do such reflections for individual “hero” objects at least, while using SSR as well elsewhere, but in order to do that, we also need to have a method to exclude objects from reflecting in SSR somehow to have those reflections replaced by some other method. This would help have best of both worlds i guess.

  • Mirroring the character/meshes and using a semi transparent material for the water that distorts the meshes below it.

That technique is pretty much how reflections were originally done in games, and still is often used for mobile games and VR games. I think Diablo 3 uses it in some places if I remember correctly. It might be ideal for a MOBA game, but I’m not sure how you would do it with baked lighting or strong reflections on the character/terrain.