解决一般的 mental ray for Maya 渲染问题

 
 
 

导出到 .mi 时几何体在帧之间振动

在某些情况下,导出到 .mi 以使用 mental ray Standalone 进行渲染的文件看起来包含在帧之间振动的几何体。这种情况下,存在三种可能的解决方法。

方法 1

导出到 .mi 文件时,使用二进制文件格式而不是 ASCII 可避免由于转化而导致的数据丢失。

方法 2

精度上的损失是由于 mental Ray for Maya 仅为浮点位置导出六位精度,且仅为双精度点位置导出 15 位精度。例如,导出时浮点值 1000.2249 会被舍入为 1000.22。

若要增加精度,可以使用“导出浮点精度”和“导出双精度”动态属性。

通过在状态行中输入以下命令创建这些属性:

addAttr -type short -ln “exportFloatPrecision” mentalrayGlobals
addAttr -type short -ln “exportDoublePrecision” mentalrayGlobals

按如下方式设定这些属性:

setAttr mentalrayGlobals.exportFloatPrecision <value>
setAttr mentalrayGlobals.exportFloatPrecision <value>

其中 <value> 是需要使用的精度位数。

方法 3

避免以非常小的形状变形使用过大的对象偏移,否则会产生诸如 1000.000001 这样的顶点位置。此位置超出了浮点数表示的通常精度,.mi 格式不能以双精度表示顶点位置。如果使用默认精度不足以表示 .mi 文件中的场景,应检查 Maya 模型以避免极端值:

  • 场景元素的全局放置应仅使用实例变换矩阵,而
  • 局部功能和变形应仅使用形状的顶点/点数据。

已知某些 Maya 建模功能(如蒙皮)将全局变换烘焙到最终形状特性,这可能会导致极端情况下出现所述的问题。

mental Ray for Maya 渲染错误

如果遇到 mental Ray for Maya 渲染错误,并保存了 Maya 场景,则不应立即尝试重新渲染场景。而应退出并重新启动 Maya。

显示错误消息 try -memory error

如果没有足够的内存来渲染场景,可能会显示一条类似于“MEM 0.3: TRY -MEMORY 314”的错误消息。若要解决该问题,请选择渲染 > 渲染当前帧(Render > Render Current Frame) > ,并将内存限制增大至大于或等于错误消息中所述的内存限制。但是,通常出现内存不足的情况时,还应查看场景以找到可能的优化。

某些源于 Maya 的较旧设置不再适用

由于(自 Maya 5.0 起)统一的渲染设置(请参见打开“渲染设置”窗口),其中一些 mental Ray for Maya“源于 Maya”设置不再存在。可能需要修改某些较旧的文件,已通过设定 mental Ray for Maya 渲染设置为这些文件设定“源于 Maya”

有关 mental Ray for Maya 与 Maya 之间的已知差异,请参见 mental Ray for Maya 渲染看起来与 Maya 渲染不同

禁用主可见性时,对象仍会渲染

如果某个对象被某个透明对象遮挡(例如,一个图像平面),那么即使禁用其“主可见性”(Primary Visibility)标志(在对象的“属性编辑器”(Attribute Editor)“渲染统计信息”(Render Stats)区域下),该对象仍会渲染。

改为禁用“在透明对象后可见”(Visible in Transparency)标志(在对象的“属性编辑器”(Attribute Editor)“mental Ray”区域下)。

仅在 mental Ray for Maya 中会出现该行为。这是因为,与 Maya 渲染器不同,mental Ray for Maya 会区分“主可见性”(Primary Visibility)“透明度”(Transparency)。禁用“主可见性”(Primary Visibility)时,mental Ray 仍会识别透明遮挡对象后面的几何体,并会将它包含在渲染中。若要排除该几何体,请禁用“在透明对象后可见”(Visible in Transparency)标志。

注意

仅当遮挡对象为“透明”(Transparent)时才会出现该行为。如果在禁用“主可见性”(Primary Visibility)的情况下为遮挡对象设置场景,则不会出现该行为。

mental Ray for Maya 渲染看起来与 Maya 渲染不同

下列各节介绍了 Maya 与 mental Ray for Maya 之间的已知差异,并提供有关如何处理这些情况的提示。

仅渲染扫描线

仅渲染扫描线是 Maya 中的默认渲染模式。因为扫描线渲染在各个方面受到限制,所以与下列各项功能一起使用时它可能会显示瑕疵:运动模糊、体积渲染、阴影跟踪等等。如果出现渲染问题,则应启用光线跟踪。

置换

mental Ray 使用自适应细分方法以更好地适配置换贴图的细节。初始细分(对于 NURBS:曲面近似后)将得到进一步细分,以拟合次级标准(由置换近似设置控制)。默认情况下,mental Ray for Maya 会创建适当的设置,这些设置会导致三角形的曲率依赖细分,这是一种基于特征的置换贴图形式。通过在“近似编辑器”(Approximation Editor)中创建或选择自定义置换近似节点,可以更改这些设置。有关近似节点的详细信息,请参见近似节点

阴影贴图

如果禁用了 Maya 灯光上的 mental Ray 阴影贴图属性,那么尽管大多数控制值是不可比较的,mental Ray for Maya 仍会从 Maya 的深度贴图设置中获取阴影贴图的大多数参数。这将导致不同的结果,特别是当修改过滤器值以实现软阴影时。若要获得明晰的阴影,应将“过滤器大小”(Filter Size)设定为 0。诸如“使用中间距离”(Use Mid Dist)“使用自动聚焦”(Use Auto Focus)之类的其他控件不用于获取 mental Ray 阴影贴图值。

有关 mental Ray for Maya 处理阴影贴图的方式的信息,请参见 Maya 中的阴影

凹凸贴图

mental Ray 着色器中的凹凸贴图实现处理凹凸节点中的“过滤器”(Filter)设置的方式可能与 Maya 稍有不同。该过滤器通常会产生依赖于视图的凹凸贴图细节,但在动画中可能是不适当的。只要已通过将“过滤器”(Filter)值设定为 0 来禁用过滤器,“过滤器偏移”(Filter Offset)就会在 Maya 和 mental Ray 中确定凹凸贴图查找。这样会导致不依赖于视图的可比较的凹凸贴图渲染结果。

蒙版不透明度

透明对象会根据 Maya 的“蒙版不透明度”(Matte Opacity)设置在最终图像中生成适当的 Alpha 通道。但是,存在某些限制:

  • mental Ray 颜色片段模式和预乘设置会影响蒙版结果。默认颜色片段模式“Raw”可确保与 Maya 的最佳兼容性,特别是当使用“BlackHole”不透明度模式时,或者在“OpacityGain”“SolidMatte”模式下朝着 0 滑动“蒙版不透明度”(Matte Opacity)值时
  • 除“Raw”之外的 mental Ray 颜色片段模式在将颜色或 Alpha 值存储到帧缓冲区中之前可能会改变颜色或 Alpha 值,这可用于产生更好的效果。
  • 使用 mental Ray 进行渲染时,“BlackHole”不透明度模式可能会在颜色通道中导致不同的结果,反射可能仍然会显示出来。

有关透明度的详细信息,请参见曲面纹理

景深

mental Ray 镜头着色器支持该效果,但该效果不像在 Maya 中那样作为一个输出过滤器。因此,景深依赖于 mental Ray 中的全局采样设置。提高最小或最大采样级别可以提高质量,但会相应地减慢渲染的速度。另一方面,作为一种真实的 3D 效果,景深不会显示有问题场景的任何瑕疵,在这些场景中输出过滤器无法生成正确的景深模糊。

渲染层

将组指定给某个渲染层时,mental Ray for Maya 会假定组的所有成员也属于该层并继承该层的属性。但是,Maya 允许将组的成员指定给与组父对象不同的层。

粒子系统平移和渲染

使用 mental Ray 进行渲染在所有平台上支持软件渲染的粒子类型。若要渲染粒子,需要新的 mayabase 着色器库,也会为所有平台提供该库。也会将粒子数据导出到 .mi 文件中。无法在字节排序(大端或小端)与使用 Maya 的计算机(例如,混合 Linux 和 Windows)不同的计算机上渲染这些文件。粒子平移和渲染会受到限制,且可能无法处理大粒子计数。粒子不支持灯光链接。但是,软件粒子和粒子实例化应该可以完美地在一起工作。

撕下 mental Ray for Maya“渲染”菜单可能会使 Maya 崩溃

如果撕下 Maya“渲染”(Render)菜单,然后加载 mental Ray for Maya 插件并撕下 mental Ray for Maya“渲染”(Render)菜单,那么 Maya 可能会崩溃。

解决方法

关闭菜单,然后再加载 mental Ray for Maya。

防火墙处于活动状态时 mental Ray for Maya 崩溃或无法加载

防火墙软件可能阻止命令端口。加载 mental Ray for Maya 时,防火墙会提示是否要“允许 Maya 应用程序访问 Internet:IP 127.0.0.1 端口 1333”。如果选择否,Maya 会立即退出而不显示警告或错误消息。如果选择是,mental Ray for Maya 会按预期方式启动。

解决方法

如果正在使用任何防火墙软件,那么将需要赋予 Maya 在端口 1333 上进行通信的权限,mental Ray for Maya 才能正常工作。

mental Ray for Maya 的 3D 绘制问题

使用 3D 绘制来绘制纹理时,mental Ray for Maya 将不会自动拾取新的绘制笔划。

解决方法

保存正在绘制的纹理或整个场景,然后使用 mental Ray 进行渲染,以确保所有笔划正确地进行渲染。

mental Ray images 文件夹

默认情况下,mental Ray 批渲染图像会保存到项目下的 images 文件夹中。

在多核心计算机上提交多个渲染时渲染速度比预期慢

在多核心计算机上提交多个渲染时,所使用的内存量会大得多。另一方面,跨多个核心进行单一渲染会产生更好的渲染速度,因为内存可以共享。