《Maya灯光与材质高级技法》补充材料:其他纹理和光照技巧

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

补充材料:其他纹理和光照技巧3.1平面和高洛德阴影平面阴影模型并不是Maya的材质,但还是可以在任何工作区视图中选择Shading(阴影)FlatShadeAll(展平所有阴影)选项。在平面阴影模型中,单一的恒定颜色指定到多边形的每个表面。在Maya中,多边形表面上的光强度变化都是由多边形曲面法线与光源方向之间的夹角决定的(如图A.1所示)。图A.1平面阴影模型的简单表示平面阴影模型可以用下面的公式来表示:I=IpKd(N·L)光向量(L)和曲面法线(N)相乘,就相当于数学向量操作中的点积(由L与N之间加一个点来表示),这一结果值用来表示两个向量之间的夹角。如果光向量与曲面法线之间的夹角越小,则返回值越高,并且多边形被渲染得越亮。如果光向量与曲面法线之间的夹角越大,则返回值越低,并且多边形被渲染得越暗。至于公式中的其他元素,Ip,即光源强度,是由光的Intensity(强度)属性衍生来的(其中,下标p表示光点(point))。Kd,即反射率常数,是由材质的Diffuse(散射)属性得来的。等号前面的I,即反射照明度,也就是被渲染像素的强度值。虽然平面阴影还是无法做到逼真的渲染,但高洛德阴影却可以从多边形到多边形进行平滑转换。就高洛德来说,多边形上各个假设点的强度根据沿着相交边界上的两个点和多边形顶点法线强度进行内插值替换(如图A.2所示)。顶点法线由共享特定顶点的所有表面的曲面法线的平均值导出。扫描线是一条在屏幕空间渲染产生的像素的水平线。点a和b是扫描线与两个多边形边界的交点,点c是被渲染的像素点,点c的强度能够从3个顶点法线加上a和b两点的强度总和以内插值进行替换。顶点法线的强度是由顶点法线和光向量之间的夹角所决定的(与平面阴影模型相似)。尽管在375平面和高洛德阴影灯光向量LNI=IpId(N-L)灯光多变形表面曲面法线Maya中还没有高洛德材质,但顶点法线经常应用在Phong阴影模型中。图A.2高洛德阴影模型的简单表示法向量的定义取决于主体。对于这部分的目的来说,向量是位于三维笛卡尔空间的两点之间的直线段(有关向量与向量数学的深入讨论,参见第7章的内容)。因而,光向量是贯穿于被渲染的曲面点和光本身之间的向量,曲面法线则是与多边形曲面相互垂直的虚拟直线,可同样被认为是向量。注意:漫反射的计算符合兰伯特的余弦定理。定理指出,正如观察者所看见的那样,曲面亮度不取决于观察者的位置。该定理是由JohannHeinrichLambert(1728-1777)所证明的,他由Lambert(兰伯特)材质名字产生的灵感。注意:人们经常用光亮强度(luminousintensity)来表示亮度(brightness),但是,这种叫法在技术上并不正确。亮度是指光源散发出的光线给人的印象。光亮强度是在特定方向中的光源散发的能量的量度。在本书中,强度(intensity)就是指光亮强度。3.2使用Ramp纹理创建自定义线框渲染使用Ramp纹理,可以建立自定义的多边形曲面的线框渲染。图A.3中的场景取自本书配套光盘中Chapter3的sence文件夹中的wireframe.mb文件。376补充材料:其他纹理和光照技巧扫描线acb光顶点法线1顶点法线2顶点法线3图A.3使用Ramp纹理创建自定义线框渲染为了使这个自定义阴影网络有效,模型的多边形必须是统一的(每个多边形都占据100%的UV纹理空间),可以通过选择UVTextureEditor(UV纹理编辑器)中的Polygons(多边形)UnitizeUVs(统一UV曲面)命令来实现。一旦全部都统一以后,每个多边形的表面都将收到全部Ramp纹理。就Ramp颜色来说,暗紫色控制柄在最上面,在它下面是亮紫色控制柄。最重要的一点是,将RampType(色彩渐变类型)设置为BoxRamp(盒式色彩渐变),而Interpolation(内插)设置为None(空)。3.3使用Ramp纹理创建自定义的反射窗口可以利用几个Ramp纹理在眼角膜里创建窗户的反射细节。图A.4所示的场景取材于本书配套光盘中的Chapter3的scene文件夹中的window.mb文件。正如第3章讨论一样,反射的加亮区只是被反射的光源,因此,这只球形是由默认的Blinn、Phong、PhongE材质来提供的。在这个例子中,ramp纹理节点的outColor与Blinn材质节点的reflectedColor连接。ReflectedColor(反射颜色)允许反射的外观不需要光线跟踪。纹理贴图到ReflectedColor377使用Ramp纹理创建自定义的反射窗口(反射颜色)是在放在曲面的上层被赋值的,纹理的右上角出现在UV纹理空间曲面的右上角。Blinn材质节点被设置成透明度为100%白色,并指定到角膜上的几何体。RampType(色彩渐变类型)设置为BoxRamp(盒式色彩渐变),而内插设置为Linear(线性的)。两种颜色控制柄紧密地放在一起,在结果框中创建一个稍微柔和的边缘。对于ramp的place2dTexture节点,Offset被设置为0.15,0。使整个渐变色向左滑动。图A.4在一只眼睛中利用Ramp纹理创建窗户的反射效果第二个ramp纹理节点的outColor与第一个Ramp节点的colorGain连接。第二个渐变色使用TartanRampType(格子渐变类型)以及LinearInterpolation(线性内插)。调整颜色控制柄,创建一个网格图案使之看起来像窗户窗格,为其添加淡蓝色,用来仿效天空的颜色。第二个ramp的Place2dTexture节点的RepeatUV(重复UV)值为2.8,2.8,使格子收缩。第三个ramp纹理节点的outColor与第一个ramp节点的colorOffset连接。颜色控制柄被设置成深棕色和黄色。第三个ramp的Noise(杂点)设置为0.2,而NoiseFrequency(杂点频率)被设置为1。这样创建的区域中出现的随机图案不会被窗户覆盖。当第三个ramp被贴图到ColorOffset(色彩偏移)时,第一个ramp的黑色被一些彩色替代。最后,Blinn节点的离心率被下调为0,这样可以防止默认加亮点的出现,以及与ReflectionColor(反射颜色)相互干扰。5.1使用Clamp工具控制胳膊Clamp工具不受颜色值的限制。举个例子来说,你可以使用Clamp工具控制角色胳膊378补充材料:其他纹理和光照技巧的大小。图A.5的场景取材于本书配套光盘Chapter5的scene文件夹中的clamp.mb文件。图A.5利用Clamp工具控制胳膊大小肘部关节的rotateY与clamp节点的inputR连接,clamp节点的outputR与NURBS曲面胳膊的scaleZ连接。clamp节点的MinR被设置为0.2,而MaxR被设置成2。当肘关节转动的时候,它将自动控制胳膊。胳膊的缩放通过clamp节点保持在0.2~2。尽管这个设置还可以用表达式精确建立,但它展示了在Hypershade(材质超图)窗口中的自定义连接的灵活性。5.2利用SurfaceLuminance工具创建风格独特的金属可以利用SurfaceLuminance工具创建一个风格独特的金属材质。图A.6的场景取材于本书配套光盘Chapter5的scene文件夹中的metallic.mb文件,QuickTime的电影参见metallic.mov文件。surfaceLuminance节点的outValue与相反节点的inputX连接(具体参见第7章的内容)。相反节点的outputX与multipleDivide节点的input1X连接。而multipleDivide节点的outputX与plusMinusAverage节点的Input1D[0]有关。plusMinusAverage节点的output1Dl连接到命名为Metallic的phone材质节点的cosinePower。这有人工增加接收更多光线的曲面任何部分的镜面大小的效果。一般来说,Phong的CosinePower(余弦功率)滑块值不会低于2,同时许多滑块可以重新调整到较大的范围(可参见第5章的5.2.10节的说明),但CosinePower(余弦功率)属379利用SurfaceLuminance工具创建风格独特的金属性将不会允许这样,除非它具有自定义连接。当CosinePower(余弦功率)值下降到标准最低值极限2之下时,它将导致镜面加亮区变成强烈的白色,并且覆盖整个模型的亮面。图A.6说明了阴影网络,数学公式如下:图A.6使用SurfaceLuminance工具创建一个风格独特的金属材质cosinePower=((1-outValue)*2)-2如果surfaceLuminance节点的outValue是1(光的最大数量),那么cosinePower的值变成-2。如果surfaceLuminance节点的outValue是0(没有接收到任何光),那么cosinePower的值变成0。无论怎样,如果曲面是暗的,Metallic节点也会接收一个接近于标准最小值的consinePower值。6.1使用SurfaceSampler工具复制彩虹色彩虹色色调的曲面可以利用视图的角度来改变。在现实世界中,这是由曲面所引起的,这些曲面由多重半透明的层所组成的,这些层在反射光中产生干扰图案。这种效果在蝴蝶翅膀、昆虫脱壳、鱼类鳞片以及一些吹制的玻璃制品中常常见到。不过,这可以利用SamplerInfo工具以及FacingRatio(面向比率)属性效仿这种效果。图A.7的场景参见本书380补充材料:其他纹理和光照技巧配套光盘Chapter5的scene文件夹中的iridescence.mb文件。QuickTime电影则参见iridescene.mov文件。在图A.7中,将samplerInfo节点的facingRatio与clamp节点的inputR、inputB以及inputG连接。clamp节点的Min(最小值)属性被设置成0,0.3,0.7,这会在曲面上显示紫色、绿色和蓝色色带。将clamp节点的output与gammaCorrect节点的value连接。将gammaCorrect节点的Gamma属性设置成0.3,0.6,0.2,这样可以调整颜色对比度以及饱和度。最后,将gammaCorrect节点的outValue与Blinn材质节点的Color连接,并将它分配到多边形蜘蛛上。图A.7利用SamplerInfo工具创建彩虹色效果Clamp的facingRatio与RGB具有以下联系:如果facingRatio=0,那么RGB=0,0.3,0.7(深蓝色)如果facingRatio=0.5,那么RGB=0.5,0.5,0.7(淡紫色)如果facingRatio=1,那么RGB=0.5,0.65,0.85(天蓝色)Clamp节点的Max属性实际上是由几何学来确定的。当蜘蛛的rotate(旋转)值为0,0,0的时候,Max(最大)值保持在0.5,0.65,0.85。当旋转值改变的时候,max(最大)值381使用SurfaceSampler工具复制彩虹色也会改变。这是由蜘蛛转换节点的rotate(旋转)属性与setRange节点的value(值)的连接而完成的(参见第7章关于SetRange(设置范围)工具的描述)。setRange节点的outValue与Clamp节点的max连接在一起。通过Clamp节点,setRange节点将蜘蛛的旋转范围改变得更小些。setRange节点的OldMin(过去最小)属性被设置成-360,-360,-360,而OldMax(过去最小)被设置成360,360,360。-360~360的范围被转换成新的范围,新范围从0~1。Clamp节点的输入(inputR、inputG以及inputB)的每个色彩通道都有自己的唯一最大范围值,由setRange节点的Min(最小)和Max(最大)属性决定。在这个例子中,setRange节点的Min(最小

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功