转换和优化实时 3D 对象的最佳做法,以便在混合现实组件中使用 Dynamics 365 Guides 或在混合现实组件中使用,这些组件包含在以下应用中 Power Apps
此主题介绍转换和优化 3D 对象以使用 Dynamics 365 Guides 以及用于在包含混合现实组件的应用中 Power Apps 创建的最佳做法。
减少材料和曲面
根据 3D 对象源和内容的呈现方式,您可能希望使用基于物理的渲染 (PBR) 系统的全部功能。 PBR 系统允许通过创建纹理贴图来直观地表示颜色、粗糙度和凹凸不平,而不是在 3D 对象中使用多种不同的材料和表面复杂性。
如果资产只需要存在,而不需要 PBR 系统提供的详细信息,则只需应用一种颜色即可显著提高性能。 这遗漏了额外的纹理数据和表面信息,例如多种颜色、反射和凹凸不平。
答: 高性能单色 3D 对象,无 PBR 系统
B. 使用 PBR 系统实现更高质量表示的 3D 对象
减少纹理
减小粗糙度贴图以提高模型的性能。
答: 粗糙度贴图纹理为 2048 x 2048 的模型
B. 粗糙度贴图纹理为 1024 x 1024 的模型降低分辨率和纹理量,以对内存消耗和文件大小产生最大影响。
根据纹理的视觉影响减少纹理。 例如,金属粗糙度贴图的分辨率通常只有基色和法线贴图的一半,而且没有明显的质量降低。
JPG 压缩和 PNG 量化进一步减小了文件大小,但它们对加载模型时运行时所需的内存没有影响。
删除隐藏和未使用的数据
请务必删除表示 3D 对象不需要的任何数据。 额外的节点、网格、材质和纹理可以快速累积。 例如,在下面的 3D 对象中,删除任何隐藏的电机部件会降低三角形计数并简化层次结构,从而获得性能更好的 3D 对象。
在 Autodesk Inventor 中 可视化的线框和着色模型。
减少三角形
高三角形或顶点计数可能会影响性能,尤其是在性能受限的设备上。
如果提前知道模型用法,则可以进行三角形缩减选择。 将缩小重点放在网格密度高的不太重要的区域,以便在关键区域获得更多细节。
精细的几何表面细节和材质颜色通常可以通过将它们烘焙到法线、颜色和 ORM(遮挡、粗糙度和金属)贴图中来替换,从而节省大三角形。
答: 原生 CAD 3D 对象
B. 具有法线贴图的减少三角形计数多边形模型
C. 具有法线贴图的优化模型
减少绘图调用
绘制调用 是指每帧图形指令的数量,即屏幕上的材料数量。 减少或合并对象上的材质有助于减少绘制调用。
在此示例中,将多个纹理合并到单个纹理中可将绘制调用从 22 个减少到 1 个。
最常见的运行时性能瓶颈通常可归因于大量绘制调用。
使用多种材质创建纹理贴图集 ,并将网格合并在一起以合并绘制调用。
降低层次结构复杂性
分组、父级和大量节点(如空点、定位器、原始曲线、网格和关节)都可能导致运行时性能不佳。
简化层次结构,删除不必要的节点,并尽可能组合网格。
网格组合以减少绘制调用。 在 Autodesk 3DS Max 中可视化。
答: 原始层次结构
B. 优化的层次结构glTF 将为每个材质创建一个网格,并将 atlas 材质放在一起,以减少节点计数和绘制调用。
增加几何面之间的距离
当几何面是共面或接近共面时,可能会发生闪烁,当模型在应用程序中处于动画状态或从一个位置移动到另一个位置时,闪烁尤其普遍。 这意味着几何面完全重叠,导致所谓的 Z 战斗。
两个形状几乎重叠,导致 Z 战斗效果。
在大多数情况下,少量增加几何面之间的距离可以解决闪烁问题。
翻转倒置的面法线
倒置的面部法线可能会导致模型的着色不正确。
翻转着色不正确的人脸的法线以解决渲染问题。
在 Blender 中可视化的面部法线。
答: 正常翻转的 3D 对象
B. 具有固定法线的 3D 对象
冲突切线基准
冲突的切线基可能会导致法线贴图显示为倒置。
在 Autodesk Maya 中可视化的切线基。
答: 使用法线翻转螺钉从 3D 对象烘焙的法线贴图
B. 使用翻转的法线物体烘烤的可见结果如果不导出模型的切线,则 glTF 和实时渲染器将假定为右撇子。
如果您在左手设置中烘焙切线空间法线贴图,请导出带有切线的模型。 Alternatively,您可以反转法线贴图的绿色通道(Y 轴)。