1
$\begingroup$

When I display my glossy object with viewport shading in the default world, the result is quite nice (works also with scene lights):

Screen space showing nice glossy material

However, if I use my scene world (which is basically the final render) then it becomes ugly (note that I enabled and baked the irradiance volume):

Ugly final render

If I enable screen surface reflections, the result is not amazing (and it even breaks the result without scene world), and it's also slower:

Material Preview is ugly with surface reflections

Any idea why the default lightning gives great results, and do you know how I could apply it to my setting?

Here is my material and scene: screen capture of material nodes

$\endgroup$
3
  • $\begingroup$ blender.stackexchange.com/questions/128499/… $\endgroup$
    – scurest
    Apr 24 at 14:19
  • $\begingroup$ @scurest, I'm not sure to see how it helps: why EEVE can render perfectly worlds with HDRI, but fails dramatically when there is no HDRI? Does that mean that I can't use metal in EEVE if want to reflect anything else than HDRI? $\endgroup$
    – tobiasBora
    Apr 24 at 14:35
  • $\begingroup$ Was a response to how to get the default world. Does a regular glossy sphere show your world correctly? Are you sure its not mostly gray just because your world is mostly gray? $\endgroup$
    – scurest
    Apr 24 at 15:02
2
$\begingroup$

Your object looks different in material preview than in your final render because you have a highly reflective glossy surface and in material preview the preview HDRI is contributing things for the surface to reflect, but with just your scene lighting there's nothing to reflect.

The object is much darker with world lighting because the HDRI from material review is contributing more light to the scene than your lighting panel.

The comment pointing you to the other question was meant to point out that if you used an HDRI in your world, you would not have this problem. Here are some examples.

material preview: material preview

Mine looks different than yours because I have a different HDRI in material preview.

world space, low lighting, no HDRI:

low light

world space, high light, no HDRI:

more light

world space, different HDRI:

HDRI

In the last I selected film->transparent in render properties.

Without transparency:

no transparency

Lighting matters a great deal in what a material looks like when it is rendered.

You add an HDRI to your world lighting by going to the node editor, selecting "World" rather than "object"; selecting "Use Nodes"; and then adding something like this:

HDRI for world lighting

Then open up an HDRI in the orange box and that applies that HDRI to your world lighting.

$\endgroup$
1
  • $\begingroup$ Thanks a lot for your help, and for pointing me towards HDRI (+1). However, it does not actually solve the problem in the good way because it does not add the good reflection (the reflection added is the one from the world, and not from the neighbouring objects). I finally found how to solve my issue, cf my answer. Thanks for putting me on the right path! $\endgroup$
    – tobiasBora
    Apr 24 at 17:23
1
$\begingroup$

Ok, I understand what's happening now. Marty Fouts, is partially right, but it does not provide a way to actually solve it in the correct way (or actually not the way I want). But it definitely helped me to understand the problem, thanks a lot, and using HDRI may be enough for simple worlds. The problem was not the luminosity (I could add as many sun as I wanted, the problem was still the same), and adding an HDRI first was not enough, and more importantly it does not solve the problem the way I want because it may not reflect the appropriate content.

So I had actually two problems:

  1. The first problem is that when you add new things, like an HDRI image, you need to re-bake the luminosity (I'm using a plan emmiter to keep compatibility with cycle). Once I was doing that, it was slightly better, I could indeed see some sort of reflection with the HDRI, but it was not doing what I wanted, i.e. reflect the plane on the sphere as cycle was doing...
  2. The second problem is that EEVE has a strange way to deal with reflection (either in metal or in glass): by default it takes the world, even if an object is in between (that's why HDRI gives you some sort of reflection, but not the one you want). The solution in fact is explained greatly in this tutorial: for any surface that reflects stuff (which is the case of our cube) and for glass objects, one must put a reflection cubemap (shift-A > light probe > reflection cubemap), around the precise object that must reflect the light, and bake the cubemap (you can also click "auto bake", it does not rebake always, but sometimes it is enough). This cubemap (as I understand) will basically take a photo of what is around, and consider it as a local "world". For that reason, if you have multiple objects, then you must add one cubemap per object, otherwise they will not reflect each other. To take this "photo", EEVE will also scan what is around it... and if it finds nothing, then it just puts the world (HDIR...). But this scan may not be far enough, in that case you will reflect the world instead of the object. Anyway, all these details and more are explained here.

Here is now the same result, after adding a cubemap:

enter image description here

and here is my setup:

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.