移动设备渲染限制

参见

常规的 3D 渲染的局限性 也适用于移动平台。

为了在移动设备上提升初始性能,Godot 在 Android 和 iOS 上默认会自动使用对低端设备友好的设置。这些设置是通过在项目设置中使用 .mobile 特性标签后缀实现的。

在移动平台上,会影响 3D 项目的最明显区别就是光照是按顶点计算的,而不是按像素。这样会大幅提升性能,但可能会破坏部分场景的渲染,尤其是在网格细分程度不够时,顶点光照就没有那么好看。可以在“项目设置”中禁用,代价是牺牲性能(见下文)。

使用 GLES2 时,有些自定义着色器可能会在导出到 Android 时出问题。原因是默认会为了提升性能而使用较低的着色器精度。通过启用 rendering/gles2/compatibility/enable_high_float.Android 项目设置,你可以强制所有着色器计算都使用高精度,但这会带来显著的性能开销,无法在所有设备上正常工作。

以下项目设置有专门的移动平台覆盖项:

设置

桌面默认

移动默认

rendering/quality/directional_shadow/size

4096

2048

rendering/quality/intended_usage/framebuffer_allocation

3D

3D Without Effects(3D 不带特效)

rendering/quality/lightmapping/use_bicubic_sampling

true

false

rendering/quality/reflections/high_quality_ggx

true

false

rendering/quality/shading/force_blinn_over_ggx

false

true

rendering/quality/shading/force_lambert_over_burley

false

true

rendering/quality/shading/force_vertex_shading

false

true

rendering/quality/shadow_atlas/size

4096

2048

rendering/quality/shadows/filter_mode

PCF5

Disabled(禁用)

仅限 GLES3:rendering/gles3/shaders/max_simultaneous_compiles

2

1

仅限 GLES3:rendering/gles3/shaders/shader_cache_size_mb

512

128

仅限 GLES3:rendering/quality/depth/hdr

true

false

仅限 GLES3:rendering/quality/reflections/texture_array_reflections

true

false

关于设置覆盖项的更多信息,请参阅 ProjectSettings 类文档

如果你的项目仅以移动平台为目标,请考虑将项目设置中的值改为与移动平台覆盖项一致。这样,在桌面平台运行项目时,就会得到与移动平台更接近的预览(从编辑器中运行也一样)。

警告

由于驱动问题,Android 和 iOS 上对的 GLES3 支持不太好,尤其是在较旧或低端设备上。因此建议在以移动平台为目标时使用 GLES2 渲染器(尤其是 Android)。

可以在“项目设置”中修改渲染后端(渲染 > 质量 > 驱动 > 驱动名称)。