深入了解VRay材质的属性
来源:magicfox
作者: 韩涌(译)
原英文链接: http:///vray-materials/
[/url]
要创建逼真的材质,首先必须理解VRay的材质(当然,前提是使用VRay作为渲染器),VRay的材质类型有很多,目前已达13种之多(如figure-1所示),但除了VRayMtl之外,其它的几种只是在特殊效果时采用,最基本的、最常用的、适用率最高的,依然是VRayMtl。本文将指导你如何利用VRayMtl材质,来创建更多的材质类型。
figure-1
可能有人会问:我有SigerShaders全套材质库,拿来就用,效果也非常好!为什么还要学自己创建材质?是啊,笔者也认可这种说法,在商业项目中,效率往往是第一位的。那么,既如此,本文的意义何在?花时间写这篇文章不是多此一举吗?引用:记住,参数是一种特殊的语言,学会了本文的内容,不仅能让你创建逼真的材质,也能让你看懂别人创建的材质。这样,站在巨人的肩膀上举一反三,对提升自己的功力是大有好处的。否则,你如果不了解参数的意义,即使给你最好的材质,你依然不理解原创者的思路。无法变幻出其它的材质效果。拿别人的材料,也能做出自己的味道,才是真正的厨师——李大嘴。
VRayMtl材质的默认效果
VRay材质的默认效果如图figure-2所示,这是一个平淡无奇的灰色调材质。它好比一个无以伦比效果的基本条件,一切都从这里开始……
figure-2
Diffuse[漫反射]组
Diffuse是对象的基本颜色,当我说番茄的颜色的时候,你立即能想到红色,这就是基本颜色。如果你想到了其它的颜色也没关系,绿色的番茄炒肉片也是很好吃的!现在,问题来了——
为什么要把对象的基本颜色用Diffuse来表示,而不是Color?
这是因为我们称之为颜色的属性,其实就是所见对象表面漫反射光的颜色。如果想进一步了解漫反射,可以自己百度一下。这里只要记住,漫反射指的就是对象的基本颜色就行了。在材质编辑时,漫反射颜色又有三种变化,见figure-3所示。
figure-3
左侧:Diffuse为绿色的颜色;中间:Diffuse为位图纹理;右侧:Diffuse为程序纹理
Roughness[粗糙度]用来描述对象表面细微的颗粒,它能让颜色看起来能加平坦,使对象看起来像蒙了一层灰尘。想想石膏的表面和砖的表面,都是非光滑、无反射的表面,但粗糙质感的程度是不同的。figure-4中反映了不同的粗糙度造成的细微差别。
figure-4
最右侧粗糙度为1的图,看起来比左侧粗糙度为0的图亮度更高,受光面更平,受光范围更大
深入了解VRay材质的属性
来源:magicfox
作者: 韩涌(译)
原英文链接: http:///vray-materials/
[/url]
要创建逼真的材质,首先必须理解VRay的材质(当然,前提是使用VRay作为渲染器),VRay的材质类型有很多,目前已达13种之多(如figure-1所示),但除了VRayMtl之外,其它的几种只是在特殊效果时采用,最基本的、最常用的、适用率最高的,依然是VRayMtl。本文将指导你如何利用VRayMtl材质,来创建更多的材质类型。
figure-1
可能有人会问:我有SigerShaders全套材质库,拿来就用,效果也非常好!为什么还要学自己创建材质?是啊,笔者也认可这种说法,在商业项目中,效率往往是第一位的。那么,既如此,本文的意义何在?花时间写这篇文章不是多此一举吗?引用:记住,参数是一种特殊的语言,学会了本文的内容,不仅能让你创建逼真的材质,也能让你看懂别人创建的材质。这样,站在巨人的肩膀上举一反三,对提升自己的功力是大有好处的。否则,你如果不了解参数的意义,即使给你最好的材质,你依然不理解原创者的思路。无法变幻出其它的材质效果。拿别人的材料,也能做出自己的味道,才是真正的厨师——李大嘴。
VRayMtl材质的默认效果
VRay材质的默认效果如图figure-2所示,这是一个平淡无奇的灰色调材质。它好比一个无以伦比效果的基本条件,一切都从这里开始……
figure-2
Diffuse[漫反射]组
Diffuse是对象的基本颜色,当我说番茄的颜色的时候,你立即能想到红色,这就是基本颜色。如果你想到了其它的颜色也没关系,绿色的番茄炒肉片也是很好吃的!现在,问题来了——
为什么要把对象的基本颜色用Diffuse来表示,而不是Color?
这是因为我们称之为颜色的属性,其实就是所见对象表面漫反射光的颜色。如果想进一步了解漫反射,可以自己百度一下。这里只要记住,漫反射指的就是对象的基本颜色就行了。在材质编辑时,漫反射颜色又有三种变化,见figure-3所示。
figure-3
左侧:Diffuse为绿色的颜色;中间:Diffuse为位图纹理;右侧:Diffuse为程序纹理
Roughness[粗糙度]用来描述对象表面细微的颗粒,它能让颜色看起来能加平坦,使对象看起来像蒙了一层灰尘。想想石膏的表面和砖的表面,都是非光滑、无反射的表面,但粗糙质感的程度是不同的。figure-4中反映了不同的粗糙度造成的细微差别。
figure-4
最右侧粗糙度为1的图,看起来比左侧粗糙度为0的图亮度更高,受光面更平,受光范围更大
Reflection[反射]组
Reflection在这里特指光滑表面的镜面反射现象,这个世界上大多数物体的表面都是有反射的,如铬合金、塑料、油漆等等。最简单的判别方法就是,你观察对象的表面,能否清楚的看到高光?如果你还不能理解,看看下面的figure-5,想想红砖的表面,无论多么光滑都是看不到高光的。而铬合金,无论打磨的多么粗糙,依然会有高光,只是高光的大小和强度不同而已。这是因为,所谓的高光,其实就是表面对光源的反射。100%漫反射的因为没有镜面反射,所以表面是不会有高光的。引用:这里笔者提出以高光这个视觉要素来判断表面是否需要考虑使用Reflection参数,对于大多数有美术教育基础的同学来说是很容易识别的。因为笔者在教学实践中发现,很多初学者不能正确的判断是否应该给材质加反射。其中很主要的原因就是,他们通常认为只有那些经过抛光处理的表面才需要加反射,而对很多微弱的反射不敏感。比如涂刷了清漆的表面,初学者可以正确识别这一属性加上反射,但对于磨光的原木,则常做出错误的判断,不加反射。其实,这个世界上的材料,大多数都是有反射的,只是程度不同。
figure-5
在figure-5中,你一眼就能看出左侧铬合金球是有反射属性的,但右侧的红砖呢?你会认为它没有反射。其实,从严格的物理意义上讲,宇宙中除了黑洞是没有反射,其余的物质都是有反射的。当然,艺术是可以超越现实的。给不给红砖这样的材质加反射属性,完全取决于你的思路。不过,无论给还是不给,红砖的视觉效果看起来,依然应该是粗糙无光的才行。(这个问题可以留给以后专题讨论)
Reflection color[反射颜色]
黑色创造没有反射的材质效果,白色创造完全反射的材质效果,中间的灰度范围表示不同的反射强度。需要注意的是,VRay继承了3dsMax的颜色表示方法,即取值范围为0~255,也就是用255表示100%反射(的确有点250的)。这意味着你如果想得到50%的反射,颜色值应该设置为128。当色值为0时,反馈为100%漫反射颜色。当色值为255时,则反馈100%的反射(像镜子一样反射周围的环境,而没有自己的颜色)。不同的反射值效果如图figure-6所示。
figure-6
反射颜色也有三种变化,一种是颜色(上面讲的是灰度,而不是真正的色彩),一种是位图纹理,另一种是程序纹理。如图figure-7所示。可以说,反射颜色也是很多初学者容易忽略的属性。因为大家通常只会使用灰度来表现反射的强度,而不理解色彩在反射中的意义。笔者的经验是,把材料分为金属性和非金属性两类,金属性材质,反射颜色中,应该体现出漫反射颜色的特点。非金属材质,反射颜色通常用不同程度的灰度即可。如果你留心观察钛金的表面反射,你会发现,即使光源是白色的,在钛金的反射中,它依然是黄色的。要实现这一点,就需要把反射颜色修改为黄色调。其它有色金属以此类推。还有一种特殊的材质就是珍珠,珍珠的反射也是有色调的。
figure-7
所以,我们一定要记住,Reflection color实际上包含两层意思,一层是指反射的强度,另一层是指反射的颜色。两者不要混淆了,尤其反射颜色不要忽视。还有一个问题,传统的技巧中,习惯在Reflection color的贴图中,加Falloff[衰减]贴图来实现Fresnel[菲涅尔]现象。这其实是过时的做法(早期3dsMax光线追踪材质的常用做法),因为现在的材质,大多数都提供了Fresnel Reflections[菲涅尔反射]选项,结合折射率来直接控制。
Reflection Glossiness[反射模糊]
反射模糊参数控制着反射的清晰/模糊,通常真实世界的对象,除了电镀金属(铬合金)、镜子等物体外,其余的对象都有不同程度的反射模糊。其实,反射模糊只是一个视觉现象,其原因是因为对象的表面不够光滑。换句话说,Reflection Glossiness[反射模糊]跟准确的定义,应该是表面光滑度。数值为1时,表示表面完全光滑,这时反射的效果绝对清晰,如镜子一般。数值为0时,表示表面非常粗糙,反射模糊到几乎察觉不到,无限接近100%漫反射效果。不过,大多数情况下,反射模糊参数都没有必要低于0.3,原因在前一句话里已经说过了,过低的数值就接近完全没有反射的效果了。不同的参数效果如图figure-8所示。
figure-8
Subdivs[细分]
当Reflection Glossiness[反射模糊]参数低于1时,VRay实际上就激活了分布式光线追踪计算方法,这种方法比起逆向式光线追踪要成倍的消耗系统资源。默认值8的意思就是说,原来要对一条光线进行追踪的话,现在就要乘以8。因为反射模糊了,需要更多的采样光线才能获得更加细腻的效果。通常,反射模糊值与细分值成反比,也就是反射越模糊,需要的细分值越高。效果如图figure-9所示。这3张图的反射度和反射模糊都是一样的,仅细分值不同,注意模糊效果的细微差别。
figure-9
Use interpolation[使用插值]
VRay使用类似irradiance map[发光贴图]的高速缓存方案来加快模糊反射的渲染速度,这意味着,无需太高的Subdivs[细分]值,也可以获得平滑的模糊反射。
Highlight glossiness[高光模糊]
如果你的目标是创建真实质感的材质,我不建议解除Highlight glossiness[高光模糊]的锁定。也就是不要点击该参数右侧的L按钮,Highlight glossiness应该保持灰色文字显示,这表示它始终与Reflection Glossiness[反射模糊]使用同样的参数。
Fresnel reflections[菲涅尔反射]
菲涅尔是一个人的名字,他发现水面的反射有一种现象,视线垂直于水面的时候,水面主要呈现透明效果,而视线接近平行于水面时,水面主要呈现反射效果。也就是同一材质的表面,视线的角度不同,其反射效果也会有变化。这时最容易被初学者忽视的属性,也是最不易理解的属性。实际上,这个世界上所有的物质在反射光线的时候,都会出现菲涅尔现象,如图figure-10所示。
figure-10
Fresnel IOR[菲涅尔折射率]
如果要获得真实的反射效果,除了激活菲涅尔反射,还必须配合正确的菲涅尔折射率,注意,不同于透明物体的折射率,这里指的是菲涅尔折射率。该参数必须大于1.01,否则不会获得正确的效果。图figure-11显示了采用不同的菲涅尔折射率产生的效果,尤其注意观察,对象的边缘和中间,反射强度之间的变化。
figure-11
因为菲涅尔折射的资料太少,很多时候设置这个参数还是要靠经验,下面,给出一些常见材质的折射率,可以作为参考。
水:1.33
塑料:1.45
玻璃:1.5~1.8
钻石:2.4
金属:20~100
其他合成材料,如木材、石头、混凝土等:3~6
MAX Depth[最大深度]
在真实世界中,两个彼此相对的反射体,他们之间光线的相互反射次数是无穷的。但在计算机的世界里,每一次光线的反射都是需要消耗系统资源来运算的,所以,就不可能完全照搬真实世界。光线追踪的计算次数必须有所限制,以此来避免资源耗尽。MAX Depth[最大深度]的作用就是如此。当出现反射对象彼此相互反射时,反射光线追踪的最大深度达到设定值之后,则停止光线追踪,反馈Exit color[退出色],通常为黑色。该参数的默认值一般能满足大多数情况的需要。如果你需要确定地知道该参数设定为多少合适,不妨先把Exit color[退出色]设定为鲜艳的颜色,如图figure-12中的绿色,然后根据渲染结果来判断。具体如何判断呢?那就是,从渲染图像中看,反射对象表面不要出现明显的退出色,即使有,其像素也应笑到不宜察觉为好。
figure-12
图figure-12中,左侧最大深度为1,反射一次后即停止,退出色面积太大,不可取。中间的最大深度为3,情况变得可以接受,但依然能见到成块的绿色,效果勉强可以接受,因为如果退出色是黑色的,你基本已无法判断差异了。右侧的最大深度为6,作为反射深度,这已是较高的值了。在两侧的斜向凹槽里,还有少量绿色的像素,但如不仔细看,已经察觉不出了。因此,我们就可以认为,最大深度不用大于6了。
Dim distance[暗淡距离]
指定一个距离值,超过该距离则停止光线追终。这意味着,反射表面中,将不会反射出超过该距离值的对象。这是非真实的效果,仅作为加速光线追踪计算的一种方法。因为有时,太远的对象我们认为它对反射效果的影响已不是很大,则可以利用Dim distance[暗淡距离]将它逐渐过渡为不参与反射。
Dim falloff[暗淡衰减]
为暗淡距离设置衰减半径。
Affect Channels [影响通道]
Color Only[仅颜色]:仅在颜色通道中计算反射效果。Color+alpha[颜色+阿尔法通道]:在颜色和阿尔法通道中计算反射效果。All channels[所有通道]:所有通道都计算反射效果。Refractions[折射]组
这组参数用来控制透明材质的效果,也就是可以被光线穿透的对象材质。比如水、玻璃、钻石、透明塑料等等。
Refract color[折射颜色]
默认值为黑色,即没有任何折射效果,所有的光线都不能穿过对象。Refract color[折射颜色]为白色时,则意味着全部的光线都可以穿过对象,即完全透明的效果。其余的灰度值,可以产生不同透明度的材质效果。如图figure-13所示。与反射颜色一样,折射颜色也可以使用色彩,创建彩色的透明体。也是有三种变化,一种是颜色、一种是位图纹理,还有一种是程序纹理。效果如图figure-14所示。
figure-13
figure-14
Refraction glossiness[折射模糊]
当透明体的表面不再光滑的时候,其效果就是折射模糊,比如一块清晰地透明玻璃,透过它可以清楚地看到后面的情景,如果这块玻璃的表面用高压水枪喷射金刚砂打磨(磨砂玻璃的加工工艺),透过这块玻璃看后面的情景就会模糊。这就是所谓的折射模糊。图figure-15显示了不同折射模糊的效果。
figure-15
Subdivs[细分]
随着Refraction glossiness[折射模糊]值的降低,透明模糊效果会越来越明显,当表面出现明显噪波的时候(就是比较粗糙的杂点),则意味着要增加Subdivs[细分]值了。记住,增加Subdivs[细分]虽然可以获得更加细腻的效果,但是,也会成倍的增加渲染时间。尤其是折射模糊。注意比较figure-16中表面效果的细腻程度与渲染时间之间的关系。
figure-16
IOR[折射率]
我们将光线在空气之中的折射定义为1,当光线进入其它介质时,光线的角度会发生变化,这个角度的变化就是折射率。这很好理解,我们把筷子斜插进水里,会看前筷子好像变弯了,这就是最简单的折射现象。在创建材质的时候,不同的材料,要设置相匹配的折射率,才能获得最真实的效果。关于透明体的折射率,可以自己百度一下。
figure-17
Max depth[最大深度]
设置折射光线的穿透对象表面的最大层数,一个有厚度的玻璃是两层,也就是说,要看到一个玻璃杯背后的情景,光线需要穿过四层表面。达到设定的最大深度后,表面的背后无论有什么,都反馈为Exit color[退出色]。通常,折射的最大深度都不宜低于6。
Dispersion[色散]
打开该选项,则计算更加复杂的色散效果。你问什么是色散?很简单,菱形玻璃将白光分解成彩虹就是色散,钻石折射出彩色的光芒,也是色散。除非你是做首饰设计,通常不需要打开该选项。
BRDF[双向反射分布]卷展栏
BRDF[双向反射分布]是一个非常专业的CG术语,它影响材质的高光的形态和反射效果。在下拉列表中,列出了VRay内置的三种着色器,Phong, Blinn和Ward。Phong产生非常锐利的高光,Blinn与Phong类似,但高光的边缘更加柔和,Ward产生的高光更加柔软。默认设置为Blinn类型,对大部分材质来说似乎最好的选择。至于金属,则更适合使用Ward类型,对于玻璃,使用Phong是最合适的。
figure-21
Anisotropy[各向异性]
Anisotropy[各向异性]可以使高光产生拉伸变形,通常用于创建表面有密集划痕的材质,比如拉丝金属、头发、密集的线圈等等。注意图figure-22中中间和右侧的图像,观察它们的高光是如何被拉长(中间)和拉宽(右侧)的。
figure-22
Rotation[旋转]
可以通过修改该参数来旋转拉伸后的高光,仅在各向异性效果激活后才有效果。如图figure-23所示,拉伸后的高光被旋转了45度。注意,高光被拉伸的方向,通常与表面划痕的方向垂直才是正确的。
figure-23
UV vectors derivation[UV方向来源]
除了上面的Rotation[旋转]之外,还可以通过切换Local axis[本地轴]来改变高光的方向,不同的轴向产生的结果如图figure-24所示。
figure-24
Maps channel[贴图通道]
设置UV来源的通道。在UVW修改器中,可以设置贴图通道。这意味着,你可以专门针对各向异性高光,为对象添加合适的UV。
Abbe[阿贝折射]
与Dispersion[色散]配合使用,增加该值可以让彩虹效应更加明显,如图figure-18所示。
figure-18
Fog color[雾颜色]
Fog color[雾颜色]用来产生透明物体的吸光现象,我们知道,光线是有衰减的,在透明的介质内部,光线的衰减速度比空气中的快。如果你对这些觉得不好理解,可以试想一下,一块玻璃看起来很透明,如果十块玻璃叠在一起、一百块玻璃叠在一起,它们还会是透明的吗?所以,即使是同一透明体,其透明效果与材料的厚薄也是有密切关系的,所谓Fog color[雾颜色],就是模拟当内部光线被吸收后,透明体所呈现的颜色。图figure-19中就显示了厚度不同对透明颜色的影响。同时,它也反映了Fog Multiplier[雾倍增]值不同的效果。
Fog Multiplier[雾倍增]
快速修改Fog color[雾颜色]浓淡的方法,注意,随着雾培增值的增加,对象会变得越来越不透明,就好像物体的内部起了雾一样,雾倍增就是用来控制屋的浓度的,这么说,就好理解了。这一组参数主要用来做彩色玻璃效果,而且,特别适合做透明实体雕塑,比如首饰上的装饰或其它工艺品。
figure-19
Fog bias[雾偏移]
与Fog Multiplier[雾倍增]一样,Fog bias[雾偏移]也是用来影响透明体内部雾效的浓度的,不过,这两个参数的控制都不是基于物理性的。大多数情况下都要凭经验和结果来判断。Fog bias[雾偏移]影响的,是厚度不同时,雾浓度随厚度不同而变化的对比度,负值色调看起来更加浓烈,正值看起来更清新淡雅。它通常需要与Fog Multiplier[雾倍增]参数配合使用。
figure-20
Translucency[透光性]组
因为VRay提供了更易于控制的VRayFastSSS2材质类型来实现半透光效果,这里将忽略这组参数
BRDF[双向反射分布]卷展栏
BRDF[双向反射分布]是一个非常专业的CG术语,它影响材质的高光的形态和反射效果。在下拉列表中,列出了VRay内置的三种着色器,Phong, Blinn和Ward。Phong产生非常锐利的高光,Blinn与Phong类似,但高光的边缘更加柔和,Ward产生的高光更加柔软。默认设置为Blinn类型,对大部分材质来说似乎最好的选择。至于金属,则更适合使用Ward类型,对于玻璃,使用Phong是最合适的。
figure-21
Anisotropy[各向异性]
Anisotropy[各向异性]可以使高光产生拉伸变形,通常用于创建表面有密集划痕的材质,比如拉丝金属、头发、密集的线圈等等。注意图figure-22中中间和右侧的图像,观察它们的高光是如何被拉长(中间)和拉宽(右侧)的。
figure-22
Rotation[旋转]
可以通过修改该参数来旋转拉伸后的高光,仅在各向异性效果激活后才有效果。如图figure-23所示,拉伸后的高光被旋转了45度。注意,高光被拉伸的方向,通常与表面划痕的方向垂直才是正确的。
figure-23
UV vectors derivation[UV方向来源]
除了上面的Rotation[旋转]之外,还可以通过切换Local axis[本地轴]来改变高光的方向,不同的轴向产生的结果如图figure-24所示。
figure-24
Maps channel[贴图通道]
设置UV来源的通道。在UVW修改器中,可以设置贴图通道。这意味着,你可以专门针对各向异性高光,为对象添加合适的UV
Maps[贴图]卷展栏
在这里可以为材质的参数添加位图或者程序纹理。大部分参数在前面已经介绍过了,下面,仅介绍特殊的Bump[凹凸]、Displace[置换]和Opacity[不透明]贴图。
Bump[凹凸]和Displace[置换]
凹凸与置换都是通过位图或者程序纹理让对象的表面看起来不平整。区别在于,Bump[凹凸]是非常快速的模拟表面的起伏,但仅对较浅的起伏有用,如果表面的起伏很大的话,仅用Bump[凹凸]会产生失真,因为凹凸无法改变表面的形状,只会产生虚假的视觉欺骗。而Displace[置换]则可以真实的改变表面的造型,产生逼真的起伏,但是速度会慢很多。Bump[凹凸]和Displace[置换]效果的差别如图figure-25所示。
figure-25
Opacity[不透明]
Opacity[不透明]贴图可以非常方便的创建镂空效果,就像剪纸艺术一样。贴图中白色的像素表示非透明(即材质本身)部分,黑色的像素表示不可见(注意,是不可见,而不是透明,虽然贴图的名称里透明)。注意图figure-26中,模型条形部分是如何消失的。
figure-26
Reflect Interpolation[反射插值]
Refract Interpolation[折射插值]
这两组参数不用做过多的解释了,因为插值技术使用一种非物理性真实的方法来快速的模拟反射/折射模糊效果,因为是非真实效果,所以,如果时间允许的话,还是不要用这种方法。因为我们的目标是——创建无以伦比的真实材质!
结束语
学会了使用VRayMtl材质,已经足够你创建工作中遇到了90%的材质效果,符合28法则。同时,它更是材质编辑的基础,建议初学者在学会了一招半式之后,还是仔细地阅读本文,以获得更加全面系统地了解。这样,才足以应付工作中突发的特殊问题。因为,笔者发现,很多使用者的解决问题能力不足,都是因为忽视基础学习导致的。
|