Eevee reflections - I don't get it

I’m in Eevee. Viewport shader: Rendered

I have a HDR world shader called “empty_warehouse”
I have a rounded cube mesh. Rotated-Z 45, Roughness 0, Metalic 1.
The cube reflects the HDR world as expected.

I add an image and align it so that it should reflect off the cube also. (I confirmed this by switching to Cycles. Reflection is as expected)

(Back in Eevee) I add a Reflection Cubemap and align it.
No image reflection.
I search around in the various settings and blindly try different things.
Still no image reflection.

What am I, stupid or something?

EVreflect.blend (1.7 MB)

it’s not as accurate as a ray traced reflection.

1/ Tweak the clipping cubemap so it start outside the box :
image

2/ bake indirect lighting :
image

3/ not perfect but it works :

Sadly, not for me… Set clipping as per you, and baked. Nope. Rendered. Nope:

refl2

yeah, I’m not sure in that particular case it will work.
you can try reflection plane in that case.

Try to put objects around the cube to see when they start to appear in the reflections.

These cubemaps are more a cheat than anything, it work best for subtle reflections ,
Probably not the best example, but in a render like that it can help to give better reflections on objects on the table :
image

But these reflections won’t be super accurate, so for a closeup, something like that :


It’s very unlikely that the cubemap will get accurate reflections of the hands, SSR (screen space reflection) can work to some extend but there will be holes anyway.

You might consider trying cycles for that !

Sorry, can’t afford Cycles. I am but a simple hobbyist, with limited resources.

If I really need reflections, I’ll go back to 2.79 - Internal.

Hum, you can try to use cycles without bounced light and take advantage of some optimization like scrambling distance, I’m not sure how would that compares to internal but at least you can keep an up to date release.

And finally if the surface is planar like in your example, reflection plane in eevee will work great.
it’s for other kind of surfaces that there are some issues !

Good luck !

Like car bodies?

yeah,
Basically the plane reflection is accurate since it do a symmetry and it’s easy to compute.

The cubemap works differently, it uses some kind of a cube and make a render on each face,
something like that :
image

Then this is mapped into the object’s reflection, just like an environment map ( HDRI ).
This works well in general, but it’s not that accurate and it’s obvious when an object touch the reflective surface.

But in a case like this :

It’s difficult to see if the reflection is accurate or not, it’s probably not perfect but good enough to be believable.

Hope that helps !

I don’t quite know what level of experience you have with rendering (or if you are willing to go to that length), but when I have a similar situation, I like to render just the reflective object in Cycles and the rest of the scene in Eevee.

You can do this by putting all the other objects in a collection set to “holdout”. Then, you render with transparent background. The other objects will be invisible to the camera, but will appear in the reflections. You can then layer the resulting image on top of an Eevee render and have a single object rendered in Cycles.

If you know about having multiple scenes in the same file and how to use them in the compositor, it’s even possible to automate the entire process so it happens on its own at render time.

I have thought about trying this idea before, but wasn’t sure how to do it.

Thanks! Maybe you’ve inspired me to give it a try and figure it out. :+1: :+1:

If I was to look for a tutorial, what would I “search”

for ?

Thanks.

I have found this tutorial about putting Eevee volumetrics into a Cycles scene. It isn’t exactly the same, but the principle is very similar.

Final Update(?)

Yep, this was just what I needed to make myself learn about compositing.

I now have a project that I can “Save As…” that has an Eevee scene and a Cycles scene. Just add or append objects into the appropriate scene and Wha-Lah!

Thanks so much for your help.