I wanted to change the image that got reflected/refracted in the surface of objects in eevee. So, I set up an environment node, loaded the image and plugged it into the world surface shader.
All of a sudden, everything lights up, but I didn’t want everything to light up, I was told by this website that this method was the correct way to change the image that was reflected. What setting makes the lighting go back to normal but keeps the newly reflected image?
Lowering the power of the lamps to 0 has literally no effect on this, which doesn’t even make sense. If I add a brightness node to the environment node and turn it down until it’s black, the shading goes back to normal which again illustrates the dilemma.
To adjust the lighting that the background contributes, lower the Strength slider on the Background node.
Some node gurus here might be able to help you achieve a more controlled result (e.g., maybe there is a way for the reflection to be localized to the object you want to reflect it without interacting with other objects), but I’m not to guru level yet.
The environment can only emit light. If it did not emit light, there would be nothing for your materials to reflect. This light will affect all the shaders in the scene which respond to light, including glossy, diffuse, glass, and principled BSDF. This is the physically correct method; in the real world there is no such thing as light which only affects reflections.
We don’t have to have perfect realism if we don’t want it, though. The effect you’re searching for is perfectly valid. You just have to use a light path node:
This is the simplest setup possible. In this example, the background will appear to have a strength of 1.0 for anything that is a reflection, and 0.0 (completely dark) for anything that is not a reflection.
If you want Environment image only affects reflects, you can use second alternative method. You create huge sphere over the scene and use Environment image on this sphere. This is oldest Environment image method. And for Eevee, you must use “Screen Space Reflection” and “Bake Cube Map”.
You can add reflection map per material in nodes, and it works in Eevee and Cycles, but why?
But you add it as an emission lookup, and “roughness” will have to be done with coord blur.
While not ideal, I have no idea why someone wants to use these ancient techniques today.
I haven’t used these techniques since the 90s, and then to speed up recursive raytracing.
Only reflection though afaik. We don’t have means to calculate based on refraction.
I’ve worked with a lot of lighting and rendering techniques, scanline was never one of them.
I only use Cycles, and I never bothered with Blender until some time after Cycles got here.
Flattening by projection to a flat plane is not yet supported in Blender. The only world limitation I know of.
I do everything in Blender. Sounds like those other “professional software” has some limitations of their own?
I’m only using Cycles. I have no idea what you’re talking about. Certainly in this very non complicated case. I have no idea why you’re bashing and so negative - maybe it’s time to head back to the superior “3ds max → lightwave → maya” to get the job done.
Reflection coords for the win. I’m sure you’ll figure it out
I tried looking, but finding something when you can’t remember what to look for was harder than I expected. Others will have to pitch in on this one. It’s basically visually collapsing the lower hemisphere of an HDRI (camera only? not sure) to a plane. So if HDRI is a street, your object sits “on the street surface” instead of the street surface being infinitely far behind. Great in combination with shadow catcher. It’s not critical for me as I don’t use HDRIs that much, certainly not for finished renders, but it would look good on the feature set.
I know. We don’t have the socket, but we can achieve similar effects for reflection.
Holy crap. Mental ray had to rely on this? Also note it has highlight gloss, another relic from way back when.
CubeBaking is a less than ideal option, but it’s not impossible. If you can make a compelling case for CubeBaking rendering an accurate reflection during an animation that has its own procedural roughness/specular/normal/etc map, that would be a solution.
Did you try my method? I confess I don’t understand how an environment doesn’t emit light. How can there be reflections without light? Exactly what kind of behavior are you trying to achieve?
The environment should obviously be lit up by light sources, not emit light itself. If you had an Earth with no sun or lamps or visible stars, everything would be dark, regardless of the fact that the Earth is a relatively huge environment to us. Your method mostly resembles the others. It tries to mask the strength with yet another node, but it still lights up the dark areas controlled by the lamp that shouldn’t be lit at all, unless I add a multiply node and turn it completely black which then defeats the purpose of adding it in the first place.
Energy is energy - it doesn’t matter if it’s emitting itself or reflecting energy. In attached the teapot on the left adds material based “reflections only” (does not affect diffuse floor, but will show up in glossy floor) to a regular glossy shader. This breaks energy conservation obviously. The middle one is using environment map and sun only (recommended). The right one uses same environment map trick as the shown nodes, but without blur (in old days you’d blur the map, not this coordinate trick) and glossy shader - the floor is not reflected at all. The left and right method are deprecated these days, and decades ago we used this method to gradually blend between local expensive reflections and replacing distant reflections with a map lookup - however, we used tricks back then that are not available to Cycles as a path tracer, and Eevee doesn’t allow to properly trace rays. Maybe max does it better - who cares - it’s a deprecated method of doing things!
The “Environment”, or “World” in Blender- that is to say, the sky of the scene, to which an HDR image texture is typically added- can only emit light. It does not react to any light objects in your scene, much like turning on a light in your house does not affect the brightness of the sky.
Your method mostly resembles the others. It tries to mask the strength with yet another node, but it still lights up the dark areas controlled by the lamp that shouldn’t be lit at all, unless I add a multiply node and turn it completely black which then defeats the purpose of adding it in the first place.
The enviroment lights up dark areas because the environment is a light source. It adds light to your scene, and it does so globally, like a big sky around everything. That is what the environment does. If you want things only to be lit by light objects, you should only use those light objects for lighting.