为 Google Play 游戏在 PC 上配置图形

Google Play 游戏在 PC 上需要更新游戏的图形功能并添加对大屏幕的支持。本主题描述了这些要求和相关建议。

以下是本页要求和建议的摘要

纹理压缩

由于 Google Play 游戏在 PC 上尽可能传递压缩纹理,因此应使用 DXTCBPTC 以利用 PC 硬件。有时,如果需要模拟 OpenGL 功能以确保兼容性,则仍然需要解压缩这些纹理,因此应始终分析你的游戏。

诸如 ETC1ETC2 之类的格式会在发送到原生图形堆栈之前由 OpenGL 转换层解压缩。这些格式将继续工作,但不会像在移动硬件上预期的那样具有相同的内存或运行时效率优势。

图形 API

我们建议在 Google Play 游戏的 PC 版本上使用 Vulkan API 以获得最佳性能。

如果无法做到这一点,请使用下面列出的 OpenGL ES 版本。

OpenGL ES 版本

Google Play 游戏在 PC 上支持 OpenGL ES 3.1。

为了保持与 Google Play 游戏在 PC 上的兼容性,请确保你的 AndroidManifest.xml 文件中未指定高于 OpenGL ES 3.1 的版本。

Vulkan 版本

Google Play 游戏在 PC 上支持 Vulkan 1.1。为了保持与 Google Play 游戏在 PC 上的兼容性,请确保你的游戏不需要高于 Vulkan 1.1 的版本。

提高最大帧率限制

一些玩家能够在 PC 上以比移动设备更高的帧率运行你的游戏。为了给你的玩家带来最佳体验,我们建议确保帧率上限至少为 60 fps,或者完全移除帧率限制。

大屏幕优化

Google Play 游戏在 PC 上需要以下大屏幕优化

高分辨率资源和纹理

Google Play 游戏在 PC 上支持高达 4k 的分辨率,并且你可以期望其性能水平与过去 12 个月发布的高端 Android 设备相匹配。为较小的手机屏幕设计的纹理和资源在 PC 上的 4k 大显示器上观看时会降低玩家对你的游戏的感知。如果可能,请确保在首次启动时提供高分辨率资源。

如果你使用 不透明二进制 Blob OBB 文件(也称为 APK 扩展文件)来提供资源,则额外的高分辨率资源可能会导致总大小超过 2GB 主 OBB 和 2GB 修补程序 OBB 的限制。在这种情况下,请考虑使用 Play 资源交付 来交付你的资源。

使用 Play 资源交付,你可以自动交付与设备最佳支持的纹理压缩格式匹配的纹理,而不会增加游戏大小。你还可以根据设备的性能级别定位设备,并相应地自动交付更高或更低分辨率的纹理。

Play 资源交付在 Unity 5.6 及更高版本(通过 Play 资源交付 Unity 插件)和 虚幻引擎 4.25 上受支持。对于其他引擎,我们提供 Java 和原生 SDK

UI 缩放

在大屏幕上,你可能需要调整游戏的 UI 以确保所有元素的大小都合适。我们建议 HUD 占据屏幕面积不超过 20%。

长宽比

Google Play 游戏在 PC 上需要支持 16:9 的长宽比。为了获得理想的玩家体验,游戏还应支持 21:9、16:10 和 3:2。

纵向模式

纵向模式游戏只需要支持 9:16 的长宽比。如果你的游戏缺乏横向支持,Google Play 游戏在 PC 上会在全屏模式下渲染黑条。

动态显示

Google Play 游戏在 PC 上启动后,绝不会更改游戏的逻辑分辨率、显示密度或长宽比。尽管如此,玩家可以在全屏模式和窗口模式之间切换游戏。在窗口模式下,玩家还可以自由地以保持固定长宽比的方式对角线调整窗口大小。这意味着你的游戏不必处理调整大小事件以适应典型的桌面窗口化范例,但也意味着你不能依赖显示密度作为游戏内元素清晰度的指标。

选择分辨率

Google Play 游戏在 PC 上会为你的游戏提供与玩家主显示器和你的 应用程序清单 中宣传的支持之间最接近匹配的长宽比。默认分辨率是使用内部启发式算法选择的,以便为玩家提供最佳体验。

玩家可以在他们的设备上覆盖游戏默认的分辨率。纵横比计算不会改变,但是游戏在不同启动之间渲染的像素数量可能不同。如果您依赖于游戏不同启动之间报告的分辨率(例如,在确定要缓存和渲染哪些资源时),那么务必注意这一点。Google Play游戏PC开发者模拟器在用户更改分辨率后会重新启动,因此您无需在运行时处理此更改。

最佳实践

为了给您的玩家提供最佳体验,请执行以下操作

  • 如果您的游戏在纵向模式下运行效果最佳,并且玩家可能在多任务处理时玩游戏,请设置android:screenOrientation="portrait"。这将保证您的游戏窗口为纵向方向。
  • 使用android:minAspectRatioandroid:maxAspectRatio指定支持的最小和最大纵横比,以将您的游戏限制在经过验证的纵横比范围内。彻底测试此范围内的游戏,尤其要注意极宽、正方形和高纵横比的情况。
  • 虽然Google Play游戏PC版会报告DPI,但在游戏活动期间此值不会更改。因此,无法确定游戏内元素的物理大小,最好根据屏幕尺寸的比例来放置游戏元素,而不是尝试匹配基于物理的尺寸单位
  • 测试游戏元素在笔记本电脑屏幕和窗口模式下的可读性。
  • 让玩家可以控制游戏内UI缩放比例,以便他们可以调整游戏内元素或文本的大小,以满足他们的个人喜好或环境需求。这有助于避免玩家仅为了放大文本而降低游戏分辨率(以及可见质量)。

动态显示测试

Google Play游戏PC开发者模拟器没有广泛的基于GUI的控件来验证分辨率和纵横比的每种潜在组合。要模拟在特定分辨率下运行游戏,请在您的adb shell中使用wm size命令。例如,要测试4K游戏,请使用以下命令:

adb shell wm size 3840x2160

您可以使用以下命令重置显示比例:

adb shell wm size reset