在某些情况下,导出到 .mi 以使用 mental ray Standalone 进行渲染的文件看起来包含在帧之间振动的几何体。这种情况下,存在三种可能的解决方法。
精度上的损失是由于 Maya mental ray 仅为浮点位置导出六位精度,且仅为双精度点位置导出 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>
如果遇到 Maya mental ray 渲染错误,并保存了 Maya 场景,则不应立即尝试重新渲染场景。而应退出并重新启动 Maya。
如果没有足够的内存来渲染场景,可能会显示一条类似于“MEM 0.3: TRY -MEMORY 314”的错误消息。若要解决该问题,请选择“渲染 > 渲染当前帧(Render > Render Current Frame) > ”,并将内存限制增大至大于或等于错误消息中所述的内存限制。但是,通常出现内存不足的情况时,还应查看场景以找到可能的优化。
由于(自 Maya 5.0 起)统一的渲染设置(请参见打开“渲染设置”窗口),其中一些 Maya mental ray“源于 Maya”设置不再存在。可能需要修改某些较旧的文件,已通过设定 Maya mental ray 渲染设置为这些文件设定“源于 Maya”。
有关 Maya mental ray 与 Maya 之间的已知差异,请参见 Maya mental ray 渲染看起来与 Maya 渲染不同。
如果某个对象被某个透明对象遮挡(例如,一个图像平面),那么即使禁用其“主可见性”(Primary Visibility)标志(在对象的“属性编辑器”(Attribute Editor)的“渲染统计信息”(Render Stats)区域下),该对象仍会渲染。
改为禁用“在透明对象后可见”(Visible in Transparency)标志(在对象的“属性编辑器”(Attribute Editor)的“mental ray”区域下)。
仅在 Maya mental ray 中会出现该行为。这是因为,与 Maya 渲染器不同,Maya mental ray 会区分“主可见性”(Primary Visibility)和“透明度”(Transparency)。禁用“主可见性”(Primary Visibility)时,mental ray 仍会识别透明遮挡对象后面的几何体,并会将它包含在渲染中。若要排除该几何体,请禁用“在透明对象后可见”(Visible in Transparency)标志。
Maya mental ray 渲染看起来与 Maya 渲染不同
下列各节介绍了 Maya 与 Maya mental ray 之间的已知差异,并提供有关如何处理这些情况的提示。
mental ray 使用自适应细分方法以更好地适配置换贴图的细节。会对初始细分(对于 NURBS:在曲面近似后)进一步细分以适配次级标准,该次级标准是由置换近似设置控制的。默认情况下,Maya mental ray 会创建适当的设置,这些设置会导致三角形的曲率依赖细分,这是一种基于特征的置换贴图形式。通过在“近似编辑器”(Approximation Editor)中创建或选择自定义置换近似节点,可以更改这些设置。有关近似节点的详细信息,请参见近似节点。
如果禁用了 Maya 灯光上的 mental ray 阴影贴图属性,那么尽管大多数控制值是不可比较的,Maya mental ray 仍会从 Maya 的深度贴图设置中获取阴影贴图的大多数参数。这将导致不同的结果,特别是当修改过滤器值以实现软阴影时。若要获得明晰的阴影,应将“过滤器大小”(Filter Size)设定为 0。诸如“使用中间距离”(Use Mid Dist)和“使用自动聚焦”(Use Auto Focus)之类的其他控件不用于获取 mental ray 阴影贴图值。
有关 Maya mental ray 处理阴影贴图的方式的信息,请参见手册的“照明”部分中的 Maya 中的阴影。
mental ray 着色器中的凹凸贴图实现处理凹凸节点中的“过滤器”(Filter)设置的方式可能与 Maya 稍有不同。该过滤器通常会产生依赖于视图的凹凸贴图细节,但在动画中可能是不适当的。只要已通过将“过滤器”(Filter)值设定为 0 来禁用过滤器,“过滤器偏移”(Filter Offset)就会在 Maya 和 mental ray 中确定凹凸贴图查找。这样会导致不依赖于视图的可比较的凹凸贴图渲染结果。
透明对象会根据 Maya 的“蒙版不透明度”(Matte Opacity)设置在最终图像中生成适当的 Alpha 通道。但是,存在某些限制:
有关透明度的详细信息,请参见手册的“着色”部分中的曲面纹理。
mental ray 镜头着色器支持该效果,但该效果不像在 Maya 中那样作为一个输出过滤器。因此,景深依赖于 mental ray 中的全局采样设置。提高最小或最大采样级别可以提高质量,但会相应地减慢渲染的速度。另一方面,作为一种真实的 3D 效果,景深不会显示有问题场景的任何瑕疵,在这些场景中输出过滤器无法生成正确的景深模糊。
使用 mental ray 进行渲染在所有平台上支持软件渲染的粒子类型。若要渲染粒子,需要新的 mayabase 着色器库,也会为所有平台提供该库。也会将粒子数据导出到 .mi 文件中。无法在字节排序(大端或小端)与使用 Maya 的计算机(例如,混合 Linux 和 Windows)不同的计算机上渲染这些文件。粒子平移和渲染会受到限制,且可能无法处理大粒子计数。粒子不支持灯光链接。但是,软件粒子和粒子实例化应该可以完美地在一起工作。
撕下 Maya mental ray“渲染”菜单可能会使 Maya 崩溃
如果撕下 Maya“渲染”菜单,然后加载 Maya mental ray 插件并撕下 Maya mental ray“渲染”菜单,那么 Maya 可能会崩溃。
防火墙处于活动状态时 Maya mental ray 崩溃或无法加载
防火墙软件可能阻止命令端口。加载 Maya mental ray 时,防火墙会提示是否要“允许 Maya 应用程序访问 Internet:IP 127.0.0.1 端口 1333”。如果选择否,Maya 会立即退出而不显示警告或错误消息。如果选择是,Maya mental ray 会按预期方式启动。