创建时间
Mar 27, 2023 06:49 AM
标签
Tags
技术详解
渲染
Origin
zhuanlan.zhihu.com
没想到有一天写个文也要内卷了。 各位大佬们都已经这么拼了,我也只能往下限再更探一步。
免责声明: 1、本文涉及的内容自洽 (it works) 且接近物理表现,但非物理正确 2、本文超级简单,所以也没有多少技术含量
正文开始,首先请出本文的演员,一个切了一刀的球 (侧视):
notion image
然后我们让摄像机对准演员的正脸,给个环境光,先来看一组效果:
notion image
从上面的图我们引出第一组知识点,对于非金属来说: 1、物体表面的着色分为两部分,Diffuse 表示漫反射着色,Specular 表示镜面反射着色,两者加起来就是最终的渲染结果。 2、镜面反射的强弱受视角影响,当视角与物体表面垂直时,反射非常微弱 (普遍在 4% 左右,几乎看不出来)。物体表面和视线夹角越小反射越强,在接近平行的时候,可以得到类似镜子的效果。 3、不论什么颜色的非金属,Specular 颜色都是一样的 (光色 * 百分比)
第 1 条是整个 PBR 的根基。但是其实可以不用一上来就硬啃背后的公式算法,完全可以先把这个事情当作一种法则,对于美术来说可以不用管背后的原理,而新手程序也可以先把下面的东西熟悉了之后,再去查资料深入了解。
而第 2 条,就是著名的菲涅尔效果了:
notion image
notion image
notion image
然后我们再来看第二组效果。
notion image
从上面的图我们引出第二组知识点: 1、金属没有漫反射,Specular 是啥颜色最终就是啥颜色。 2、不同颜色的金属,Specular 颜色是不一样的 (光色 * 物色) 3、从最终结果上来说,透过黄色的非金属和黄色的金属去观察白色的墙,金属上观察到的结果是 (白色 * 黄色),非金属上观察到的结果是 (黄色 + 白色 * 百分比)
然后我们再来看第三组效果。
notion image
notion image
从上面的图我们引出第三组知识点: 1、Roughness 只影响 Specular。 2、Roughness 越高 Specular 越模糊,Roughness 为 1 时 Specular 看上去就像颜色比较暗淡的漫反射。
然后我们再来看第四组效果。
notion image
从上面的图我们引出第三组知识点: 1、Metallic 决定 Diffuse 和 Specular 的比例分配。Metallic 越高 Specular 所占的比重越高。 2、Diffuse 和 Specular 的总和能量恒定,一者提升另一者必然降低。
当然,这里面涉及一个问题就是,Metallic 到底可不可以是非 0 非 1 的中间值。 其实从微观层面上来讲,在 PBR 体系下一种物质要么是金属,要么是非金属,不是 0 就是 1。但是从宏观层面讲,金属度贴图就这么点像素。当金属表面覆盖灰尘时,一个像素里 50% 是灰尘,50% 是金属,为了还原视觉效果这个值只能取 0.5。所以 Metallic 当然也就可以是小数。
最后补一点,前面讲了 Diffuse 和 Specular 加起来就是 Final Color。 这里就再提一句很多时候的称呼不规范问题。
有的项目把基础色贴图叫做 Diffuse 贴图,其实严格来说这种叫法是有问题的。 这张图可以叫 Albedo,也可以叫 BaseColor,但就是不适合叫 Diffuse 因为 Diffuse 从意思上来说就是讲光射到物体表面上扩散开来 (光 + Albedo)是因,(Diffuse)是果。
有的 PBR 资源网站同时提供了 Albedo 贴图 + Diffuse 贴图,其中 Diffuse 就是光照之后的图。
如果不区分这两个东西,下资源是可能会出问题的。 > 本文由简悦 SimpRead 转码