Closed golddotasksquestions closed 5 years ago
Is it possible to fix this at all if one uses the procedural sky's reflection?
Idk. I was hoping someone with insight into Fresnel reflection rendering / environment mapping would help out with their expertise.
The environment is reflected based on the roughness and metallic settings of the material. This is why the default material in Godot now has roughness set to 1 and metallic set to 0. That isn't going to apply to any material that was created before this change was put through even if you're now on 3.1 stable, only on new materials you create the settings will have that default.
The reflectiveness of the environment you see in those two videos are thus correct for the settings of the material, if you don't want the environment reflected, turn up the roughness and turn down the metallic settings until it looks good.
Also keep in mind that the procedural sky is incredibly uniform, what you're seeing is the reflections of the sky behind you, not seeing through the material, that illusion is simply caused by the uniformaty of the default sky. Load in a proper HDRI and you immediately see what is really going on.
The other problem here that people forget is that it's an ambient lighting feature that isn't effected by other geometry, so if other geometry sits between your object and the sky, the sky still reflects. It would require a raytracer to fully fix that (bring on RTX ? :) ). You can use a GIProbe or well placed reflection probes to get some middle ground here.
The environment is reflected based on the roughness and metallic settings of the material. This is why the default material in Godot now has roughness set to 1 and metallic set to 0.
That's good news. Closing the issue because it does not seem to happen anymore with the current default material and is expected result if no GIprobes are placed and metallic settings turned up.
Godot version: 3.1 stable
Issue description: Environment map is reflecting through geometry on the default material (possibly because of Fresnel reflection which brings other ugliness with it: https://github.com/godotengine/godot/issues/19561) This makes the level look "see through", as if opaque geometry is semi transparent.
Examples: Here, especially visible when jumping, going up the stairs, though it seems always slightly present: https://youtu.be/Lq5Dmo6t46s?t=96 https://youtu.be/Lq5Dmo6t46s?t=282
Here: https://twitter.com/GammaGames/status/1111193086317617153