I read all about Clipping Start and how to use the Reflection Cubemap but most tutorials and resources use very simple geometry and environments or far-away objects so my problem isn’t covered.
the Screen Space Reflection (1) doesn’t match the Reflection Cubemap (2) in multiple ways: placement & size
dark edges due to the Clipping Start being inside the geometry because the object is long
What I tried so far:
placing the Reflection Cubemap farther away with an appropriate clipping start. This produces very “far-away” reflections as one might expect. The Custom Parallax didn’t help.
scaling the Reflection Cubemap instead of changing the Radius, this had no effect.
using multiple Reflection Cubemap objects, unfortunately, they don’t combine as I hoped and produce multiple dark edges instead of smoothing reflections.
Is there any way to achieve what I need in EEVEE? Thanks.
Here’s the file that I took screenshots from: tmp.blend (350.8 KB)
In the probe’s settings, you can set a visibility collection, so the object is ignored when baking the reflections and doesn’t self-reflect. You could also turn off the object’s render visibility when baking it.
By their very nature, reflection probes are inaccurate because they capture only a single point of view and stretch it across objects. They are used to give objects approximate reflections, because that looks better than no reflection at all, but don’t expect something that’s fully accurate. If I understand correctly, the screen space reflection should be the accurate one, but it can only reuse what’s already on screen.
If you need fully accurate reflections, no.
However, if you only need a few reflective objects in your scene, it should be possible to re-render just those in Cycles without it taking too much time and composite them back on top of the Eevee image. This is something I have done on a few occasions when the full scene would have been too long in Cycles.
You have to first render your scene in Eevee like usual. Then, you do a second render in Cycles where every object is set to holdout except the reflective ones that you need, and where the background is set to transparent (check “transparent” in the film tab of the render settings and save the output in an rgba format). This will create a render with only the reflective objects on a transparent background, which you can then composite on top of the Eevee render easily.
If you are familiar with Blender’s compositor and having multiple scenes in the same .blend file, it’s even possible to set it up so it’s all automated in a single render.
Thanks, I was so focused on coming up with a solution I haven’t even considered Visibility Collection. That takes care of the dark edges.
Yeah, I never expected it to be super accurate, but I thought I was doing something super wrong or that there’s a “correct” way to set this up so the differences between SSR & Reflection Cubemap aren’t that large.
After setting up the Visibility Collection I played a bit with Size & Custom Parallax and I think that’s the best we can do with the current functionality.
I haven’t considered this method, but I’ll definitely try it.
Thanks a lot, all in all, I think this is the best we can do in EEVEE, but you definitely fixed some of my issues