移动平台的材质

设置移动游戏的材质。

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平台的统计数据。

Tags
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback