这篇教程向学习Maya的朋友们介绍用Maya做玻璃的三种材质,同时也讲述了这三种材质做玻璃效果的方法和差别。先看看最终的效果图:
在这次演示中,我们将利用Maya的布林材质,渐变纹理和采样信息节点。同时我们也要使用Mentalray的电介质材质和新的mia_material。本教程的用户应注意到我还使用了Mentalray作为我的渲染器,同时为了得到真实的效果还打开了 “final gathering”、“global illumination”、“caustics”。
使用布林创建玻璃
我们的第一步就是创建玻璃杯几何体。虽然很简单,但是我们需要保证建立的曲面(这里使用的nurbs创建的)的底部是比较厚的(就像一个真实的玻璃杯),见下图。
下一步,我复制了几个,然后设定好场景。渲染设置列出,如下图所示。
理解玻璃包含哪些内容:
这里有几个部分需要我们去实现。首先要注意的是,玻璃是一种透明的实体。虽然这是最明显的,但是我们不能忽略玻璃底部厚度产生的微妙的透明度变化。第二,玻璃的反射,这样我们又得研究它的反射率是如何的,它的表面是镜面反射的,因此没有太多的漫反射在其上。最后,玻璃是一个折射表面,它比空气的密度更高使得它能弯曲光线。
让我们脱离这些因素来细看:
透明度:如前所述,玻璃是透明的。但是当我们越靠近物体的边缘时它就越显得厚。在玻璃的这些边缘,实际上我们看到的是一个密度很高的材质。让我们这么想: 当航天飞机脱离大气层直线上升时,只要通过62公里就能到达外层空间。相反,如果你站在珠穆朗玛峰的峰顶,并同时能看到南方和北方,你可能要看到两个方向的150英里以外(总共300英里)才能看到大气层外围。当我们观察玻璃边缘时,事情是一样的,我们其实看到了更多的“物体”,自然边缘的透明度就更低一些。
反射:应用与以前一样的原则,在玻璃杯的边缘总会变的很古怪,接下来我们了解一下菲涅耳效应。当你观察一个反射物体时,它的反射数量取决于你的视角。如果你以垂直角度直视一个水池,你就可以通过表面的最小反射率看到下面的水。在一些特定的角度,你更有可能看到水上方的情况,而不是下面的。所以,当我们给材质添加反射时,我们也必须研究这些边缘效果,使得在面对摄像机时如何让其法线方向少一些反射,而在其边缘时多一些反射。
镜面反射(相对于漫反射):我们必须遵循对于玻璃来说的漫反射光谱。在大多数情况下,因为它是一个高密度的硬物,需要给它一个低的漫反射值和较高的镜面反射值。然后,我可以控制它的光泽度来决定这个玻璃杯是否是磨砂的。
折射率:最后,因为我们的玻璃是一种比周围空气密度大的介质,我们需要计算它的折射率。下面的图给出了提示。我们可以很快看到玻璃的ior的值为1.52(也有可能是1.5和1.55之间的值)。如下图的玻璃所示,它的正面是正常的,但是在它内部和后面的物体形状发生了改变。著名的例子可以看左边的图,这就是所谓的“stick in the pond”。由苏格拉底第一次提出这个理论,秸秆是不是真正弯曲。而事实上我们的眼睛看到的是通过玻璃和其中的水两次弯曲后形成的图像。这一概念有一个名 字:电介质(稍后我们将使用电介质材质)。
好了,掌握了物理上的一些原理,下面我们开始赋予材质。让我们首先尝试使用Maya的布林材质来制作一个真实的玻璃。首先,我会把颜色和漫反射调到很暗,以免影响玻璃的外观。将透明度设置的很高(尽管我们不久将赋予材质)。偏心率低一 些,“specular roll off”高一些,“specularized”很高(少一些光泽),稍后将给反射率赋予材质。注:我没有给反射颜色通道赋予材质是因为我给了这个场景中的玻璃杯一个实物环绕,如果场景中只有玻璃杯,那么我们就要给这个通道赋予一个图片用来表现反射。
看起来太差劲了。主要是缺乏对折射率的调节,接下来我们来让折射率起作用。
这样看起来好多了,但是玻璃的厚度和反射仍然太均匀,是时候添加一些渐变来控制了。
厚度:让我们首先添加一个渐变控制透明度。我们将使用Maya的采样信息节点控制这个渐变。首先,我将创建一个渐变纹理并将其连接到玻璃的透明度上。渐变从黑到白,因此它仅控制alpha信息,白色更加透明,越黑则越不透明。
这将直接连接(默认)渐变到uvs上。这是一个v向的渐变,我们可以连接采样信息节点下的“facing ratio ”属性到渐变下的“v-coordinate”下。这样会使渐变获知玻璃上有多少面的法线是面向摄像机的。渐变的顶部将表现出面向摄像机的玻璃的面,底部则表现垂直于摄像机90度的面的效果,然后,我们再次进行渲染。
现在让我们依据菲涅尔效应建立反射率。
菲涅耳效应:我们要建立一个渐变来连接到反射通道上。别称为“双向反射分布函数”,我们的目标是建立一个渐变得到一个相似的值来实现一个物体是如何反射的,不管是我们从一个低角度观察或是相对应的高角度。当建立好后,渐变应该如下图所示。
我们的超视图应如下所示(注意:我又使用了信息采样节点)。
这里是我们的渲染结果。
最后,让我们添加一些模糊让其更真实,使用Mentalray我们可以巧妙地模糊反射和折射。
完工!我们成功的使用布林实现了玻璃的效果。
创建玻璃使用电介质材质
我现在已经建立好了第二个杯子同时赋予了它Mentalray的电介质材质。属性栏里只有个选项值;这是因为所有的在布林中需要连接的材质它都已经处理好了。这个材质的默认属性是一个高强的镜面/反射面,我们全部要做的就是设置ior值为玻璃的值就行了。ior_out值也极为重要,它代表着玻璃周围的物体的密度值(现在的环境下是空气)。因为当下我们的杯子中有水,所以我们要设置ior为1.33,ior_out值为1.46。下面是我们渲染的结果。
太简单了,尤其是在使用Mentalray的新材质mia_material后,它就变的更加简单了。
使用mia material创建玻璃
mia_material是一个超酷的、物理精确的材质,它可以模拟几乎任何表面。从兰伯特或“oren- nayer style diffuse surfaces”,金属,金属拉丝,各向异性,玻璃,宝石,金属光泽,磨砂材料,半透明表面。它基于环境闭塞,最终聚会(每个对象的基础上),菲涅尔反射(brdf的)和metalicity。此外,它还带有预置效果。让我们现在创建mia_material。
选择正确的预设(你会发现有许多可供选择),渲染并获得效果图。
好了,我们已经研究了在Maya中利用3种不同方法来创建真实的玻璃材料。下面是三个杯子的最终效果对比。