maya灯光.docx
《maya灯光.docx》由会员分享,可在线阅读,更多相关《maya灯光.docx(33页珍藏版)》请在冰豆网上搜索。
![maya灯光.docx](https://file1.bdocx.com/fileroot1/2023-1/29/5dba85b1-9e1b-4629-97b8-d0659a420f7a/5dba85b1-9e1b-4629-97b8-d0659a420f7a1.gif)
maya灯光
材质与灯光是CG中不可缺少的一个重要环节,它的好坏直接决定整个成品的视觉效果。
好的灯光与材质可达到点目传神、推波助澜的作用,相反,即使有绝妙的模型与动画,弦目的特效,也会让作品大打折扣,索然无味。
好的作品来源于生活,同样的,无论作品的风格如何,材质灯光均源于对真实生活的理解,不仅仅只是对软件技术本身的理解。
材质灯光是感性的东西多于理性的东西,功夫在画外,随时注意观察现实对材质灯光水平的提高有很大的帮助。
本部分的内容以实际制作入手,逐步领略与掌握材质和灯光的制作。
(a)在MAYA的渲染模块中,
(b)
(c)模块选择器内选择Rendering,切换到渲染模式(或者按快捷键F5)
可以通过快捷键“T”,切换到目标控制状态
(d)如果点击循环索引手柄,可以产生不同的操作手柄来控制聚光灯的效果:
(e) 第一次点击循环索引手柄,可以调整灯光枢轴手柄。
枢轴手柄就相当于一个基点,光源控制手柄和目标控制手柄相当于杠杆的两端,任何聚光灯的枢轴移动,都是基于这三者的配合,枢轴手柄的位置决定了光源控制手柄和目标控制手柄的移动范围。
第两次点击循环索引手柄,可以调整灯光圆锥角的大小(可以在ChannelBox中的ConeAngle中进行调节):
(f)第三次点击循环索引手柄,调整灯光半影(可以在ChannelBox中的PenumbraAngle中进行调节),它是用来调节灯光柱在靠近边缘处是如何衰减的:
(g) 第四次点击循环索引手柄,显示灯光的衰减范围和衰减率,第五次点击是利用调整手柄调整灯光的衰减范围和衰减率:
创建灯光后,我们需要对灯光进行定位,也就是要摆放灯光在场景中的位置或是照明方向。
灯光有三种常用的定位方法:
1、灯光可以象Maya中的其它类型物体一样进行坐标的变换操作。
按键盘上的“W”键(或点击左侧快捷命令栏的MoveTool图标),来移动灯光;按键盘上的“E”键(或点击左侧快捷命令栏的Rotatetool图标),来旋转灯光;按键盘上的“R”键(或点击左侧快捷命令栏的Scaletool图标),来缩放灯光的的外观大小。
2、使用“灯光操纵器”我们可以进一步交互地定位灯光。
选中聚光灯,按键盘上的“T”键(或点击左侧快捷命令栏的ShowManipulatorTool图标),聚光灯附近会多出一个图标。
同时聚光灯的操纵器变为两部分,这两部分称作“关注点和原点”(Centerofinterest/Origin),关注点也常被称作称作“目标点”。
操纵器的原点部分,可以改变灯光的位置;关注点位置可以改变灯光的方向(所有的灯光都包括此选项)。
再按一次“W”键(或是“E”“R”),恢复到原先的控制状态。
见图。
3、通过使用“LookThroughSelected”命令可以使我们更直观的确定灯光的照射,方向和位置。
该命令位于操作窗口左上角的命令菜单中,见图。
选中场景中的聚光灯,点击panels>LookThroughSelected命令,则当前视图切换成从灯光的角度观察物体的模式,可以通过与普通视图的操作同样的方法操作灯光模式的视图,该视图在变换的同时,相应的灯光也在改变在场景中的位置和方向。
通过使用该命令,可以大大方便我们对灯光的定位。
见图。
(一)灯光类型
(h)在Create-Lights命令下我们可以看到,6种灯光的类型。
(i)它们是AmbientLight环境灯;DirectionalLight定向灯;PointLight泛光灯;SpotLight聚光灯;AreaLight区域灯;VolumeLight体积光。
Pointlight(点光源)
点光源是被使用的最普通的光源。
光从一个点光源射向四面八方,所以光线是不平行的,光线相汇点是在灯所在的地方。
它模拟一个挂在空间里的无遮蔽的电灯泡。
点光源可以投射阴影。
点光源投射阴影的形状如下,注意它的形状是向外发散的。
DirectionalLight(平行光源)
远光灯是用来模拟一个非常明亮,非常遥远的光源。
所有的光线都是平行的。
虽然太阳是一个点光源。
可是因为它离我们的距离是如此的遥远,以至于太阳光到达地球后实际上是没有角度的,所以我们用平行光源来模拟太阳光。
要注意的是,平行光没有衰减属性。
平行光可以投射阴影。
平行光投射的阴影如图所示,因为平行光的光线都是平行的,所以它投射的阴影也是平行的,这是它的一大特征
SpotLight(聚光灯)
聚光灯是具有方向性的灯,所有的光线从一个点并以你定义的圆锥形状向外扩散。
可通过使用ConeAngle(锥角)滑块的方法,从顶点开始以度为单位来度量锥体。
聚光灯是所有灯光中参数最复杂的灯光。
通过调节它的参数可以产生很多类型的照明效果。
ConeAngle控制光束扩散的程度,通常采用缺省值40度就够了.不要把ConeAngle设置太大,否则阴影会出现问题.
PenumbraAngle该值为正时,外部矩形区域边缘模糊不清;该值为负时,内部矩形区域边缘模糊,边缘轮廓不清.
聚光灯投射阴影的形状如下:
AreaLight(区域光)
区域光是Maya灯光中比较特殊的一种类型。
和其它的灯光不同的是,区域光是一种二维的面积光源。
它的亮度不仅和强度相关,还和它的面积大小直接相关。
通过Maya的变换工具可以改变它的大小和方向。
区域光可以模拟诸如窗户射入的光线等情况。
而且区域光的计算是以物理为基础的。
它没有设置衰减选项的必要。
区域光也可以投射阴影。
但是如果使用DepthMapShadow算法来计算区域光的阴影,它的阴影和其它的灯光是没有什么两样。
要想得到真实的区域光阴影,必须使用光影追踪算法。
下图是通过光影追踪计算得到的区域光阴影,注意随着距离变远,其阴影变得越来越虚。
这是区域光的阴影特点。
但是这种高质量的阴影是以大量的计算时间为代价的。
AmbientLight(环境光)
顾名思义,环境光能够从各个方向军均匀的照射场景中的所有物体。
环境光具有两种相矛盾的属性。
它的一部分光是向各个方向照亮物体的(象一个无穷大的球的内表面发出的光),而另一部分光是从光源的位置发出的(象一个点光源)。
通过在属性编辑器中设置环境光的AmbientShade值的大小将这两个相反的参数结合起来。
如果AmbientShade的值大小为1时,环境光就完全成了一个点光源。
用一个环境光可以模仿方向光的联合(如太阳和灯),将点光源和漫射光结合起来
环境光也可以投射阴影,但只有光影追踪算法来计算阴影供你使用。
Volumelight(体积光)
它是一种可以控制光线照射范围的光,操作很灵活,可以手动控制衰减的效果。
相对其他几种灯光来说比较特殊,它的具体参数如下:
VolumeLight(体积光)
VolumeLight(体积光)除了在Attributes菜单中增加了一个LightShape参数外,还补充了两大项特有的参数ColorRange(颜色范围)部分和penumbra(半影)部分。
见图。
volumeLight(体积光)属性菜单
volumeLight(体积光)属性菜单的ColorRange(颜色范围)部分和penumbra(半影)部分
LightShape
体积光提供了四种体积形状,分别是“Box、Sphere、Cylinder、Cone”,不同的体积形状,决定了不同的体积光照射范围。
见图。
LightShape参数部分
体积光的四种体积形状
ColorRange(颜色范围)部分
该部分参数用于控制灯光照明区域从中心到边缘的颜色变化。
可以在右侧的颜色控制区域内手动控制。
在该区域内,鼠标单击任一位置会生成一个新控制点。
颜色区域上边的圆点确定了控制点的位置,可以左右拖动,同时该圆点也显示了对应控制点的颜色。
颜色区域下边的叉形符号点击可删除对应的控制点。
见图。
颜色控制区域
SelectedPosition
用于设定控制点的准确位置。
SelectedColor
用于设定控制点的颜色,点击颜色选择框可以弹出颜色选择面板。
Interpolation
用于设定控制点间的颜色过渡的渐变方式,提供了“None、Linear、smooth、Spline”四种渐变方式。
见图。
1、2、3、4依次为“None、Linear、smooth、Spline”渐变方式
利用ColorRange(颜色范围)参数创建的彩色光环
VolumeLightDir
该选项用于控制体积光在其照明区域内(体积内部)的照明方向,提供了“Outward、Inward、DownAxis”三种方向供选择。
Outward是模拟一个带有衰减的点光源;Inward是表现一种内部照明的的效果;DownAxis是模拟一种带有衰减的平行光。
见图。
Outward模式照明效果
DownAxis模式照明效果
Inward模式照明效果
ARC
用于控制体积光照射区域(体积)在Y轴上的张开角度。
默认是360度。
见图。
ARC角度值为30度
ConeEndRadius
该选项只有在LightShape属性为Cone时(即体积光的体积形状为锥形时)才有效,是用于控制圆锥的顶角半径的参数。
默认值为0,当该值不为0时,圆锥变成圆台。
见图。
体积形状为圆台的体积光
penumbra(半影)
此参数只有在LightShape属性为Cylinder和Cone时(即体积光的体积形状为圆柱形或圆锥形时)才有效,是用于控制体积光在其照明范区域内,从光源中心到四周的衰减效果。
可以在右侧的坡度条内手动设置其衰减值,常用于表现特殊效果。
坡度条的使用与ColorRange属性中提到的颜色条的使用方法相同,不再赘述。
见图。
利用penumbra部分参数调制的特殊照明效果
SelectedPosition:
用于设定控制点的准确位置。
SelectedValue:
用于设定控制点所在位置的衰减值。
Interpolation:
用于设定控制点间衰减值的过渡方式,提供了“None、Linear、smooth、Spline”四种过渡方式。
(二)灯光的基本属性:
在属性编辑面板中,包括了该灯光的所有属性参数。
在spotLightShape1标签栏下,我们可以调整灯光的各种属性和参数。
我们观察该标签栏下的参数面板,参数被分成了八大部分(比Maya4.5版本增加了两项),见图。
我们常用到的是“SpotLightAttributes(聚光灯属性)”、“LightEffects(灯光特效)”、“Shadows(阴影)”和“ExtraAttributes(扩展属性)”这几部分参数。
1SpotLightAttributes(聚光灯属性)
点击展开SpotLightAttribute卷展栏,这里提供了灯光的基本属性,见图。
Type:
灯光的类型,可通过该选项,把当前灯光改变为其它类型的灯光。
点击该参数右侧的向下的三角箭头,打开下拉菜单。
在下拉菜单中,我们可以找到前边所提到的六种类型的灯光,选中其中的一种,当前灯光就改变为你选中的类型,见图。
Color:
控制灯光的颜色,默认值是白色,见图。
点击颜色区域,会弹出ColorChooser窗口,在窗口中可以有多种方式选择需要的颜色,见图。
在颜色区域的右侧,是范围控制滑条,该滑条控制当前颜色的明度。
最右侧是贴图按钮,点击该按钮会弹出材质创建面板“CreateRenderNode”,在该面板中,可以为灯光的颜色属性指定一种材质纹理,灯光会对该纹理进行投影。
见图。
Maya灯光的所有属性只要右侧有贴图按钮的就都可以进行贴图操作,可以通过贴图来控制该属性,有关这一点后面不再赘述。
Intensity:
控制灯光的强度(亮度)。
值为零时,灯光不产生照明效果。
右侧的范围滑条的默认范围是0~10,在输入栏中直接输入数值,可以定义大于10和小于0的值。
见图。
当灯光的强度定义为负数时,可以产生吸光灯的效果,可以用于消除其他灯光产生的热点或耀斑。
灯光的四种衰减方式:
NoDecay(无衰减)、Linear线性衰减、Quadratic(二次方衰减)、Cubic(立方衰减),我们常用到的是一次衰减和二次方衰减。
此外,该值对小于一个单位的距离没有影响。
默认值为NoDecay。
见图。
灯光在场景中如图位置
由左向右依次为,相同条件下的灯光在DecayRate参数分别为NoDecay、Linear、Quadratic、Cubic时的渲染结果
ConeAngle:
聚光灯的的锥角角度,控制聚光灯光束扩散的程度,单位为“度”。
该参数是聚光灯特有的属性,有效范围是0.006~179.994度。
PenumbraAngle:
控制聚光灯的锥角边缘在半径方向上的衰减程度。
在聚光灯的锥角边缘处,在半径方向上的一定距离内,将光强以线性方式衰减为0,单位为“度”。
Dropoff:
控制灯光强度从中心到聚光灯边缘减弱的速率。
见图。
该参数有效范围0~无穷,右侧滑块的默认范围是0~255。
可以在输入框种直接输入数值,一般值都控
制在0~50之间。
注意,值为1或更小值时,效果都是相同的。
其它类型灯光的属性
AmbientLight(环境光)比聚光灯补充了一个特有参数:
AmbientShade,该参数是
用于控制环境光是趋向于各个方向均匀照亮物体的,还是趋向于象一个点光源一样从一个点发射光线。
如果AmbientShade的值大小为1时,环境光就完全成了一个点光源。
AmbientLight(环境光)、DirectionalLight(平行光)、PointLight(泛光灯)、AreaLight(面积光)只是比聚光灯少了一些属性参数,其保留下来的属性参数功能与聚光
灯的相同。
Shadows(灯光阴影)
真实世界中光与影是密不可分的,物体有光源照射就要产生阴影。
阴影是CG创作中
用于物体表现最重要的手段之一,有光有影才会使场景和物体产生空间感、体积感和质量感。
Maya中提供了两种阴影生成方式:
DepthMapShadows(深度贴图阴影)和RayTraceShadows(光线追踪阴影)。
DepthMapShadows(深度贴图阴影):
这种阴影生成方式是Maya在渲染时,生成一个深度贴图文件,该文件纪录了投射阴影的光源到场景中被照射物体表面之间的距离等信息。
根据这个文件来确定物体表面的位置前后,从而对后面的表面投射阴影。
这种阴生成方式特点是渲染速度快,生成的阴影相对比较软,边缘柔和,但是不如RayTraceShadows(光线追踪阴影)真实。
RayTraceShadows(光线追踪阴影):
这种阴影生成方式是比较真实的跟踪计算光线的传播路线,从而确定如何和在哪里投射阴影的一种方法。
这种方法的特点是计算量大,渲染速度慢,但是生成的阴影比DepthMapShadows(深度贴图阴影)更真实,阴影比较硬,边缘清晰。
想要表现物体的反射和折射效果时,要使用RayTraceShadows(光线追踪阴影)才能表现出真实的效果。
Maya中创建的灯光默认状态下是没有打开阴影选项的,不投射阴影,这是考虑到渲染速度的原因。
我们要使灯光投射阴影,需要在选中灯光的属性编辑面板中手动打开阴影选项,即选择DepthMapShadows(深度贴图阴影)或是RayTraceShadows(光线追踪阴影)方式。
对同一盏灯光,这两种阴影的生成方式只能选择一种,当选择了一种时,另一种会自动关闭。
要注意的是,在我们使用了RayTraceShadows(光线追踪阴影)方式时,还需要在Maya菜单栏中Windows>RenderingEditors>RenderGlobals(渲染全局设置)面板中找到RaytracingQuality选项栏,勾选打开Raytracing选项,从而启动渲染的光线追踪计算功能,否则是渲染不出RayTraceShadows(光线追踪阴影)效果的。
此外,AmbientLight(环境光)只支持RayTraceShadows(光线追踪阴影),没有DepthMapShadows(深度贴图阴影)的选项。
DepthMapShadowAttributes(深度贴度阴影属性):
UseDepthMapShadows:
勾选该选项后,Maya在渲染时会产生深度贴图阴影。
同时,
下边的深度贴图阴影的属性参数被激活。
左侧为DmapResolution值为512时生成的阴影,右侧为DmapResolution值为2048时生成的阴影。
DmapResolution:
用于控制生成的深度贴图文件的大小。
例如:
512像素(默认值)就会生成一个512X512像素的深度贴图文件。
该值越大,生成的阴影就越清晰,但是计算量就会越大,渲染的速度也会越慢。
Dmap是DepthMap的缩写。
UseMidDistDmap:
如果不勾选,maya会为深度贴图中每个像素计算从灯光到最近投射曲面间的距离,作为判断另一个表面是否处在这个表面的阴影中的依据。
如果勾选,灯光会计算最近的投射曲面间的距离,再计算到下一个最近投射曲面间的距离,然后取平均值,作为判断另一个表面是否处在这个表面的阴影中的依据。
UseDmapAutoFocus:
勾选后,Maya会自动缩放创建的深度贴图填充灯光照明区域。
如果不勾选,可以手动调整深度贴图。
默认勾选。
DmapFocus/DmapWidthFocus:
用于手动缩放深度贴图文件的大小。
聚光灯、点光源等灯光类型此参数名称为DmapFocus,平行光的此参数名称为DmapWidthFocus。
因为Maya创建的深度贴图文件使用的是绝对分辨率,所以减小深度贴图的尺寸能有效增加深度贴图的分辨率,而不增加渲染时间。
默认状态下勾选UseDmapAutoFocus选项,让Maya自动缩放深度贴图文件。
UseLightPosition:
此参数仅应用于平行光,控制平行光是否在图标前后都产生照明和阴影效果。
如果勾选则平行光仅在图标前面产生照明和阴影效果;如果不勾选对图标的两侧都发生作用。
默认为不勾选。
DmapFilterSize:
用于控制深度贴图阴影边缘的模糊程度。
值越大,则阴影边缘的模糊程度越高。
DmapBisa:
用于控制深度贴图阴影偏移投影物体的程度。
该值在某些特殊情况下用来微调阴影和投影物体的相对位置关系。
一般使用默认值。
FogShadowIntensity:
该参数是用来控制灯光雾的阴影强度的,该值越大,灯光雾的阴影效果就越强。
(有关灯光雾效果请参考“灯光特效”部分)
FogShadowSamples:
控制灯光雾效果的阴影采样值,用来改善灯光雾的阴影的颗粒现象。
该值越高,灯光雾的阴影越细腻,但是相应的计算量也会增加,渲染速度变慢。
DiskBasedDmaps:
该属性和其下的参数用于设置Maya重复使用深度贴图信息文件,合理的设置这部分参数可以大大提高Maya的渲染效率。
Maya允许我们将灯光的深度贴图保存到磁盘中,在以后的渲染中可以直接调用这个文件,不必再次计算深度贴图文件,加快渲染速度。
该文件被保存在预定的“工程项目”下的depth目录中。
Off:
每次渲染时都计算深度贴图文件。
不读取磁盘上保存的深度贴图文件,也不保存新生成的深度贴图文件。
OverwriteExistingDmap(s):
每次渲染时重新计算深度贴图文件,并且把该文件保存到磁盘上,如果磁盘上已存在深度贴图文件,则覆盖原文件。
ReuseExistingDmap(s):
渲染时先检查磁盘上是否有保存的深度贴图文件。
如果有就使用该文件,如果没有就新计算一个深度贴图文件,并保存到磁盘上。
DmapName:
自定义深度贴图文件的文件名。
DmapSceneName:
将场景文件名添加到生成的深度贴图文件名中。
DmapLightName:
将灯光名添加到生成的深度贴图文件名中。
DmapFrameExt:
有动画时,如果勾选该选项,Maya会保存每一帧的深度贴图并且把帧数添加到深度贴图的文件名中;如果不勾选,则整个动画保存为一个深度贴图文件。
DmapUseMacro:
Maya运行一些宏命令,来更新从磁盘中读出的深度贴图。
该参数只有在DiskBasedDmaps选项为ReuseExistingDmap(s)时才被激活。
UseOnlySingleDmap:
该选项只应用于聚光灯。
勾选时,Maya会在渲染时为聚光灯只生成一个深度贴图文件。
但是,如果,聚光灯的coneangle锥角角度过大(大于90度),深度贴图的DmapResolution值可能会不够用,阴影的边缘就会出现锯齿。
这时候如果取消该选项的勾选,Maya会为聚光灯创建多个深度贴图文件,即分别在每一个轴向上创建深度贴图文件。
RaytraceShadowAttributes(光线追踪阴影属性):
UseRayTraceShadows:
勾选该选项后,Maya在渲染时会产生光线追踪阴影。
同时,下边的光线追踪阴影的属性参数被激活。
LightRadius:
该参数用于控制光线追踪生成的阴影边缘的模糊程度。
该值越大,阴影的边缘就越模糊,但是颗粒现象越明显,可通过调整ShadowRays参数来改善颗粒现象,生成柔和细腻的阴影边缘。
要注意的是,在平行光中该参数名称为LightAngle,功能相同。
在面积光中没有该参数。
产生有颗粒的阴影边缘
ShadowRays:
该参数用于控制光线追踪生成的阴影边缘的细腻程度,改善由LightRadius参数生成的颗粒现象。
该值越大,阴影的边缘就越细腻,但是计算量相应增加,渲染速度变慢。
RayDepthLimit:
用于限制生成光线跟踪阴影时光线进行反射或是折射计算的次数。
默认为最小次数1次。
要注意的是,在RenderGlobals(渲染全局设置)面板中的RaytracingQuality选项栏中的Shadows参数,该参数也是用于控制生成光线追踪阴影时的反射或折射计算次数。
Maya在渲染时会比较这两个值,然后取较小的那个值作为控制。
此外,当这个值为1时,透明物体后边的阴影不会被显示出来,至少为3时才会显示出透明物体后边的阴影。
LightEffects(灯光特效):
我们除了可以控制灯光的基本照明属性外,还可以给灯光添加一些特殊效果。
Maya给我们提供了LightFog(灯光雾)、LightGlow(灯光辉光)、BarnDoors(光栅)、DecayRegions(衰减区域)四种特效。
但是,并不是所有类型的灯光都可以添加这四种特效,下面我们来一一说明。
灯光属性编辑面板中的特效部分
LightFog(灯光雾):
灯光雾是在灯光的照明范围内添加一种云雾效果。
灯光雾只能应用于点光源、聚光灯和体积光。
点光源的灯光雾是球形的,聚光灯的灯光雾是锥形的,体积光的灯光雾效果是由它的体积形状决定的。
LightFog:
创建灯光雾效果。
点击LightFog参数右侧的贴图按钮,Maya就会给灯光添加一个雾节点,也就创建了一个灯光雾效果,该节点的名称显示在中间的名称栏中。
FogType(雾类型):
该参数只在点光源的属性编辑面板中出现,是用来设置灯光雾的三种不同浓度衰减方式。
Normal是雾的浓度不随着距离变化;Linear是雾的浓度随着距离的增加呈线性衰减