材质的颜色
在计算机中,常用的选色系统是 RGB 系统和 HSV 系统,通过设置 RGB 和 HSV 的参数可以定义物体表面的颜色。另外,通过映射纹理或者文本纹理给材质,也可以设置表面的颜色。
当创建一种材质并打开其 Attribute Editor 对话框时,在 Common Material Attributes 选项组可看到该材质的 Color 属性。默认的设置为灰色,饱和度为 0 , HSV 为 0.5 或是 RGB 为 0.5 。 Maya 提供了多种方法来调节材质的颜色。
● 使用 Color Chooser 对话框。要打开 Color Chooser 对话框,单击 Color 属性旁的颜色方块即可,如图 8-7 所示。
图 8-7 Color Chooser 窗口
● 将纹理或纹理文件连接到 Color 属性,典型的做法是在 Attribute Editor 对话框中将它们拖到 Color 属性中。 Diffuse 属性作为一个颜色值的比例因子, 0.0 为黑色, 1.0 表示原色值。默认 Diffuse 设置为 0.8 。该图像文件可以是一单个图像、图像系列或电影文件。
● 将 2D 纹理作为通常 UV 纹理或作为多种投影方式 ( 平面,球形,柱形,球体,立方体,三平面,同心或透视等 ) 中的一种贴图到某个表面,如图 8-8 所示为一个材质的贴图 UV 纹理。
图 8-8 材质的贴图坐标类型
● 将 2D 纹理作为模板图像文件。
● 以 3D 纹理贴图,就好像环绕该表面占据的空间实体一样。
● 使用 Surface Shader( 表面着色 ) 给材质节点赋以颜色。尽管它存储在 Material 文件夹中,但 Surface Shader 只含有材质的颜色、透明度、辉光度和光洁度。要给许多不同材质或纹理使用相同的颜色,在 Surface Shader 中可用一个节点来控制多个节点的色彩信息。
● 使用 Shading Map( 着色图 ) 给一个表面添加颜色。 Shading Map 通常应用于非现实照片卡通或阴影效果。通过通用色度器对那些颜色取样,然后使用原色的亮度和色调以一种更简单的色彩方案来替换那些颜色。
● 使用一个带有伴随图像文件的色度器 ( 如 Env Sky 和 Env Sphere) 模拟周围环境,也可以作为背景图像或表面反射。
光泽度控制
不同材质其表面反射光也不相同。 Lambert Material 没有一点镜面高光区。 Blinn 、 Phong 以及 PhongE 等材质会用不同的变量来计算镜面高光值。
● Blinn 是 3 种材质中高光最柔和的一种,通常是带有凹凸或位移的表面所推荐使用的材质,因为它不像 Phong 材质而更倾向易于打结或摆动。 Blinn 和 Phong 就是所说的 isotropic 材质,这意味着这些材质向各个方向反射同一镜面光。
● anisotropic 材质,根据它的 Specular Shading 设置,将不同的镜面光反射向各自不同的方向。它继承了诸如头发、缎布、皮革或 CDs 等材质平直反射光线的方法。
● Shading Map 也计算镜面高光,但它使用的是一种非现实照相的方法前一节提到过。 Use Background 材质的 Specular 和 Reflectivity 变量只用作光线追踪。分层的 Shader 没有特定的变量,因为它是创建分层的材质,图 8-9 显示了不同材质的效果。
图 8-9 不同材质的反光效果
所有具有镜面高光的材质都有 Specular Color 、 Reflectivity 和 Reflected Color 等属性。用户可以使用 Color Chooser 对话框来加上镜面颜色、纹理贴图或图像文件。
要模仿光线通过透明物体时产生折射和阴影效果就要使用光线追踪功能。虽然在创建真实相片似的图像时必须要用光线追踪,但同时也就要求比平常渲染费时更多。它的设置越高,渲染时间越长。
要产生光线追踪,必须在 Render Globals 对话框的 Raytracing Quality 选项组选中 Raytracing 复选框。对于折射,必须打开所选择表面材质的 Attribute Editor 对话框,并在 Raytrace Options 选项组选中 Refractions 复选框。要产生光线追踪阴影,必须打开产生阴影的灯光的 Attribute Editor 对话框,然后在 Raytrace Shadow Attributes 选项组选中复选框 Use Ray Trace Shadows 。用户也可通过使用 Attribute Editor 对话框在 Reflections 选项组的 Visible 复选框来控制该表面在其他表面的反射中的可见性。
创建凹凸效果Maya 中有两种方法在一个表面上创建凹凸。第 1 种方法是应用一个凹凸贴图到该表面,从而在光滑表面产生凹凸感。第 2 种方法是使用置换贴图,实际上是移动其几何特性来创建凹凸感。
这两种方法都有其优缺点。凹凸贴图渲染效率更高些,但表面边缘部分不能实现且不能创建极凹凸的外观,如图 8-10 所示。置换贴图是创建凹凸更好的方法,因为它实际上是偏移表面的几何特性,但因此要花费更长的渲染时间。而且,在确认正确的偏移前,几何体的 UV 段数或它的图案数目必须增加很多。如图 8-11 所示。
图 8-10 凹凸贴图效果 图 8-11 凹凸贴图效果
Maya 中的位移贴图法则已经大大地提高了,表面可以更有效地显示,可以在那些需要凹凸的区域铺砌,以降低执行时间。另外,位移贴图不再创建附加的凹凸节点,从而可以更容易地将单独的凹凸贴图放置在变形的表面上。
当拖动一种纹理到材质节点上并和它的凹凸贴图连接,或是拖动到 Attribute Editor 对话框中的 Bump Mapping 选项组时,将创建一个凹凸贴图节点。如果纹理为 2D ,则创建一个 bump2D 节点;为 3D 纹理时,创建一个 bump3D 节点。凹凸投影也将创建一个 bump3D 节点。作为单通道属性的纹理 Alpha 值连接到凹凸节点的 Bump Value 属性,然后该凹凸节点输出一个三通道 outNormal 到材质的 normalCamera 属性,这样就在材质表面创建了凹凸的外观。
当连接某一纹理到材质的 Displacement 属性时,创建一个为不连接到材质的位移节点,而是直接连接到材质的 Shader Group 节点。也可以凹凸位移贴图以将更多的细节添加到凹凸贴图和位移贴图的表面。
制作透明材质
透明度是 RGB 颜色属性,黑色使材质不透明,白色使之透明。因为有颜色和镜面属性,用户可以用纹理或图像文件贴图来获得透明感。一旦某种材质透明,用户也可为光线追踪打开折射现象。材质的 Attribute Editor 对话框 Raytrace Options 卷展栏的 Refractive Index 值控制光线穿过透明材质的混合程度。要有折射效果,需有不少于一个表面层能够被摄像机透视。用户可以建立带有纹理地板上的两个同心球体,来验证不同的 Refractive Index 值对光线追踪的影响。如图 8-12 所示是一个简单的透明效果演示。
图 8-12 透明效果
在材质的 Attribute Editor 对话框 Raytrace Options 卷展栏有一个 Refractive Limit 项目。它也在 Render Globals 对话框的 Raytracing Quality 卷展栏中也有 Refraction 项目。这两个设置需要调整,低值将作为材质的最大折射限制。
使用自发光
材质的自发光效果有 3 种,可以通过 Incandescence 、 Glow Intensity 以及 Ambient Color 设置可向材质添加自发光效果。许多材质的 Common Material Attributes 下都有 Incandescence 属性。这种属性使赋以这种材质的表面看起来好像自己会发光。红热的铁块以及霓虹灯广告就有明显的自发光。
在许多模型表面, Incandescence 使用起来非常微妙,带有一种晶莹剔透的感觉中这种材质可以使一个人的眼睛看起来明亮一些,花瓣和树叶看起来更加生动。用户还可贴上纹理或图像文件,如图 8-13 所示是为材质的发光属性加入颜色渐变贴图。
图 8-13 物体自发光效果
Glow Intensity 可以使材质发出辉光。在 Incandescence 效果的基础上加进一点辉光往往效果更好。许多材质在它们的 Attribute Editor 对话框的 Special Effects 选项组有一个 Glow Intensity 文本框。 Glow Intensity 为 0 时,表示没有辉光;该值为非零时,材质开始发出辉光,如图 8-14 所示。同一选项组下 Hide Source 设置可以让用户隐藏赋有该材质的表面而只显示其辉光。在表面创建一定的大气效果时,使用辉光非常有效,如朦胧的月光、温暖的日落或是烛光灯。
图 8-14 加入发光效果
必须谨慎使用辉光效果,因为其中需要一定的技巧。不同于 Incandescence 属性,辉光是一个后期处理过程。它的计算建立在表面从光源 ( 包括其他发出辉光的物体 ) 接受到光的数量的基础上。其他环境下,一个物体的辉光强度在另外发出辉光的物体进入场景时明显发生改变。在这种情况下,用户需要找到 Visor 面板里的 Post Process 文件夹,打开 shaderGlow Shader 的 Attribute Editor 对话框 Auto Exposure 复选框。然后重新调整其 Glow Intensity 和 Halo Intensity 值,以使在场景中的表面获得合适的辉光效果。
对于辉光效果强度可能会随着渲染分辨率的改变而改变。这意味着用户在检测渲染辉光效果时,应该以与最终输出相同的分辨率来进行测试。
第 3 种效果,环境光照亮表面的方法与 Incandescence 相似,但是 Incandescence 是使材质发光而 Ambient Color 是通过材质的颜色或纹理发光。环境颜色也不同于 Diffuse ,漫反射是在灯光加热的表面区域使材质颜色发亮,而 Ambient Color 是使整个表面发光。需要的话可以单独渲染一个带有环境颜色的表面。
使用纹理
Visor 面板提供了 26 种纹理: 10 种 2D 纹理, 11 种 3D 纹理, 5 种环境纹理和 1 种分层纹理。除了分层纹理之外,所有其他纹理创建时都获得一个放置节点。大多数纹理在它们的属性对话框中还有 Color Balance 和 Effects 区域。
3D 纹理或 2D 投影就像真实物体一样放置,可以使之变形,同时也可进行修剪。在渲染纹理时,通常要比渲染 2D 纹理花费更长的时间。用户可以将 3D 纹理或投影转换为 2D 文件纹理来处理,只要在 Hypershade 窗口中选择 Edit → Convert Material to File Texture 命令即可,但是在转换过程中可能会丢失一些品质。
由于 3D 纹理放置本质上的原因,当带有纹理的表面变形时,该表面看起来如该纹理游动后的形状。使用 Reference Object 命令,可使 3D 纹理和 2D 投影随着表面一起变形。分配一种 3D 纹理给一个物体后,这时在视图中会出现一个贴图坐标参考网格,如图 8-15 所示。选择中物体,然后在 Rendering 模块中选择 Texture → Create Texture Reference Object 命令。 Maya 创建一个参考物体,默认时是在 X 轴方向平移 5 个单位。如果想要同样的 3D 纹理设置,要么将参考物体平移回 X 轴的零点位置,要么就将 3D 纹理放置节点沿 X 轴方向平移了 5 个单位。注意图 8-16 中的纹理,它随着表面被挤压和平移了。
提示:
参考物体必须在对初始表面进行变形和动画前创建。纹理放置取决于它与参考物体的关系,而不是与初始表面的关系。
图 8-15 贴图坐标参考网格 图 8-16 挤压并且平移贴图
默认情况下,一种 place2dTexture 节点正好 100% 地覆盖在任何分配该纹理的表面。 Coverage 决定了纹理覆盖表面区域的百分率, Translate Frame 和 Rotate Framex 在 UV 方向使表面纹理变形。这些属性不要和 UV Repeat 、 Offset 以及 Rotate 属性相混淆,这些属性取决于在覆盖区域纹理的贴图的方法。
颜色平衡和效果
纹理的 Color Gain 和 Color Offset 属性主要用于控制纹理的色彩和亮度。 Default Color 属性是指未被纹理覆盖的那部分表面的颜色。通常不必改变该设置,然而如果要将纹理作为蒙板并且纹理只是部分覆盖,就可能需要把 Default Color 改为黑色或白色。
Alpha Gain 属性调整 Alpha 通道并用于凹凸和偏移效果。默认值为 1.0 ,通常大多数情况下这个值是大了点。图 8-17 是一个 fractal 纹理的例子,首先 Deafault Color 是使用默认灰色设置, Alpha Gain 为 1.0 ,然后将 Deafault Color 改为白色并且 Alpha Gain 降为 0.3 ,以缓和那种极端凹凸感。 fractal 纹理的 Threshold 值也变化为 0.7 。
图 8-17 调整 Alpha 通道效果
提示:
要将纹理贴图作为凹凸贴图使用,打开 Alpha Is Luminance 。该图像作为凹凸计算时,其值是由图像的灰度决定的,白色凹凸上升,黑色凹凸下降。
在 Effects 区域,许多纹理有 Filter( 过滤 ) 、 Filter Offset( 过滤偏移 ) 和 Invert( 反转 ) 属性。 Invert 设置用于反置纹理的颜色和色调,把白色变为黑色;反之亦然。它还反转 Alpha 通道,把凸变成凹,反之将凹变成凸。
Filter 和 Filter Offset 属性使纹理变得有些模糊,这在纹理太尖锐或易混淆时很有作用。纹理太尖锐太有棱角时,有纹理贴图的表面或摄像机运动时在表面可能有微光或噪声问题。通过模糊纹理或使之光滑,通常可以解决这些问题。 Filter 默认值为 1.0 ,但可降低到接近 0 。 Filter Offset 基本上是添加一个固定值到 Filter 属性,通常一个很小的值就足以纠正任何过多的尖锐 ( 棱角 ) 。
图 8-18 是一个与图 8-17 所示的 fractal 纹理相同的例子,只是选中了 Invert 复选框,默认颜色设置为中灰色, Alpha Gain 设回到默认值 1.0 。并将 Filter 的值设为 0.01 ,这对于移动的摄像机半球可能还有点太尖锐并会有微光。
图 8-18 设置 Filter 效果
纹理环绕
对于 NURBS 物体,在 Attribute Editor 对话框的 Texture Map 选项组,有一个 Fix Texture Wrap 设置。由于 CVs 的参数化, NURBS 面有时将 UV 纹理环绕使用。在 NURBS 建模中,表面弦长参数化法比起 Uniform 法来说可以更好地将一个 UV 纹理映射到表面,但用它建模更困难。 Fix Texture Wrap 设置计算 NURBS 面以减少环绕,如图 8-19 中所示的球体。在表面进行动画时可以发现 Fix Texture Wrap 功能的优点。
图 8-19 Fix Texture Wrap 设置
教程结束,以上就是Maya 7.0 表面材质中的编辑材质介绍,操作很简单的,大家学会了吗?希望能对大家有所帮助!
新闻热点
疑难解答