Maya4.0表面材质-编辑材质(2)
2006-04-05 19:42:05 来源:WEB开发网阴影可分为颜色、光泽、凹凸、透明和自发光等几类。首先学习这些通用材质属性,然后再介绍一些普通纹理属性。
使用自发光
材质的自发光效果有3种,可以通过Incandescence、GlowIntensity以及AmbientColor设置可向材质添加自发光效果。许多材质的CommonMaterialAttributes下都有Incandescence属性。这种属性使赋以这种材质的表面看起来好像自己会发光。红热的铁块以及霓虹灯广告就有明显的自发光。
在许多模型表面,Incandescence使用起来非常微妙,带有一种晶莹剔透的感觉中这种材质可以使一个人的眼睛看起来明亮一些,花瓣和树叶看起来更加生动。用户还可贴上纹理或图像文件,如图8-13所示是为材质的发光属性加入颜色渐变贴图。
GlowIntensity可以使材质发出辉光。在Incandescence效果的基础上加进一点辉光往往效果更好。许多材质在它们的AttributeEditor对话框的SpecialEffects选项组有一个GlowIntensity文本框。GlowIntensity为0时,表示没有辉光;该值为非零时,材质开始发出辉光,如图8-14所示。同一选项组下HideSource设置可以让用户隐藏赋有该材质的表面而只显示其辉光。在表面创建一定的大气效果时,使用辉光非常有效,如朦胧的月光、温暖的日落或是烛光灯。
必须谨慎使用辉光效果,因为其中需要一定的技巧。不同于Incandescence属性,辉光是一个后期处理过程。它的计算建立在表面从光源(包括其他发出辉光的物体)接受到光的数量的基础上。其他环境下,一个物体的辉光强度在另外发出辉光的物体进入场景时明显发生改变。在这种情况下,用户需要找到Visor面板里的PostPRocess文件夹,打开shaderGlowShader的AttributeEditor对话框AutoExposure复选框。然后重新调整其GlowIntensity和HaloIntensity值,以使在场景中的表面获得合适的辉光效果。
对于辉光效果强度可能会随着渲染分辨率的改变而改变。这意味着用户在检测渲染辉光效果时,应该以与最终输出相同的分辨率来进行测试。
第3种效果,环境光照亮表面的方法与Incandescence相似,但是Incandescence是使材质发光而AmbientColor是通过材质的颜色或纹理发光。环境颜色也不同于Diffuse,漫反射是在灯光加热的表面区域使材质颜色发亮,而AmbientColor是使整个表面发光。需要的话可以单独渲染一个带有环境颜色的表面。
使用纹理
Visor面板提供了26种纹理:10种2D纹理,11种3D纹理,5种环境纹理和1种分层纹理。除了分层纹理之外,所有其他纹理创建时都获得一个放置节点。大多数纹理在它们的属性对话框中还有ColorBalance和Effects区域。
3D纹理或2D投影就像真实物体一样放置,可以使之变形,同时也可进行修剪。在渲染纹理时,通常要比渲染2D纹理花费更长的时间。用户可以将3D纹理或投影转换为2D文件纹理来处理,只要在Hypershade窗口中选择Edit→ConvertMaterialtoFileTexture命令即可,但是在转换过程中可能会丢失一些品质。
由于3D纹理放置本质上的原因,当带有纹理的表面变形时,该表面看起来如该纹理游动后的形状。使用ReferenceObject命令,可使3D纹理和2D投影随着表面一起变形。分配一种3D纹理给一个物体后,这时在视图中会出现一个贴图坐标参考网格,如图8-15所示。选择中物体,然后在Rendering模块中选择Texture→CreateTextureReferenceObject命令。Maya创建一个参考物体,默认时是在X轴方向平移5个单位。如果想要同样的3D纹理设置,要么将参考物体平移回X轴的零点位置,要么就将3D纹理放置节点沿X轴方向平移了5个单位。注意图8-16中的纹理,它随着表面被挤压和平移了。
提示:
参考物体必须在对初始表面进行变形和动画前创建。纹理放置取决于它与参考物体的关系,而不是与初始表面的关系。
默认情况下,一种place2dTexture节点正好100地覆盖在任何分配该纹理的表面。Coverage决定了纹理覆盖表面区域的百分率,TranslateFrame和RotateFramex在UV方向使表面纹理变形。这些属性不要和UVRepeat、Offset以及Rotate属性相混淆,这些属性取决于在覆盖区域纹理的贴图的方法。
颜色平衡和效果
纹理的ColorGain和ColorOffset属性主要用于控制纹理的色彩和亮度。DefaultColor属性是指未被纹理覆盖的那部分表面的颜色。通常不必改变该设置,然而如果要将纹理作为蒙板并且纹理只是部分覆盖,就可能需要把DefaultColor改为黑色或白色。
AlphaGain属性调整Alpha通道并用于凹凸和偏移效果。默认值为1.0,通常大多数情况下这个值是大了点。图8-17是一个fractal纹理的例子,首先DeafaultColor是使用默认灰色设置,AlphaGain为1.0,然后将DeafaultColor改为白色并且AlphaGain降为0.3,以缓和那种极端凹凸感。fractal纹理的Threshold值也变化为0.7。
提示:
要将纹理贴图作为凹凸贴图使用,打开AlphaIsLuminance。该图像作为凹凸计算时,其值是由图像的灰度决定的,白色凹凸上升,黑色凹凸下降。
在Effects区域,许多纹理有Filter(过滤)、FilterOffset(过滤偏移)和Invert(反转)属性。Invert设置用于反置纹理的颜色和色调,把白色变为黑色;反之亦然。它还反转Alpha通道,把凸变成凹,反之将凹变成凸。
Filter和FilterOffset属性使纹理变得有些模糊,这在纹理太尖锐或易混淆时很有作用。纹理太尖锐太有棱角时,有纹理贴图的表面或摄像机运动时在表面可能有微光或噪声问题。通过模糊纹理或使之光滑,通常可以解决这些问题。Filter默认值为1.0,但可降低到接近0。FilterOffset基本上是添加一个固定值到Filter属性,通常一个很小的值就足以纠正任何过多的尖锐(棱角)。
图8-18是一个与图8-17所示的fractal纹理相同的例子,只是选中了Invert复选框,默认颜色设置为中灰色,AlphaGain设回到默认值1.0。并将Filter的值设为0.01,这对于移动的摄像机半球可能还有点太尖锐并会有微光。
纹理环绕
对于NURBS物体,在AttributeEditor对话框的TextureMap选项组,有一个FixTextureWrap设置。由于CVs的参数化,NURBS面有时将UV纹理环绕使用。在NURBS建模中,表面弦长参数化法比起Uniform法来说可以更好地将一个UV纹理映射到表面,但用它建模更困难。FixTextureWrap设置计算NURBS面以减少环绕,如图8-19中所示的球体。在表面进行动画时可以发现FixTextureWrap功能的优点。
更多精彩
赞助商链接