如果在 Viewport 2.0 中无法获得预期结果,请参考下列内容找到可能的解决方案和解决方法:
一般功能
- 使用 MHWRender::MRenderer::setGeometryDrawDirty() 接口标记与 MPxDrawOverride 对象脏关联的 DAG 对象时,可选的 topologyChanged 参数必须设置为 True。
- 与使用 GLSL 着色器相比,使用 HLSL 着色器时,您可能会看到不同的颜色渐变。这是由于其不同的颜色插值实现所造成的。这可以通过增加应用着色器的对象的细分数量来校正。
- 如果在 Viewport 2.0 中使用 Alpha 通道硬件渲染自由图像平面,它将与黑色背景混合。Viewport 2.0 工作区与批渲染的默认渐变背景值不同,后者默认设置为黑色。因此,如果您需要通过这两种渲染获得相同的结果,则必须通过将场景视图背景设置为黑色确保其背景色匹配。使用
+B 在场景视图中循环回黑色。
- 如果您发现操纵灯光时置换曲面的阴影消失,则可通过增加 dx11shader“属性编辑器”(Attribute Editor)下的“置换剪裁偏移”(Displacement Clipping Bias)来解决该问题。
- 如果您遇到斑驳问题(其中背面的 UI 元素和对象透印前面的对象),请增加深度分辨率。一种简便的方法是放大摄影机上的近剪裁平面。
-
如果您注意到在执行某些操作(例如选择并翻转、取消选择后翻转)后立即在视口中以不同的方式绘制对象,并且已启用“合并世界”(Consolidate world),则可能需要禁用“合并世界”(Consolidate world)才能解决该问题。
有关详细信息,请参见合并世界。
通过 Windows 远程桌面访问 Maya 时,Maya 会自动将 Viewport 2.0 渲染引擎切换到 DirectX 11 模式,以便进行远程会话。
- 当前,景深是 2D 效果,因此,将景深与立体摄像机结合使用时,您可能会看到展平效果。
- 如果使用“Maya 硬件 2.0”(Maya Hardware 2.0)进行渲染,渲染输出的分辨率将钳制为 4kx4k(Windows 和 Linux 平台)和 2kx2k(Mac OS X 平台)。如果启用了“多采样抗锯齿”(Multisample Anti-aliasing)选项,渲染输出可能会被钳制为较低的分辨率。
-
在场景中启用阴影时,Viewport 2.0 提供预览阴影,而不管您为灯光选择“使用光线跟踪阴影”(Use Ray Trace Shadows)还是“使用深度贴图阴影”(Use Depth Map Shadows)。若要在 Viewport 2.0 中可视化时调整阴影的外观,请选择“使用深度贴图阴影”(Use Depth Map Shadows),并调整其对应设置以在视口中查看效果。
透明度
- “深度剥离”(Depth Peeling)和“加权平均”(Weighted Average)
透明度算法(“渲染器 > Viewport 2.0”(Renderer > Viewport 2.0) >
)提供了更出色的透明度绘制(与对象排序无关)。可以获益于这些透明度方法的模型通常具有内部面。
此外,以下提示可能会有帮助:
- 如果栅格在透明对象(例如使用 AutodeskUberShader 着色的对象)上方绘制,您可以通过使用“深度剥离”(Depth Peeling)或“加权平均”(Weighted Average)透明度算法来解决此问题。
- 如果使用了“对象排序”(Object Sorting)透明度算法,则重叠的或者具有逐面着色指定的透明对象可能无法正确绘制。应改用“深度剥离”(Depth Peeling)算法。
- 如果图像平面“显示模式”(Display Mode)设置为 “RGBA”,则图像平面将设置为透明。如果您注意到其混合有其他纹理,请将“显示模式”(Display Mode)设置为“RGB”。
- 如果您使用“绘制顶点颜色工具”(Paint Vertex Color Tool)绘制,则笔刷形状衰减可能会拾取某些 Alpha,且部分几何体可能会显示为透明。若要解决此问题,请校正 Alpha 值或选择 “深度剥离”(Depth Peeling )
透明度算法。
- 对于使用很多半透明 PaintFX 笔划的场景,请使用“深度剥离透明度算法”(Depth Peeling Transparency Algorithm)
(“渲染器 > Viewport 2.0”(Render > Viewport 2.0)>
)以获得最佳结果。
性能
视口效果
- 如果您使用“屏幕空间环境光遮挡”(Screen-space Ambient Occlusion),并且结果与预期不同(例如,面显示为黑色),则可能需要反转曲面法线。
- 如果当图像平面紧跟在移动的对象之后时运动模糊不生效,可以通过将 MAYA_VP2_OFF_NON_PE_FRAGMENT 环境变量设置为 1 来解决此问题。设置此环境变量可将图像平面包括在所有场景后期效果的计算中,如 SSAO、景深以及运动模糊。
- 如果在 dx11Shader“属性编辑器”(Attribute Editor)中选择了 TessellationON,则屏幕空间环境光遮挡计算中将不会使用几何体。
材质和纹理
-
如果在 UV 编辑器已打开且将“平行”(Parallel)设置为“材质加载模式”(Material Loading Mode)的情况下加载场景时持续显示“超出 GPU 纹理内存”(GPU texture ram exceeded)错误消息,则单击“确定”(ok)关闭消息框,然后取消选择场景中的所有对象以在 UV 编辑器中停止纹理加载。
通过选择较低的烘焙纹理分辨率(从 UV 编辑器中的“图像 > UV 纹理编辑器烘焙”(Image > UV Texture Editor Baking)菜单),也可以避免超出 GPU 纹理内存。
与旧版默认视口相比,Viewport 2.0 中的不同行为
- 环境色在 Viewport 2.0 中受支持,而在默认视口中不受支持。如果已设置材质的“环境色”(Ambient Color)属性,则 Viewport 2.0 会比默认视口更准确地表示软件渲染。
-
在 Viewport 2.0 中,如果没有为对象分配着色器,该对象将在场景视图中显示为绿色。该行为不同于默认视口中的行为,其中对象作为线框出现在场景视图中。Viewport 2.0 因此将警示有关任何缺少着色器的问题。
如果出现着色网络错误,对象将在场景视图中显示为红色。
- 在 Viewport 2.0 中,“颜色积累”(Color Accum)的行为不同于默认的工作区:您无需使用“不透明度”(Opacity)属性即可查看“颜色积累”(Color Accum)的效果。但是,将这两个属性结合使用会产生更加真实的光晕粒子效果。首先将每个粒子的不透明度乘以“不透明度”(Opacity)值,然后将重叠粒子加在一起。降低“不透明度”(Opacity)值可防止粒子过亮,从而产生更平滑的效果。
- “精灵”(Sprites)支持 particleSamplerInfo 节点。要连接 rgbPP、opacityPP 或 incandescencePP 属性,请通过“Hypershade”中的 outColor、outTransparency 或 outIncandescence 属性连接 particleSamplerInfo。
使用 particleSamplerInfo 节点时,为了获得最佳性能,应从粒子采样器断开不需要的每粒子属性,并仅保留所需的每粒子属性。如果需要大量每粒子属性,请使用 DirectX 11 作为渲染引擎,而不是 OpenGL。如果您必须使用 OpenGL,也可以使用高端显卡来增加顶点纹理坐标计数。
- Viewport 2.0 的平视显示仪“多边形计数”(Poly Count)不包括绘制效果对象。