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)图标即可查看材质在不同平台上的开销。
点击 设置 选项,然后选择想要查看统计数据的渲染器,就可以查看UE4支持的渲染API的统计数据。
要查看 Android 的统计数据,需要先安装 Mali离线编译器 。具体操作方法如下:
-
下载并安装 Mali离线编译器 。
-
Mali离线编译器安装完成后,打开UE4并打开 主菜单 ,点击 编辑 > 编辑器偏好 > 内容编辑器 > 材质编辑器 。
-
点击 Mali离线编译器 选项右边的 三个小点 然后找到安装Mali离线编译器时安装的
malisc.exe
文件。
-
完成上述步骤后,就可以看到UE4支持的各种Android渲染器的统计数据了。
没有离线编译器就无法看到Android平台的统计数据。