移动平台的材质

设置移动游戏的材质。

Choose your operating system:

Windows

macOS

Linux

移动平台上的材质(特征级ES 3.1)使用与其他平台相同的基于节点的创建过程。几乎所有的材质输入都可用于移动材质,而且在移动平台上,材质的外观和行为通常与在其他平台上相同。例如,以下材质输入在移动平台上与在PC上的运行方式完全相同。

  • 底色(BaseColor)

  • 粗糙度(Roughness)

  • 金属感(Metallic)

  • 高光(Specular)

  • 法线(Normal)

  • 自发光(Emissive)

  • 折射(Refraction)

在创建要在移动平台上使用的材质时,必须考虑一些因素,但是:

  • 由于硬件限制,您只能使用16个纹理采样器。

  • 只有默认和无光照的着色模型可用。

  • 应使用 自定义UV 来避免依赖性纹理获取(纹理UV上没有数学运算)。

  • 半透明和遮罩材质的消耗极高。建议尽量使用 半透明材质

  • 深度淡化可用于 iOS平台 的半透明材质。在硬件不支持从深度缓冲获取的平台上,不支持该功能,模拟该功能会导致不可接受的性能消耗。

4.23版已经弃用了OpenGL ES2。更早版本的虚幻引擎只能使用5个纹理采样器。

此外,一些功能在移动平台上根本不可用。

  • 场景颜色表达式

  • 曲面细分输入

  • 次表面散射着色模型

较早版本的UE4提供ES2作为功能级别,你可以使用 功能 切换材质节点,以帮助维持与老旧设备的兼容性。

移动特定的材质设置

当在移动设备上使用时,以下材质属性有助于优化和/或降低材质的渲染消耗。

属性

说明

bFullyRough

启用后,可节省大量着色器ALU指令和一个采样器。这可以有效禁用高光(Specular),同时保持整体反射能量。

高质量反射(High Quality Reflections)

在前向渲染器中启用高质量反射。启用该设置可减少材质可用的采样器数量,因为反射立方体贴图将使用另外两个采样器。

bUseLightmapDirectionality

禁用后,光照图中的光照将会比较平淡,但开销更低。

使用全精度(Use Full Precision)

启用后,材质的着色器会使用移动设备上可用的最高精度数学。这可用于迂回解决低精度数学造成的渲染问题,例如世界坐标的使用或光滑材质之上的密集镜面反射

启用全精度着色器会提高材质开销。

关闭全精度

开启全精度

移动材质故障排除

由于PC与移动设备之间的硬件差异,您可能会遇到这样的情况:某些选项在PC上正常运行,但在移动设备上查看时却无法运行。下表包含一些您可能遇到的一些较为常见的问题,以及解决这些问题的方法。

问题

解决方案

移动预览器中显示默认材质。

打开 Engine\Saved 中的 日志文件 ,然后搜索错误消息了解如何修复材质。

含Time表达式的材质动画看起来不连贯,但其他地方的帧率良好。

确保 Time 表达式中已启用周期(Period)属性,且具有一个周期。这会将计算移动到CPU,并以全精度而不是半精度运行。

使用 场景坐标(World Coordinates) 计算或非常小的值的材质显示错误。

尝试在移动设备上显示错误的材质上启用使用全精度(Use Full Precision)选项。为了提高性能,移动设备上的材质精度水平经常被截断为小数点后一位或两位。启用 使用全精度(Use Full Precision) 将确保材质的精度保留为材质编辑器中设置的值。

材质在编辑器中看起来很好,但在设备上不佳。

要更好地了解在移动设备上查看材质时材质的显示效果,可以更改UE4编辑器的 预览渲染级别(Preview Rendering Level) ,来模拟目标设备的渲染功能。有关如何做到这一点的详细信息,请查看 移动预览器 页面。

折射不起作用

要让折射效果在移动设备上运行,必须确保启用了移动HDR。

平台统计

点击平台统计(Platform Stats)图标即可查看材质在不同平台上的开销。

PlatformStats.png

点击 设置 选项,然后选择想要查看统计数据的渲染器,就可以查看UE4支持的渲染API的统计数据。

PlatformStats_More.png

要查看 Android 的统计数据,需要先安装 Mali离线编译器 。具体操作方法如下:

  1. 下载并安装 Mali离线编译器

  2. Mali离线编译器安装完成后,打开UE4并打开 主菜单 ,点击 编辑 > 编辑器偏好 > 内容编辑器 > 材质编辑器
    PlatformStats_CEMaterialEditor.png

  3. 点击 Mali离线编译器 选项右边的 三个小点 然后找到安装Mali离线编译器时安装的 malisc.exe 文件。
    PlatformStats_LoadOfflineCompiler.png

  4. 完成上述步骤后,就可以看到UE4支持的各种Android渲染器的统计数据了。
    PlatformStats_SeeingStatsr.png

没有离线编译器就无法看到Android平台的统计数据。

标签
欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消