Currently I am learning PBR by Unity3D. I find that even I turn the smoothness to 1, I can still see the diffuse lighting effect, which does not make any sense to me.

Imagine I trace a ray from my eye to the mirror, and I do importance sampling based on the material's brdf, there are only two options, hit the light source or not. However, I find that if I set the metallic to be 0 and smoothness to 1, there will have large amount of area illuminated.

enter image description here

  • 5
    $\begingroup$ Unity is a real-time engine, it doesn't do ray tracing for you out of the box. $\endgroup$
    – Hubble
    Mar 2 '19 at 7:17

Dielectric materials (which is what you get when metalness is 0) don't exhibit a mirror-like effect. Think of a sheet of smooth, non-transparent plastic. Real-life mirrors are panes of glass or transparent plastic covered with a thin layer of metal. Try a white base colour (1,1,1) and full metalness (1) instead.

As Hubble pointed out in his comment, Unity won't do full ray tracing for you out of the box, but it should be able to do some approximation with screen-space reflections and local reflection probes.


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.