在当今竞争激烈的游戏市场中,尽可能扩大受众群体范围比以往任何时候都更加重要。通过针对不同外形规格的设备(例如手机、平板电脑、可折叠设备和桌面设备)开发游戏,您可以吸引更广泛的潜在玩家并提高成功几率。
支持屏幕大小调整
为了支持不同的外形规格,您的游戏必须可调整大小。通过调整尺寸,您的游戏可以支持设备配置,例如纵向和横向、多窗口模式以及可折叠设备的折叠和展开状态。
如果您的游戏不支持所有窗口大小和屏幕方向配置,平台会在兼容模式下为您的游戏添加信箱模式,如有必要,还会在更改为不受支持的配置之前提示玩家。
如需了解详情,请参阅支持大屏幕尺寸调整。
多窗口模式
多窗口模式可让多个应用同时共享同一屏幕。应用可以并排或上下并排显示(分屏模式),一个应用显示在小窗口中叠加其他应用(画中画模式),或者在可移动且可调整大小的单独窗口中显示各个应用(自由窗口模式)。
为避免在游戏在多窗口模式下运行时进入兼容模式,请在 Unity build 设置中启用可调整大小的窗口选项,声明游戏能够处理尺寸调整。
刘海屏
刘海屏是某些设备上延伸到显示屏表面的一个区域。刘海屏可提供全面屏体验,同时为设备正面的重要传感器留出空间。
如需为您的游戏提供全屏体验,请将游戏配置为具备安全帧感知能力。查询 Unity safeArea API,以获取屏幕的安全区域(以像素为单位),并相应地调整游戏界面和用户体验,尤其是对于用户可以与之互动的元素。
可折叠设备的折叠状态
可折叠设备可能会处于各种折叠状态,例如 FLAT
(完全展开)或 HALF_OPENED
(介于完全展开和完全闭合之间)。当设备处于 HALF_OPENED
状态时,可能处于两种折叠状态,具体取决于折叠边的方向:桌面折叠状态(水平折叠边)和图书折叠状态(垂直折叠边)。
使用桌面折叠状态提升玩家的沉浸感和互动度。
如需实现桌面折叠状态,请扩展默认 Unity activity,然后使用 Jetpack WindowManager 布局库让游戏具有折叠感知能力。
Unity 示例项目
Unity 示例项目基于 Unity 2D 演示项目 Lost Crypt。示例项目演示了如何在 Unity 中支持大屏幕尺寸可调整性。若要支持大屏设备和可折叠设备,您需要对 Unity 构建选项进行多项更改,以及相机和界面画布布局方面的注意事项。
您可以立即下载示例项目。该项目包含四个不同的场景:
- 原始版本:支持基本的可调整大小功能
- 锚定:与“原始”场景相同,但会根据各种宽高比进行调整,并避开刘海屏
- HingeAware:与“锚定”场景相同,但支持桌面折叠状态
- Mainmenu:启动场景,允许导航到其他场景,并完全支持所有设备屏幕方向、折叠、展开和桌面折叠状态
针对 Android 进行构建时,请选择所有场景,并将“Mainmenu”场景设置为起始场景。
从支持可调整大小的窗口开始
在 Android 大屏应用中实现对各种显示屏尺寸和宽高比的支持,以确保您的游戏或应用在不同设备上正确显示。通过在 Unity 构建设置中设置 Resizable Window 属性,让游戏能够调整大小和更改宽高比(请参阅“多窗口模式”部分)。调整相机和画布的宽高比,以更好地适应不同的屏幕。在 Build Settings 和 Plugins/Android/AndroidManifest.xml
文件中查看项目设置。在项目的“原始”场景中体验可调整大小的全屏功能。
处理刘海屏,获享全屏沉浸式体验
让您的游戏可以使用整个屏幕,为游戏增添沉浸感,从而增强用户体验。请更新您的游戏界面锚定和相机设置,以自动调整以适应屏幕尺寸。这样一来,界面元素便可以保持相对于屏幕尺寸的位置。
“锚定”场景使用 CameraAspectLock
脚本通过扩展 activity 响应设备配置更改(请参阅 Assets/Plugins/Android/LargeScreenPlayableActivity.java
)。SafeZoneAPI
脚本演示了 Unity 的 safeArea API,该脚本绑定到“锚定”场景内的 SafeZone
对象。
针对可折叠设备进行优化
Unity 示例项目“HingeAware”的最后一个场景包含一个 ConfigurationManager
对象,该对象通过 Jetpack 库 API 和扩展 activity(请参阅 Assets/Plugins/Android/LargeScreenPlayableActivity.java
)来响应目标设备的不同折叠状态。该场景使用 PanelOnFold
脚本根据设备的折叠状态来控制界面,例如,在设备处于桌面折叠状态时显示底部控制器。