Maya渲染中如何渲染阴影?
Maya 中的阴影
阴影与灯光一起工作,可增加场景的真实感。阴影可帮助定义对象的位置,例如,它们是位于地面上还是悬停在空间中。阴影可以是软边或硬边的,且阴影的存在(或不存在)可用于为场景中的对象添加平衡和对比度。
若要创建阴影,场景中必须包含投射阴影的灯光、投射阴影的曲面和捕获阴影的曲面。灯光必须同时照亮投射阴影的曲面和捕获阴影的曲面。
默认阴影
默认情况下,Maya 中的灯光投射阴影。默认情况下,除环境光外,所有灯光启用光线跟踪阴影(在灯光“属性编辑器”(Attribute Editor)“阴影”(Shadows)部分的“光线跟踪阴影属性”(Raytrace Shadow Attributes)部分启用“使用光线跟踪阴影”(Use Ray Trace Shadows))。通过禁用该属性,可以禁用阴影。阴影过多可能会弄乱场景,且需消耗时间来进行渲染,因此应根据需要使用尽可能少的阴影。
如果场景中没有灯光投射阴影,则所有朝向光源的曲面将照亮,即使被另一个曲面遮住也是如此。(当灯光照在 Maya 中的曲面上时,曲面朝向光源的部分将被照亮,曲面背向光源的部分将显示为黑色。)
但是,可以通过控制可生成阴影的灯光和曲面组合来添加阴影。通常,只需要少数特定灯光和曲面来生成阴影。通过将阴影限制为仅针对这些特定灯光和曲面,可帮助减少渲染时间。
注: 在 Maya 中,未照亮的曲面不会被视为阴影。例如,所有背向光源的曲面不会被照亮。
深度贴图和光线跟踪阴影
在 Maya 中,单个光源可以生成无阴影(默认)、深度贴图阴影或光线跟踪阴影。可以在场景中结合使用深度贴图阴影投射光和光线跟踪阴影投射光。
通过调整深度贴图阴影或光线跟踪阴影的属性,可以模拟来自许多不同类型的真实光源和对象的阴影。
深度贴图阴影和光线跟踪阴影产生类似的效果,但深度贴图阴影进行渲染需要的时间通常更少。通常情况下都可选择深度贴图阴影,除非无法实现您的视觉目标。
深度贴图阴影
深度贴图阴影几乎在任何情况下都能产生非常好的效果,并且能最低限度地增加渲染时间。
深度贴图表示从特定光到光照亮的曲面之间的距离。深度贴图是包含从光的视点渲染的深度数据的数据文件。深度贴图中的每个像素代表从光到特定方向的最近阴影投射曲面的距离。
若要创建深度贴图阴影,请参见渲染深度贴图阴影。
如果场景包含深度贴图阴影投射光源,则 Maya 会在渲染期间为该光源创建一个深度贴图文件(存储为 Maya IFF 文件),并使用该深度贴图文件确定哪些曲面处于阴影中。在某些情况下,您可以通过保存和重用深度贴图来缩短渲染时间。若要了解如何重用深度贴图,请参见重用深度贴图。
光线跟踪阴影
光线跟踪阴影可以产生柔和并透明的阴影,但可能非常耗时。
光线跟踪是一种阴影渲染类型,在该情况下,单个光线的路径基于从其光源(光)到其目标(摄影机)的距离计算得出。
只使用光线跟踪阴影可生成物理上更加精确的阴影(就像现实世界中的阴影一样)。常见用途包括:
-
(仅适用于区域光)随着与对象的距离增加,阴影模糊并且变得更亮
-
从透明的有色曲面生成阴影
-
生成边缘柔和的阴影(尽管深度贴图也可以产生良好的效果)
若要创建光线跟踪阴影,请参见渲染光线跟踪阴影。
注:
您可以在交互式真实照片级渲染 (IPR) 中看到深度贴图阴影,但无法看到光线跟踪阴影。必须渲染场景才能看到光线跟踪阴影。
渲染深度贴图阴影
创建深度贴图阴影
-
选择要为其生成阴影的灯光。
-
在灯光“属性编辑器”(Attribute Editor)的“阴影”(Shadows)区域中,启用“使用深度贴图阴影”(Use Depth Map Shadows)。
-
选择要在其上投射阴影的曲面。
-
在曲面的“属性编辑器”(Attribute Editor)的“渲染统计信息”(Render Stats)区域中,启用“投射阴影”(Casts Shadows)。
提示:
-
在深度贴图阴影属性中,将灯光的“分辨率”(Resolution)设定为生成可接受质量阴影的最小值。作为一个起点,请将“深度贴图分辨率”(Dmap Resolution)设定为与渲染分辨率相同的值。如果“深度贴图分辨率”(Dmap Resolution)过低,阴影边缘会出现锯齿。如果“深度贴图分辨率”(Dmap Resolution)过高,渲染时间会增加。
-
从命令行进行批渲染时,请通过使用 Render -sp <sceneName> 命令和选项,在生成阴影深度贴图之后再渲染场景。这可以帮助缩短渲染时间,并可以将深度贴图重用于后续渲染。
渲染光线跟踪阴影
光线跟踪阴影
-
选择要生成阴影的灯光。
-
在灯光“属性编辑器”(Attribute Editor)的“光线跟踪阴影属性”(Raytrace Shadow Attributes)部分,启用“使用光线跟踪阴影”(Use Ray Trace Shadows)。
-
选择要投射阴影的曲面。
-
在曲面“属性编辑器”(Attribute Editor)的“渲染统计信息”(Render Stats)部分,启用“投射阴影”(Casts Shadows)。
-
在“渲染设置”(Render Settings)窗口(“窗口 > 渲染编辑器 > 渲染设置”(Windows > Rendering Editors > Render Settings))的“光线跟踪质量”(Raytracing Quality)部分中,启用“光线跟踪”(Raytracing)。
-
渲染。
重用深度贴图
如果使用深度贴图阴影,默认情况下,Maya 会为每个深度贴图启用光源和渲染过程中动画的每个帧计算出至少一个深度贴图。
在某些情况下,通过保存和重复使用灯光的深度贴图可以缩短渲染次数。请参见下表以确定重用深度贴图是否对您的特定情况有利。
默认情况下,Maya 将把深度贴图文件保存在当前项目的 renderData/depth 目录中。
目标操作
对单个帧进行多次渲染时,每次都会调整对象或灯光特性,但不移动灯光或对象。 (深度贴图不会更改并可以重用。) |
|
渲染灯光或灯光照明对象不移动的动画(例如,摄影机飞越)。 (深度贴图不会逐帧更改,并且可以重用。) |
|
在灯光和/或灯光照明对象发生移动的动画渲染中,深度贴图将会逐帧更改。 若要对整个动画多次渲染,每次对对象或灯光特性进行调整,但不更改灯光或对象的移动方式,每个帧的深度贴图与初始渲染时的相同,可以重用。 |
|
对单个帧或动画进行渲染时,之前已经在磁盘中保存了深度贴图,且灯光和/或灯光照明对象发生了移动。 现在的深度贴图与之前不同,且不能重用磁盘上的深度贴图。 |
|
重要: 如果不想再使用保存到磁盘的深度贴图,请将“基于磁盘的深度贴图”(Disk Based Dmaps)设置为“禁用”(Off),以便 Maya 在每次进行渲染时再次开始计算深度贴图。(当“基于磁盘的深度贴图”(Disk Based Dmaps)处于“禁用”(Off)状态时,Maya 不会读取深度贴图或将且写入到磁盘。)