本部分包含有关为 Chrome OS 平台进行开发的信息。一般来说,Unity 用户手册中的所有 Android 文档也适用于 Chrome OS,但在本节中有一些差异和新的方面需要考虑。
确保您遵循 Google 的开发者文档如何准备您的开发环境。确保您使用 Android Debug Bridge (adb) 通过 WiFi 或以太网连接到您的设备。这样使 Unity 更容易连接到您的设备。
在 Build Settings 中,有两个特定的 Chrome OS 目标:x86 和 x86–64。要原生支持所有 Chrome OS 设备,请选择这两个作为构建目标,以及现有的 ARM 选项。
如果您想限制 Android 应用程序可以运行的设备,请使用 Target Devices 播放器设置。将此属性设置为 Phones, Tablets, and TV Devices Only 限制应用程序仅在手机、平板电脑和电视设备上运行。如果您只想在 Chrome OS 上运行并希望避免使用所有其他 Android 设备,请选择Chrome OS Devices Only。
您必须通过 adb 连接才能在 Chrome OS 设备上运行构建的 APK。
除了现有的 Android 播放器设置之外,还有一些特定于 Chrome OS 的播放器设置:
播放器设置 | 描述 | |
---|---|---|
Target Architectures | 选择要支持的目标架构。要支持所有 Chrome OS 设备,必须选择这两个作为构建目标。 | |
x86 (Chrome OS) | 仅支持 Chrome OS,32 位 x86。 | |
x86–64 (Chrome OS) | 仅支持 Chrome OS,64 位 x86–64。 | |
TargetDevices | 使用此设置来限制允许您的应用程序运行的设备。 | |
All Devices | 没有限制。 | |
Phones, Tablets, and TV Devices Only | 将您的应用程序限制为仅在 Android 手机、平板电脑和电视设备上运行。 | |
Chrome OS Devices Only | 排除所有 Android 手机和平板电脑,并允许您的应用程序仅在 Chrome OS 设备上运行。 | |
Chrome OS Input Emulation | 此设置将所有鼠标和触控板事件转换为触摸屏事件。默认情况下启用此设置。 如果希望为 Android 开发的应用程序无需额外的开发即可在 Chrome OS 上运行,则此设置非常有用。如果您希望您的应用程序完全接收所有鼠标和触控板事件,并在 ChromeOS 上完全支持这些输入设备,您应该禁用此设置。 默认情况下,在 Chrome OS 上,应用程序会错过鼠标位置更新(当没有按下按钮时)以及鼠标或触控板滚动事件和按钮按下。 |
由于 Chrome OS 上的网络限制,不支持为托管调试器和 Unity Profiler 自动发现 Unity 应用程序。两者都可以工作,但您必须通过设备的 IP 地址手动连接到它们。有关更多信息,请参阅应用程序性能分析文档。
Android 窗口相关的播放器设置 在 Chrome OS 上很重要,因为它具有桌面窗口用户界面。您可以使用这些设置来允许您的应用程序全屏或在一个窗口中启动,确定窗口的起始和最小尺寸,以及它是否可调整大小。窗口行为还受到通过自动旋转允许的方向的影响。
为了获得最佳性能,您应该允许纵向或横向:但不能同时允许。如果窗口应用程序不是全屏显示,您还应该允许它们调整大小。这是因为旋转和窗口化存在几个已知问题,这些问题目前限制了您的应用程序在这些模式下的行为。
Chrome OS 设备具有多种外形规格,包括笔记本电脑和平板电脑。一些设备支持这两种模式。由于许多 Chrome OS 设备都是笔记本电脑或具有笔记本电脑模式,因此与基于触摸屏的标准 Android 应用程序相比,鼠标、触控板和键盘输入更加重要。
默认情况下,Chrome OS 会模拟触摸屏输入,即使终端用户使用的是鼠标或触控板。这意味着默认情况下可以在 Chrome OS 设备上使用专为手机和平板电脑开发的 Android 应用程序。如果您想充分利用这些新的输入设备,您应该禁用播放器设置 Chrome OS Input Emulation。然后,此选项允许鼠标和触控板输入原样传递到您的应用程序。这意味着您需要编写 Unity 输入代码来处理鼠标输入和触控板输入;但是如果您这样做,需要能够读取光标位置,处理按钮按下和触控板点击,并读取滚动事件。
Android 和 Chrome OS 支持自定义光标。其工作方式和在其他平台上一样。
Unity 提供了一些 UI 系统。通常在 Android 上,只要选择了输入字段或文本字段,就会出现虚拟屏幕键盘,以便用户可以输入文本。在 Chrome OS 上,如果有可用的硬件键盘,则不会显示或使用屏幕键盘。如果没有可用的硬件键盘,则使用类似 Android 上的屏幕键盘。请注意:如果您的应用特别要求打开 TouchScreenKeyboard,这与 Chrome OS 上工作方式相同。
许多 UI 小工具会在用户的鼠标光标悬停时突出显示。在 Chrome OS 上,这仅在鼠标位置报告可靠时才有效,这取决于 Chrome OS Input Emulation 播放器设置被禁用。
Unity 支持所有品牌的 Chrome OS 设备,包括笔记本电脑、平板电脑、上网本或台式机。不支持 Chromecast 设备。最低支持的主要 Chrome OS 版本是“stable”发布渠道上的 R89 和任何后续版本。与在其他平台上一样,您可以自行决定使用测试版和开发 OS 版本。