maya材质全攻略02文档格式.docx
《maya材质全攻略02文档格式.docx》由会员分享,可在线阅读,更多相关《maya材质全攻略02文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
AmbientColor:
它的颜色缺省为黑色,这时它并不影响材质的颜色。
当AmbientColor变亮时,它改变背照亮部分的颜色,并混合这两种颜色,而且可以作为一种光源使用。
通常在渲染器的使用中,我们经常会在Ambientcolor进行贴图和颜色的调整。
Incandescence:
白炽,模仿白炽状态的物体发射的颜色和光亮(但并不照亮别的物体),默认值为0(黑)其典型的例子如模拟红彤彤的熔岩,可使用亮红色的Incandescence色。
(同样也是影响阴影和中间调部分,但是它和环境光的区别是一个是被动受光,一个是本身主动发光,比如金属高温发热的状态。
)
BumpMapping:
通过对凹凸映射纹理的像素颜色强度的取值,在渲染时改变模型表面法线使它看上去产生凹凸的感觉。
实际上给予了凹凸贴图的物体的表面并没有改变。
如果你渲染一个有凹凸贴图的球,观察它的边缘,发现它仍是圆的。
注意:
它和我们之前提到过的Displacement有着本质的区别。
Bump是属于视觉上的一种假象,Displacement会影响物体的外形。
故而,前者的运算速度要远远大于后者。
Diffuse:
漫射,它是描述的是物体在各个方向反射光线的能力。
Dlffuse值的作用一个比例因子。
应用于Color设置,Diffuse的值越高,越接近设置的表面颜色。
(它主要影响材质的中间调部分。
)它的默认值为0.8,可用值为0~无穷。
说明:
Diffuse和AmbientColor在调节的过程中状态很相似,但实际不然。
Diffuse实际上自身对外界的一种反映,可以说是一种主动的反应。
而Am_bi_entColor实际上是外界对材质自身的一种影响,它是一个被动反应,而且你还可以用Am_bi_entColor作为光源去影响其他的材质。
Translucence:
半透明是指一种材质允许光线通过,但并不是真正的透明的状态.这样的材质可以接受来自外部的光线,使得物体很有通透感.(常见的半透明材质还有蜡,纸张,花瓣,叶子还有人的耳朵等.)透光不透明
TranslucenceDepth:
半透明深度,是灯光通过半透明物体所形成阴影的位置的远近,它的计算形式是以世界坐标为基准的。
TranslucenceFocus:
半透明的焦距,是灯光通过半透明物体所形成阴影的大小。
值越大,阴影越大,而且可以全部穿透物体,若小,阴影越小,它会在表面形成反射和穿透,换句话说,就是可以形成表面的反射和底部的阴影。
技巧与说明:
若设置物体具有较高的Translucence值,这时应该降低Dlffuse值以避免冲突。
表面的实际半透明效果基于从光源处获得的照明和它的透明性是无关的。
但是当一个物体越透明时,其半透明和漫射也会得到调节。
环境光对半透明(或者漫射)无影响
2)SpecularShading高光属性
1.Anisotropic:
这种材质类型用于模拟具有微细凹槽的表面,镜面高亮与凹槽的方向接近于垂直。
可以制作效果例如:
头发、斑点和CD盘片,都具有各向异性的高亮
Angle:
由于Anisotropic材质的高光不象其它Shader的高光一样是圆形的,它的高光区域像是一个月牙,所以导致Anisotropic材质出现了角度控制,可以控制Anisotropic的高光方向。
SpreadX和SpreadY:
是控制Anisotropic高光在X和Y方向的扩散程度,用这两个参数可以形成柱或锥状的高光,可以用来制作光碟的高光部分。
Roughness:
是控制各项异材质的高光粗糙程度的,所谓粗糙程度在我理解主要就是控制高光大小。
当我们把值设为0的时候,我们会看到一个很小的亮斑;
值等于1时,此时的高光面积很大,但是高光的亮度也会下降。
FresnelIndex(菲涅耳指数):
是控制高光强弱的,当值为0时,我们将不会看到高光(看起来挺像Lambert),当我们把值向右拖动时,高光会逐渐显现出来。
SpecularColor:
是控制高光颜色的,我们可以根据颜色的设定来控制高光的色彩。
Reflectivity:
反射率。
是控制反射能力的大小的。
ReflectedColor:
反射颜色。
由于在我们的渲染过程中通过光影追踪来运算故然真实,但是渲染时间太长也是我们无法忍受的,所以我们经常可以通过在ReflectedCol_or中添加环境贴图来模拟反射(我们也称为伪反射)从而减少我们的渲染时间。
AnisotropicReflectivity:
是一个判断选项。
当打开此选项时,上方的Reflectivity将失去作用,Maya会自动运算反射率,如果关闭则反之。
Reflectivity这个参数在打开和关闭光影追踪都是同样起作用的。
2.Blinn:
这种材质具有较好的软高光效果,是许多艺术家经常使用的材质,有高质量的镜面高光效果,所使用的参数是EccentricitySpecularrolloff等值对高光的柔化程度和高光的亮度,这适用于一些有机表面。
如铜、铅、钢等。
Eccentricity(离心率):
主要是控制Blinn材质的高光区域的大小。
SpecularRollOff:
主要功能是控制高光强弱的。
Specularcolor、Reflectivity、Re_flect_edColor在之前讲过的各项异材质中介绍过,这里我就不在重复了。
3.Lambert:
它不包括任何任何高光属性,对粗糙物体来说,这项属性是非常有用的,它不会反射出周围的环境。
Lambert材质可以是透明的,在光线追踪渲染中发生折射,但是如果没有镜面属性,该类型就不会发生折射。
平坦的磨光效果可以用于砖或混凝土表面。
它多用于不光滑的表面,是一种自然材质,常用来表现自然界的物体材质,如:
木头、岩石等。
4.OceanShader
这是从Maya4.5版本以后新添加的Shader,它主要应用于流体。
可以适用于:
海洋、水、油等液体。
Specularity:
同样是控制OceanShader的高光大强弱的,值越大高光越强。
Eccentricity、Specularcolor、Reflectivity同Blinn参数
5.Phong
Phong有明显的高光区,适用于湿滑的、表面具有光泽的物体。
如:
玻璃、塑胶等.利用cosinePower对Phong材质的高光区域进行调节。
CosinePower(余玄率):
是控制Phong材质的高光的大小的,值越小高光的范围就越大。
6.PhongE
PhongE与Phong的材质很相似,PhongE在高光的控制放面它更胜一筹,因为它新增了一些控制高光的参数,它能很好地根据材质的透明度为控制高光区的效果。
更加便于我们的操控。
PhongE实际上是Phong的一种变异类型。
控制高亮区域的柔和性
Whiteness:
控制高亮区域的高光点的颜色
HightlightSize:
控制高亮区域的大小
Whiteness和SpecularColor是有区别的,SpecularColor是控制这个高光区域的颜色,而Whiteness是控制高光区域中的最亮部分的颜色。
换句话说Whiteness是附属于SpecularColor的。
7.RampShader
RampShader不同于其它的高光属性,它可以在每个控制高光的参数中又细分出很多渐变的控制,这样操作可以是Shader的高光形成不同的颜色过渡,有甚者可以使它变成很多有层次的颜色变化,可以出现很多奇妙的效果。
Specularity、Eccentricity:
分别控制Shader的强弱和大小
控制高光的颜色,但是颜色不再是单色了,是一个可以直接控制的Ramp(渐变)。
它可以控制颜色的位置,颜色及渐变的类型
SpecularRollOff:
是控制高光的强弱,但是它新添加了用曲线来控制,如选择曲线上的点所在的位置、值的大小还有曲线的形式。
在我们使用某一个属性的滑条时一般默认有一个范围,例如我们左图SpecularRollOff属性,在默认的情况下是0-1的范围,但是当我们通过数值的输入一个大于1的值时,我们会发现滑条的位置和范围都变化了如右图。
我们今后可以通过这样的控制来提高Shader的某一属性。
左图是默认为1的状态右图是我将值设定为10的状态
3)SpecialEffects特殊属性
这里所指的特殊属性实际上就是就是我们经常提到Glow光,它会在渲染之后自动添加一个Glow的效果。
表面上我们会认为它的参数只有这么一点,但实际上我们需要调节更多属性的话,我们可以通过Hypershade中的ShaderGlow来控制Glow的颜色、强度等等更多参数。
我们先来看看了解自身的这两个参数。
HideSource:
是个开关,可以控制是否隐藏物体。
下图是隐藏模型只有Glow效果。
GlowIntensity:
是控制Glow的强弱的。
仅仅这几个参数是不够的,我们来介绍另外一部分可以控制Glow属性的ShaderGlow的
GlowAttribute属性,这个参数是一个整体控制的参数。
我们双击ShaderGlow可以弹出如下的面板
GlowColor:
是控制Glow光的颜色的
是控制Glow的强弱的
GlowSpread:
是控制Glow的扩张的
GlowEccentricity:
是控制Glow的大小的
GlowRadialNoise和GlowStarLevel:
是控制Glow的形状的。
可以呈现十字的星状。
GlowOpacity:
是控制Glow的不透明度
GlowRingIntensity:
指的是光环的强弱,实际上就是控制光晕的强弱
GlowRingFrequency:
是指光环的的频率,控制的是光晕的大小
GlowFilterWidth:
指的是像模糊一样的滤镜的模糊范围.
注意:
ShaderGlow实际上是整体控制Glow的参数,如果改变了ShaderGlow的参数那麽其他Glow的属性将会全部遵循这个变换的参数,直到我们的下一次调整。
我们来试着做一下霓虹灯效果。
建立霓虹灯管
创建一个SurfaceShader材质。
设置OutColor为泡泡糖粉红色。
设置OutGlowColor为深红色。
把材质赋给字体。
看一看最终的效果。
5)MatteOptions不透明遮罩
这个选项在合成中的用处很大,它让你对每一种材质渲染出来的alpha值进行控制。
尤其是在分层渲染的时候。
MatteOpacityMode共有三种模式分别是:
OpacityGain、SolidMatte、BlackHole
OpacityGain:
这是MatteOpacity的缺省模式,先计算出alpha值,然后用MatteOpacity乘与它。
因为MatteOpacity的缺省值是1,0,渲染出来的alpha值不会改变(1.0*x=x)
其公式是:
物体的遮罩参数=渲染后遮罩数值*MatteOpacity。
可以通过调整MatteOpacity值来获得下列效果:
a.对MatteOpacity的值做动画。
当在0—1时,在合成的时候就可以做出淡入的效果;
当在1—0时,是淡出的效果。
b.给MatteOpacity加贴图,特别是动画的贴图,或者图片序列,可以产生有趣的合成效果。
SolidMatte:
当MatteOpacity使用SolidMatte模式时,会使用MatteOpacity的设置,而忽略计算出来的alpha值,整个物体的透明度设为MatteOpacity属性的值。
如果你需要物体具有特定的alpha值,这就十分有用。
它可以得到一个固定的遮罩数值。
物体的遮罩数值=MatteOpacity
例如,你有一个透明的物体,渲染出来的alpha指通常就是0,SolidMatte可以用来为透明物体设一个不是0的alpha值,如果你要渲染一个透过窗口的视图,希望合成到另外一个场景里面,用SolidMatte模式把窗口材质的MatteOpacity值设为1.0就可以做到这一点。
BlackHole:
在解决合成的问题上,BlackHole模式就十分有用,这个模式把RBGA设为(0,0,0,0),为了使物体正确的组合起来,BlackHole在最终的渲染图片中挖去了一些区域。
这里先要给大家提一种新的概念,就是分层渲染,什么是分层渲染呢?
就是我们将制作的场景文件按照合成的要求,将场景的中的物体分别放置在不同的层,然后通过层渲染(在RenderGlobals可以设定,详细请看在RenderGlobals的设定)将文件一一渲染出来,然后导入后期的软件(比如Shake、Combustion、Dfusion、Aftereffect等合成软件),将它们逐个合并起来。
这样做的好处就是可以场景的每一部分分别进行调整(包括比例、校色、复制、特效的添加等)。
头盔衬垫护目镜合成后的文件
如果我们对后期软件有所了解的话,我们知道刚才提到的那些合成软件都是一种二维的合成软件,换句话说在我们通过层的形式叠加的时候,只有两种结果要么A在B的前面,要么B在A的前面(假设我们这里有两层分别是A和B)。
但是在三维中就不止这两种结果。
我们分层渲染的图像如下
B图和C图的Alpha通道的图像
我们看到了上图,我们可以试验一下在后期软件中如果直接将A图+B图+C图(包括我们看到的B、C的Alpha通道)能不能等于D图的状态,经过试验后我们的答案是不可以的。
这是合成后的效果。
(此处本人所使用的合成软件是Shake)
发现这并不是我们所需要的效果,这就需要我们在分层渲染的时候从新做设定。
如何才能处理呢?
我们其实就可用到BlackHole的这个选项。
操作如下:
首先我们先将图片中的的背景和罐子也就是(图片A和B)先渲染出来,然后再将木槌和和罐子重新放在新的层中,将罐子的材质的MatteOpacity属性的MatteOpacityMode设定为BlackHole,然后再渲染,就可以了!
这时我们来观看一下渲染合成后的效果。
我们可以得出A+B+C=D的结论了。
B图和C图的Alpha通道的图像
5)RaytraceOptions光线追踪
是一个开关属性,打开此开关才可以有光线追踪的效果,当然同时还要打开Ren_der Global Setting\MayaSoftware\RaytracingQuality\Raytracing打开(这个选项就是一个总的开关,只有此选项打开,所有的光影追踪的属性才能生效)
RefractiveIndex:
折射率。
指的是光线穿过透明物体时被弯曲的程度。
(是光线多一种介质进入另一种介质时发生,如空气进入玻璃,离开水进入空气。
折射率和两种介质有关)。
当射率为1时不弯曲,常见物体的折射率如下:
a.空气/空气1;
b.空气/水1.33;
c.空气/玻璃1.44;
d.空气/石英1.55;
e.空气/晶体2.00;
f.空气/钻石2.42
RefractionLimit
光线被折射的最大次数,计算机低于六次就不计算折射了,一般就是6次,次数越多,运算速度就越慢,钻石折射次数一般算为12。
如果RefractionLimit=10,则表示该表面折射的光线在之前已经过了9道折射或反射。
该表面不折射前面已经过了10次或更多次折射或反射的光。
它的取值为0~无穷,滑杆的值为0~10,缺省值为6。
LightAbsorbance:
光的吸收率。
此值越大,对光线的吸收就越强,导致物体的反射和折射下降。
SurfaceThickness:
表面厚度。
实际上是指介质的厚度,通过此项的调节,可以影响折射的范围。
一般来说可以将一个面片渲染成一个有厚度的物体。
ShadowAttenuation:
阴影衰减。
是通过折射范围的不同而导致阴影范围的大小控制。
ChromaticAberration:
彩色相差。
它是一个开关选项。
光线在穿过透明物体的表面时,在不同的折射角度下会产生出不同光波的光线,。
效果很像三棱镜的效果。
ReflectionLimit:
光线被反射的最大次数,同折射限。
如果ReflectionLimit=10,则表示该表面反射的光线在之前已经过了9道反射。
该表面不反射前面已经过了10次或更多次反射的光。
它的取值为0至无穷,滑杆的值为0—10,缺省值为1。
ReflectionSpecularity:
此属性用于Phong、phongE、Blinn、Anisotropic材质。
此值是减少由于光线跟踪而产生的很细小高光的抗锯齿效果的,把此值设置成1是它的默认设置而且也是最好的效果。
它对高光的控制有着很大的贡献。
(它只对有高光的Shader产生效果)
6)ExtraAttributes其它属性
可以自行添加出Shader以外的属性,便于我们对材质的控制。
主要用来驱动关键帧和粒子属性的添加。
其中主要分为AttributeName(属性名称)、DataType(数据类型)、NumbericAttributeProperties(数字属性的范围)
可以通过材质的属性编辑器选择Attribute\AddAttribute
AttributeName:
可以创建一个属性的名称(不能输入中文及数字)
DataType:
共有六种数据类型分别是
a.Vector(矢量类型):
它可以出现X、Y、Z世界坐标系的形式
b.Float(浮点类型):
它可以出现一个Slider(滑条),它可以以小数形式进行精确控制
c.Integer(整数类型):
同样也是一个滑条,但是只能够以整数形式控制。
如1、2、3
d.Boolean(布尔形式):
可以出现一个ON/OFF按钮
e.String(字符串形式):
可以在提示符后输入数字或名称
f.Enum(全称enumerated,列举形式):
可以出现一个下拉菜单,可以在EnumNames(列举名称)中添加我们所需要的名称,如Green、Blue、Red等
NumericAttributeProperties:
可以输入最大值,最小值,及默认值,如果不输入任何值,将认为其范围是正无穷到负无穷。
四.特殊Shader
标准材质的属性我们先介绍到这里,我们还要给大家介绍一下特殊材质,这里包括ShadingMap、SurfaceShader、LayeredShader、UseBackground。
1)ShadingMap
给表面添加一个颜色,通常应用于非现实或卡通、阴影效果。
Color:
它同其他的属性不大一样,没有滑条控制。
它可以和另外一个Shader相关连,从而可以继承另一个Shader的属性
ShadingMapColor:
就是指贴图的颜色,可以根据此值来控制我们刚刚介绍的Shader的属性,看起来参数很简单只有两个,但是如果在Color的属性中和另外一个Shader相关联后那么ShadingMap的属性就不止这么简单了。
卡通材质效果
1.用一个BilnnShader连接在ShadingMap中的Col_or的属性上,然后用一个Ramp贴图连接在它的ShadingMapColor上。
让我们来看一下它的节点网络图。
2.我们将Blinn的属性进行调整,我们会发现连接在ShadingMapColor会因此受到影响,如果我们相出现透明的ShadingMap的时侯,我们可以调整Bilnn的Transparency的属性。
此时我们会发现ShadingMap变透。
在二维卡通的效果里渐变的过渡都不是很平滑,这里我们再将Ramp的Interpolation选项将Linear改为None,然后再将渐变的颜色尽量设定为一个色系。
2)SurfaceShader
给材质节点赋以颜色,效果与shading map差不多,但是它除了颜色以外,还有透明度,辉光度还有光洁度。
所以在目前的卡通材质的节点里,选择Surface Shader比较多,可能是它的控制要比ShadingMap的控制多一些的缘故吧!
OutColor:
指的是SurfaceShader的颜色控制。
OutTransparency:
控制的是SurfaceShader的透明属性
OutGlowColor:
可以出现二维的发光效果
OutMatteOpacity:
可以控制图像的Alpha通道的灰度值,默认情况为白色,此时渲染出的Alpha通道是纯白色,降低此值即灰度值,Alpha通道为灰度。
还记得我们用ShadingMap做的卡通材质,现在我们同样根据这种思路也使用一个Shader(这里我们用的是Phong)来控制一个Ramp(此Ramp的控制和之前提到过的ShadingMap的控制相同),再将Ramp连接到SurfaceShader的Color上(具体用法我们回在后面介绍到Utilities的时候给大家做一详细介绍),至于透明我们调节SurfaceShader的OutTransparency的属性就可以了。
其结果看起来ShadingMap的卡通效果很相似(除了颜色)。
3)LayeredShader
它可以将两个或两个以上的材质或者贴图合成在一起。
每一层都具有其自己的属性,每种材质都可以单独设计,然后连接到分层底纹上。
上层的透明度可以调整或者建立贴图,显示出下层的某个部分。
在层材质中,白色的区域是完全透明的,黑色区域是完全不透明的。
可以形成很多很有个性化的Shader。
下图中用红线框圈起来的那部分区域