Missing vital SceneCaptureReflectActor for real-time planar reflections

Hi,

A couple of years back, i was playing with UDK and created this :

As you can see, it has realtime planar reflections all over the place (mirror, glass planes, and basically on everything thats flat and shiny)
All these reflections were created with the SceneCaptureReflectActor. To my surprise, this Capture Actor is missing from UE4.

Without it, reflections like those seen in the bathroom demo are impossible to create in UE4. Ive seen this issue brought up a couple of times, but without a solution.
(Nope, static Scene Capture 2D Actor wont create this sort of effect, and nope screen space reflections are not the solution as they can only reflect stuff thats currently visible in the frame)

I do believe it would be a great addition to the engine as its filling voids where the current reflection solutions are falling short. and i would love to see it reimplemented in Unreal as soon as possible.

So i was hoping to get some insight from the Epic staff, on why is this feature missing, and if it will be implemented in the near future.
After all its a basic feature that has been in games for many many years (14 year old Deus Ex for example), and yet its missing from UE4? That doesnt seem right.

Screenspace reflections will give that effect for the most part, but since it only reflects what’s also visible there can be cases where it doesn’t work and it has to use reflections from the reflection probes.

I disagree, probes and ssr are great for glossy surfaces, or for something with distinct shaped mesh, but for flat smooth surfaces (mirrors, glass planes), its useless at times
65197b9038fb426acd42d3ab4cd3cc671a2a89c8.jpeg
for me, this isnt acceptable

I mean, feel free and try to create a realistic mirror surface, or a perfectly smooth floor that reflects chairs and tables sitting on it.
as far as i know, it isnt possible with SSR and probes. Not without a SceneCaptureReflectActor

You can actually turn up the quality, the main issue in those images is that the bottom of the chair isn’t rendered which is why it’s not reflected. Most of the time though you wouldn’t have a floor that’s that reflective. In the situations in the video you posted it would work really well, where there’s not surfaces underneath things to be reflected, mostly just reflecting walls and cabinets. Also, good thing about SSR is getting realtime reflections on non-planar shapes.

yea that was just an example, but lets say i do want perfectly smooth floor thats reflecting stuff around it without artifacts, which is not possible with ssr, no matter how high the settings are. (although in 90% of cases i would use it for mirrors and flat glass planes)

my problem with this is that its not anything fancy, its not voxel based gi, or self shadowed paralax mapping.
its a simple planar reflection actor that existed in udk and even in games 15 years ago, and yet its missing from UE4? why’s that ?

Not all of the features in UDK have been replicated in UE4 yet, so it’s possible that it’s still yet to be added, and I wouldn’t be surprised since there’s no solution that would actually work for a mirror. For now though, it works fine for what most people are doing.

thats why im trying to bring it to the attention of the right people that can (hopefully) do something about it
yea, i saw this issue posted a couple of times on the internet or the answerhub,
but only advises were really bad ones (like using the Scene Capture 2D will work for a mirror, which is an absolute nonsense)

It’s definitely something we want to support, but just haven’t gotten around to yet. The reason it’s had fairly low priority so far is that planar reflections tend to be so expensive (have to re-light and re-render the entire scene for 2x cost!) that they get cut in any decently sized level. But for small showcases the cost is acceptable and the visual benefit is huge as you noted.

I totally agree with bukkit.

Ive been testing unreal4 for a while and I appreciate this tool to help my archviz project. As you can see, UE4 could satisfy most of my customers’ quality requirement EXCEPT EXCEPT EXCEPT mirror effect (planar reflection)!. All the solutions (SSR, capture actors) can’t fit our requirement, plz give us the choice to pay the render cost to get the best quality. Thanks UN4 staffs.


I lost a huge archViz client to UE4 because we couldn’t create a mirror, so maybe the priority should be bumped up just a little bit.

Yep…same thing here! Sadly, there is a scene capture 2d actor which can also capture in realtime, however, I was not able to find a way that works to hook it up in the material. I tried it the same way as back in UDK, but screenpos does something different now and it just looks messy all the time, no matter what I do. Why cant I get this to work, even if all the components necessary are already provided? Seems that just how the shader handles it isnt working anymore. And btw…it still works with cubemaps, just not with the planar capture :frowning:

I guess that for anything that does not require playable frameraters or give user an abundance of freedom, you can pretty much hack scene 2d capture actor to imitate mirror with decent amount of realism.

Still no plans about implementing a solution for planar reflections?
It would be sooo good for archviz.
Take a look at this: Fashion Show Demo | Blend4Web
If even an HTML5 scene can have this kind of reflection, wouldn’t it be easy for UE4?

Without news about this ?

i`m agree with bukkit too , it a really important thing and hope epic do something to fix this .

beautiful scene ,
for mirror’s you can use the 2d SceneCapture actor , with blueprints to get the reflected vector. which resembles the PlanarReflectionCaptureActor
https://forums.unrealengine.com/showthread.php?39212-mirror-material&p=332244&viewfull=1#post332244

video tutorial:
watch?v=Ux9VFZL_DcM

it’s important

In Unreal Engine 4.10.4 still missing SceneCaptureReflectActor :confused: I still hope that will be added after release some AAA game (it’s really base stuff). I started hate “popping” ScreenSpaceReflections. SceneCaptureReflectiveActor from UE3 can’t be replaced with SceneCapure2D(=just ugly point rotating camera).

the video is private

What’s this?

changelist 2921682
3/24/2016 4:23:45 PM

Planar reflections

  • New actor and component
  • The scene is rendered to texture with a mirrored camera and a clip plane each frame
  • The reflection texture is then applied to opaque pixels in a deferred pass, with distance and angle from plane fades
  • Translucent materials apply the nearest reflection plane in the base pass
  • Planar reflections require the project setting ‘Support global clip plane for Planar Reflections’ to be enabled

Amazing :slight_smile: Thanks!
Is that in 4.11? Still haven’t transitioned to it.