Maya材质节点.docx
《Maya材质节点.docx》由会员分享,可在线阅读,更多相关《Maya材质节点.docx(21页珍藏版)》请在冰豆网上搜索。
Maya材质节点
第一章Maya基础材质节点
1.回顾上一章[10分钟]2
2.知识重点:
1.材质编辑Hypershade的使用:
2
2.shade的使用4
3.specialEffects特殊属性4
4.特殊shade4
3.本章总结[20分钟]4
4.考核点4
5.扩展部分:
4
6.学员问题汇总:
4
7.作业:
4
●
●
●本章的主要目的
⏹Maya材质节点简介
⏹Lambert材质节点应用
⏹Blinn材质节点应用
1.课程知识点讲解:
[200分钟]
1.1.材质编辑窗口Hypershade的使用[40分钟]
在maya中查看与使用渲染节点,生成shadingnetworks的过程基本上是在Hypershade窗口中来完成的,这个窗口可以在主菜单Window>RenderingEditors>Hypershade打开。
1.Hypershade的界面显示控制
Hypershade编辑器,也叫做超级滤光器,主要是用来制作纹理的,材质节点的。
Hypershade编辑器是从maya2.0中引来的,不仅交互显示菜单或者纹理的样子,还显示阴影网络元素是怎么样连接的,另外可以和Hypergraph编辑器一样对窗口进行缩放和跟踪操作。
使用F键和A键使浏览带有大量阴影组的场景更加容易。
建立材质的大部分工作,都需要在Hypershade编辑器中完成。
与在Hypergraph编辑器中使用独立图形来查看并编辑节点和节点网络连接一样,用户也可以在Hypershade编辑器进行同样的工作。
Hypershade编辑器与Hypergraph编辑器的不同在于前者使用样本,在一定的程度上比较直观,这是Hypergraph编辑器所缺乏的,要查看和编辑渲染的节点,如纹理和材质等。
Hypershade编辑器是必不可少的。
A.File菜单
主要用于将shadea数据导入或导出。
在网络上有许多相关的maya材质提供下载,可以通过这些命令将其导入,便于深入分析和学习。
也可以将自己制作的材质保存起来,供以后使用。
B.Edit菜单
DeleteUnusedNodes用于删除场景中那些没有指定几何特征或粒子的所有节点,可以有效的清理不必要的材质数据,节省系统资源,这是经常用到的名令。
C.View菜单
主要用于控制工作区域的显示状态等。
D.Bookmarks菜单
主要用于创建和编辑书签(也就是节点布局的状态,并不对节点本身造成影响)以方便用户调出和观察。
E.Create菜单
主要用于创建材质,纹理,常用工具,灯光和摄像机等。
F.Tabs菜单
用于控制编辑器的标签的布局
G..Graph菜单
用于控制材质节点网络在工作区域中得显示
H.Window菜单
便于访问各个编辑器
I.Options菜单
控制编辑器界面的显示状态
L.Help菜单
用来打开帮助界面
2.节点网络调入清楚与排布
打开或关闭显示渲染节点面板
控制工作区域的显示
用于显示上次或下次的链接
清除链接
将工作面板的节点和网路重新排列,以便观察和编辑
显示被选中物体的材质节点网络
显示被选择节点的输入网络
显示被选择节点的输出和输入链接网络
显示被选择节点的输出网络
表示节点容器相关工具命令图标
在工作区域中调入场景中材质节点网络的模型,点击
按钮或者在Hypershade窗口菜单Graph>GraphMaterialsOnSelectedObjects.
清除工作区域中得节点网络,点击
按钮或使用Graph>ClearGraph.
排布shadingnetworks与添加去除某些节点的显示可以点击排布网络RearrangeGraph按钮
或Graph>RearrangeGraph.命令以及AddSlectedtoGraph和RemoveSeletedFromGraph命令
3.标签设置
使用Tabs菜单可以对标签移动与重命名,并可创建与删除标签。
如:
创建新的shaderlibrary标签
Tabs>CreateNewTab打开窗口
在NewTabName中输入New_shaderlibrary
在InitialPlacement中选择Bottom
在TabTypr中选择Disk.同时在RootDirectory中选择新的材质库目录。
4.创建渲染节点
在Hypershade左边的createBar栏中单击要创建节点的样本,或者拖动样本到工作区中,也可以在create菜单中创建或create>createrendernode中创建。
5.输入与输出材质网络
File>Import:
输入场景文件到当前文件中。
File>ExportSelectedNetwork:
输入选择节点所在的shadingnetworks到指定目录生成新的场景文件,默认的目录是当前project目录renderdata/shaders文件夹。
6.节点编辑
删除节点:
Edit>Delete,也可以使用键盘Delete或者backspace键。
删除多余的渲染节点:
Edit>Unusednodes,但一些循环引用的节点不能使用这个命令删除。
复制节点:
Edit>Duplicate,它有三种复制方法:
复制这个节点所在的shadingnetworks,使用shadingnetwork命令,仅复制选择的节点,使用WithoutNetwork命令,复制选择节点的同时,保持这个节点与网络的连接,如果其无法连接,但会保留输入的连接。
7.为物体指定材质
有三种方法为场景中得物体指定材质:
A.Hypershade中指定
B.在三维视窗中,选择要指定材质的模型或模型的面
C.在Hypershade窗口中,在要指定给模型的材质上点击右键,在弹出的菜单中选择AssingMaterialToSelection.
D.在Hypershade中拖动材质样本到三维视窗中要赋予的模型上。
E.在三维视窗中,在要指定材质的模型上右击选择Material>AssingExistMaterial
8.转换为文件纹理
Edit>ConverttoFileTexture命令可以把一些3D和2D程序纹理转换为文件纹理。
ShadingGroup:
shadingnetworks像一个网络,数据从网络左边流向呈现最终结果的右边外,于最右边的节点是默认并不显示的ShadingGroup节点,这个节点称之为阴影组,简称为SG,也叫Shadingengine节点,它是连接几何体与shader与灯光的节点。
SG有三个输入端口,每个端口都是整个节点网络的输入口:
SG的输入
SurfaceShading端口——连接这个端口的Shader将控制SG节点所连接的几何体表面的外观。
Maya通常有四种表面几何体类型:
NURBS表面,Polygonal表面,Subdivision表面,Partcle系统使用的“blobbysurface”软件渲染器模式,渲染器计算连接在SurfaceShader端口的“outcolor”和“outTransparency”属性去分别确定物体的颜色与透明度。
VolumeShading端口——连接到这个端口的shader将这个SG节点连接的体积几何体的外观。
Maya通常有三种类型的体积几何体:
灯光雾,环境雾,使用“cloud”或“tube”软件渲染的粒子系统,渲染器将计算连接到VolumeShader端口上的Shader的“outcolor”和“outTransparency”属性去完成这些体积物体的颜色与透明度的计算。
Displacementshading端口——连接到这个端口的shader将被调用置换映射所有这个SG节点连接的表面几何体。
渲染器将计算连接到displacementshader端口shader的“displacement”属性。
Surfaceshader端口随后用于置换的几何体。
1.2.shade的使用[60分钟]
渲染节点是用来进行互相连接使用产生所有渲染效果的单独构建块元素。
像Maya中其它所有节点一样,可以动画或再分配渲染节点到其它节点的属性。
这些渲染节点Texture节点、放置placement节点、Utility节点和材质Material节点连同它们输入和输出连接(属性)定义所有从表面到灯光和阴影的最终渲染图像的效果
•Material节点
观察每个材质球的自身属性,会发现除了oceanshader以外,其他的材质都具备以下的属性,我们先来介绍Lambert、Phong、phongE、Blinn、Anisotropic、RampShader、oceanshader这几个比较常见的shader。
1).Common Material Attributes 通用属性:
指的是每种材质都共有的属性,是一种参数的共享。
2).Specular Shading 高光属性:
控制表面反射灯光或者表面炽热所产生的辉光外观。
3).Specular Effects特殊属性:
一般是控制材质本身以外的材质效果,就像是一个滤镜一样会在shader表面形成一个光晕的效果,在渲染的运算中它是最后一个产生效果的。
4).MatteOpacity不透明遮罩:
一般是用于合成方面,它可以控制渲染出得alpha通道的透明度
5).RaytraceOpacity光线追踪:
主要是在光线追踪的条件下物体自身的光学反应。
6).mentalray渲染器:
在maya4.5以上的版本中新添加的渲染器mentalray的shader属性。
7).NodeBehavior节点行为:
就是节点自身的状态和执行顺序。
8).HandwareShading硬件材质:
在保留软件渲染的时候忽略硬件渲染的显示。
9).HandwareTexuring硬件纹理:
可以快速且搞质量的在工作区域中进行纹理或其他属性的显示。
10).ExtraAttributes其他属性:
可以自行添加出shader以外的属性,便于对材质的控制。
1).Common Material Attributes 通用属性
Color :
控制的是材质的颜色
Transparency :
控制的是材质的透明度。
例如:
若Transparency的值为0(黑)表面完全不透明。
若值为1(白)这为完全透明。
要设定一个物体透明,可以设置Transparency的颜色为灰 色,或者一材质的颜色同色。
Transparency的默认值为0。
Ambient Color :
它的颜色缺省为黑色,这时它并不影响材质的颜色。
当Ambient Color变亮时,它改变背照亮部分的颜色,并混合这两种颜色,而且可以作为一种光源使用。
通常在渲染器的 使用中,我们经常会在Ambient color 进行贴图和颜色的调整。
Incandescence:
白炽,模仿白炽状态的物体发射的颜色和光亮(但并不照亮别的物体),默认值为 0(黑)其典型的例子如模拟红彤彤的熔岩,可使用亮红色的Incandescence色。
(同样也是影响阴 影和中间调部分,但是它和环境光的区别是一个是被动受光,一个是本身主动发光,比 如金属高温发热的状态。
)
Bump Mapping :
通过对凹凸映射纹理的像素颜色强度的取值,在渲染时改变模型表面法线使它看上去 产生凹凸的感觉。
实际上给予了凹凸贴图的物体的表面并没有改变。
如果你渲染一个有凹 凸贴图的球,观察它的边缘,发现它仍是圆的。
注意:
它和我们之前提到过的Displacement有着本质的区别。
Bump是属于视觉上的一种假象,Displacement会 影响物体的外形。
故而,前者的运算速度要远远大于后者。
Diffuse :
漫射,它是描述的是物体在各个方向反射光线的能力。
Dlffuse值的作用一个比例因 子。
应用于Color设置,Diffuse的值越高,越接近设置的表面颜色。
(它主要影响材 质的中间调部分。
)它的默认值为0.8,可用值为0~无穷。
说明:
Diffuse 和 Ambient Color在调节的过程中状态很相似,但实际不然。
Diffuse实际上自身对外界的一种 反映,可以说是一种主动的反应。
而Am_bi_ent Color实际上是外界对材质自身的一种影响,它是一个被动反 应,而且你还可以用Am_bi_ent Color作为光源去影响其他的材质。
Translucence :
半透明是指一种材质允许光线通过,但并不是真正的透明的状态.这样的材质可以接受来 自外部的光线,使得物体很有通透感.(常见的半透明材质还有蜡,纸张,花瓣,叶子还有人 的耳朵等.)
Translucence Depth:
半透明深度,是灯光通过半透明物体所形成阴影的位置的远近,它的计算形式是以世 界坐标为基准的。
Translucence Focus :
半透明的焦距,是灯光通过半透明物体所形成阴影的大小。
值越大,阴影越大,而 且可以全部穿透物体,若小,阴影越小,它会在表面形成反射和穿透,换句话说,就 是可以形成表面的反射和底部的阴影。
技巧与说明:
若设置物体具有较高的Translucence值,这时应该降低Dlffuse值以避免冲突。
表面的实际半透 明效果基于从光源处获得的照明和它的透明性是无关的。
但是当一个物体越透明时,其半透明和漫射也 会得到调节。
环境光对半透明(或者漫射)无影响
2) Specular Shading 高光属性
1.Anisotropic:
这种材质类型用于模拟具有微细凹槽的表面,镜面高亮与凹槽的方向接近于垂直。
可 以制作效果例如:
头发、斑点和CD盘片,都具有各向异性的高亮
Angle :
由于Anisotropic材质的高光不象其它Shader的高光一样是圆形的,它的高光区域像 是一个月牙,所以导致Anisotropic材质出现了角度控制,可以控制Anisotropic的高光方 向。
Spread X和Spread Y :
是控制Anisotropic高光在X和Y方向的扩散程度,用这两个参数可以形成柱或锥状 的高光,可以用来制作光碟的高光部分。
Roughness :
是控制各项异材质的高光粗糙程度的,所谓粗糙程度在我理解主要就是控制高光大 小。
当我们把值设为0的时候,我们会看到一个很小的亮斑;值等于1时,此时的高光面积 很大,但是高光的亮度也会下降。
Fresnel Index(菲涅耳指数) :
是控制高光强弱的,当值为0时,我们将不会看到高光(看起来挺像Lambert), 当我们把值向右拖动时,高光会逐渐显现出来。
Specular Color :
是控制高光颜色的,我们可以根据颜色的设定来控制高光的色彩。
Reflectivity :
反射率。
是控制反射能力的大小的。
Reflected Color:
反射颜色。
由于在我们的渲染过程中通过光影追踪来运算故然真实,但是渲染时间太 长也是我们无法忍受的,所以我们经常可以通过在Reflected Col_or中添加环境贴图来模拟反射(我们也称为伪反射)从而减少我们的渲染时间。
Anisotropic Reflectivity :
是一个判断选项。
当打开此选项时,上方的Reflectivity将失去作用,Maya会自 动运算反射率,如果关闭则反之。
注意:
Reflectivity这个参数在打开和关闭光影追踪都是同样起作用的。
•
1.3.specialEffects特殊属性[30分钟]
特殊属性实际上就是我们经常提到的Glow光,它会再渲染的时候自动添加Glow的效果。
表面上我们会认为它的参数只有这么一点,但是实际上我们需要调节更多的属性的话,我们可以通过Hypershade中得shaderglow来控制glow的颜色,强度等等更多的参数。
我们先来了解自身的这个二个参数。
Hidesource:
是个开关,可以控制是否隐藏物体。
Glowintensity:
是控制glow的强弱。
•GlowAttributes属性这个参数是一个整体控制的参数。
我们双击shaderglow可以弹出如下面板
Glowcolor:
是控制glow光的颜色。
Glowintensity:
是控制glow的强弱。
Glowspead:
是控制glow的扩张
GlowEccentricity:
是控制的大小
GlowRadialNoise和Glowstarlevel:
是控制glow的形状,可以呈现十字的形状。
GlowOpacity:
是控制glow的不透明度
GlowRingintensity:
指的是光环的强弱,实际上就是控制光晕的强弱。
GlowRingFrequency:
是指光环的频率,控制的是光晕的大小。
GlowFilterWidth:
指的是像模糊一样的滤镜的模糊范围。
注意:
shaderglow实际上是整体控制的glow的参数,如果改变了shaderglow得参数那么其他的glow的属性将会全部遵循这个变化的参数,直到我们的瑕疵调整,我们来试着做一下霓虹灯效果。
•建立霓红灯光
创建一个surfaceshader材质
设置outcolor为泡泡糖颜色粉红色
设置outglowcolor为深红色
把材质赋予字体,看看最终的效果
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模式吧窗口材质的solidmatte值设为1.0就可以做到这一点了。
Blackhole:
在解决合成的问题上,Blackhole模式就十分有用,这个模式把RBGA设为(0.0.0.0).为了使物体的组合起来,Blackhole在最终的渲染图片中挖去了一些区域。
这里先要给大家提一种新的感念,就是分层渲染,什么是分层渲染呢?
就是我们将制作的场景文件按照合成的要求,将场景中得物体分别放置在不同的层。
,然后通过层渲染(在RenderGlobals可以设定,详细请看在RenderGlobals的设定)将文件一一渲染出来,然后导入后期的软件(比如Shake、Combustion、Dfusion、Aftereffect等合成软件),将它们逐个合并起来。
这样做的好处就是可以场景的每一部分分别进行调整(包括比例、校色、复制、特效的添加等)。
•RaytraceOptions光线追踪
是一个开关属性,打开此开关才可以有光线追踪的效果,当然同时还要打开Ren_der Global Setting\MayaSoftware\RaytracingQuality\Raytracing打开(这个选项就是一个总的开关,只有此选项打开,所有的光影追踪的属性才能生效)
RefractiveIndex:
折射率。
指的是光线穿过透明物体时被弯曲的程度。
(是光线多一种介质进入另一种介质时发生,如空气进入玻璃,离开水进入空气。
折射率和两种介质有关)。
当射率为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产生效果)
•ExtraAttributes其他属性
可以自行添加出Shader以外的属性,便于我们对材质的控制。
主要用来驱动关键帧和粒子属性的添加。
其中主要分为AttributeName(属性名称)、DataType(数据类型)、NumbericAttributeProperties(数字属性的范围)
可以通过材质的属性编辑器选择Attribute\AddAttribute
AttributeName:
可以创建一个属性的名称(不能输入中文及数字)
DataType:
共有六种数据类型分别是
a.Vector(矢量类型):
它可以出现X、Y、Z世界坐标系的形式
b.Float(浮点类型):
它可以出现一个Slider(滑条),它可