冯硕
摘要:在三维渲染中菲涅尔(Fresnel)的概念变得更为广泛,除了涵盖上述菲涅尔反射(Fresnel Reflection)的概念外,还包括了在各个常见材质通道上使用菲尼尔的方法,它不再单纯指反射的效果,更多的是指某一属性随着视线夹角而产生变化的现象。
关键词:渲染、三维、菲尼尔、反射、Fresnel、Reflection
菲涅尔(Fresnel)是三维渲染中最常见的概念之一,广泛应用在影视动画和游戏的工作流程之中。很多类型的材质都离不开菲尼尔的参与,它可以帮我们实现写实和抽象的材质效果。菲涅尔可以控制材质的表面颜色,反射、折射程度以及金属性、透明度等通道的变化,提高我们在创作中的灵活度,是我们在三维创作中重要的工具之一。
菲涅尔(Fresnel)最早指的是菲涅尔反射(Fresnel Reflection)这一概念,这是一种真实的物理现象在计算机图形学中的实际应用。菲涅耳公式(或菲涅耳方程),由奥古斯丁·让·菲涅耳导出。用来描述光在不同折射率的介质之间的行为。由公式推导出的光的反射称之为“菲涅尔反射”。菲涅尔公式是光学中的重要公式,用它能解释反射光的强度、折射光的强度、相位与入射光的强度的关系。在三维渲染中,通常可以用kd,ks,kt(分别代表物体的漫反射系数,镜面反射系数,透射系数)来简单地描述一个物体的基本材质,例如,我们将一个物体设置为:kd=0,ks=0.1,kt=0.9,即代表一束光击中该物体表面后,其中的90%发生透射(折射),另外10%被表面反射回来。这代表了无论光线以何种角度击中物体表面,它的反射率和透射率都是一样的。但是实际生活中是否是这样的呢?试想,你站在湖边,低头看脚下的水,你会发现水是透明的,反射不是特别强烈;如果你看远处的湖面,你会发现水并不是透明的,反射非常强烈。简单的讲,就是视线垂直于表面时,反射较弱,而当视线非垂直表面时,夹角越小,反射越明显。如果你看向一个圆球,那圆球中心的反射较弱,靠近边缘较强,这就是“菲涅尔效应”。不同材质的菲涅尔效应强弱不同,导体(如金属)的菲涅尔反射效应很弱,就拿铝来说,其反射率在所有角度下几乎都保持在86%以上,随角度变化很小,而绝缘体材质的菲涅尔效应就很明显,比如折射率为1.5的玻璃,在表面法向量方向的反射率仅为4%,但当视线与表面法向量夹角很大的时候,反射率可以接近100%,这一现象也使得金属与非金属看起来不同。
目前,在三维渲染中菲涅尔(Fresnel)的概念变得更为广泛,除了涵盖上述菲涅尔反射(Fresnel Reflection)的概念外,还包括了在各个常见材质通道上使用菲尼尔的方法,它不再单纯指反射的效果,更多的是指某一属性随着视线夹角而产生变化的现象。例如,创建影片或过场动画时,使用者通常需要一种更好的方式来凸显人物的轮廓。这种光照技术通常被称为"边缘光照",它牵涉到添加额外光线,以便将人物轮廓从背景中区分开来。虽然此技术会让影片增色不少,但是向3D场景添加更多光照同时也意味着复杂性的增大,情况可能难以掌控。很多三维软件就为此提供了一些解决方案,使美术师能使用角色材质来模拟相同的基础效果。 如此一来,美术师便能更好地掌控效果的观感,甚至通过一些技巧来提高性能,这就是菲涅尔(Fresnel)在自发光通道上的应用实例。
简单来说菲涅尔(Fresnel)就是指光照基于观察者的角度來形成不同强度反射的现象。菲涅尔材质表达式节点将根据表面法线和相机方向的点乘积来计算衰减。 当表面法线正对相机时,输出值为0,这意味着不应出现菲涅尔效果。 而表面法线与相机垂直时,输出值为1,这意味着将产生完整的菲涅尔效果。比如我们用菲涅尔(Fresnel)来控制材质的颜色通道,菲涅尔(Fresnel)作为一个采样工具会告诉我们一个起伏的曲面上每个点的采样值,这个采样值介于0-1之间。同时我们可以连接一张渐变贴图,渐变贴图的色彩也可以理解为0-1的线性变化,比如一张蓝绿贴图,蓝色代表0,绿色代表1,中间过渡部分代表0-1之间的数值。那么采样值为0的点就会被指定为蓝色,采样值为1的点就会被指定为绿色,中间值将会被指定为过渡颜色。通过这种方法,我们就可以方便的控制物体表面的渐变颜色了,而菲涅尔(Fresnel)的采样值起到关键的作用。再比如我们用菲涅尔(Fresnel)来控制材质的透明通道,菲涅尔(Fresnel)作为一个采样工具会告诉我们一个起伏的曲面上每个点的采样值,这个采样值介于0-1之间。同时我们可以连接一张黑白渐变贴图,渐变贴图的色彩同样可以理解为0-1的线性变化,黑色代表0,白色代表1,中间灰色部分代表0-1之间的数值。那么采样值为0的点就会被指定为黑色,变得不透明,采样值为1的点就会被指定为白色,变成完全透明,中间值将会被指定为过渡的灰色,变成不同程度的半透明效果。通过这种方法,我们就可以方便的控制材质的透明效果了,比如我们可以让物体的中间比边缘更透明一些,这可以让我们制作的材质更加真实,当然我们也可以反其道而行,制作一些抽象的效果,甚至更改黑白贴图为彩色贴图,制作出更有趣的效果,很显然这个工具让我们的工作更加灵活。
除此之外,菲涅尔反射(Fresnel Reflection)还会影响到我们的材质类型,当反射被定义为没有菲涅尔反射时,即视线垂直表面和非垂直表面的反射相等时,这时材质更接近于金属材质,反之则更接近于非金属。综上所述,对菲涅尔(Fresnel)的理解和灵活使用对三维材质的理解和使用都起到重要作用,值得我们深入研究和实践。