蓝牙手柄与主机之间的游戏命令格式

问题描述 投票:0回答:2

我正在创建一个 Android 项目,其中我必须制作一个

android wearable
智能手表作为游戏控制器,它可以向通过
BLE(Bluetooth Low Energy)
连接到该智能手表的手持设备上运行的游戏发送命令。

我在可穿戴设备上设计了一个控制器板,只需单击控制器板的软按钮即可将一些硬编码文本发送到手持设备应用程序。问题是,我必须将该文本替换为手持设备上运行的游戏所需的游戏命令格式。而且,运行在手持设备上的应用程序可以通过可穿戴服务收听文本。我知道第三方游戏不会运行任何可穿戴服务,那么第三方游戏如何接受/监听可穿戴智能手表发送的命令?

第三方游戏可以通过Android SDK支持硬件控制器

android wear-os android-ble gamecontroller
2个回答
0
投票

您可以使用 BLE 标准中的“制造商特定数据”字节在可穿戴设备和手机之间发送一些数据。

您可以将手表用作一种信标,可以在消息部分发送您的数据。然后您可以读取这些值并获取数据。请注意,您只能在标准蓝牙规范中的制造商特定数据部分中编码 31 个字节,并且每次接收蓝牙信标时只能读取输入。

您可以在此处查看 BLE 规范。对于您的数据,您可以使用有效负载。 您必须永久扫描 ble 信标并获取最新的有效负载信息。


0
投票
  1. 开源游戏框架集成:

如果目标游戏是使用 Unity 或 Unreal Engine 等开源框架构建的,您也许可以利用它们的 API 来支持游戏手柄/控制器。探索这些框架中允许自定义控制器集成的库或插件。这将涉及修改游戏代码本身,但对于开源项目,您可能会贡献您的可穿戴控制器功能。 2. 手持设备上的 Sidecar 应用程序:

开发一个与游戏一起在手持设备上运行的配套应用程序。这个配套应用程序将充当中间人,监听来自智能手表的蓝牙消息并将其转换为游戏可以理解的命令。配套应用程序需要使用特定于平台的方法(例如 Android 上的辅助服务)将翻译后的命令注入到游戏中。这种方法需要一些开发工作,但可以在不同游戏之间提供更广泛的兼容性。 3.基于云的游戏流媒体服务:

一些基于云的游戏流媒体服务(例如 Stadia 或 GeForce Now)可能会提供用于自定义控制器集成的 API。如果您的目标是在这些平台上运行的游戏,您可能会探索它们的 API,看看它们是否支持自定义控制器(例如您的智能手表)。 4. 使用 Wear OS API 进行自定义游戏开发:

如果您可以完全控制游戏开发流程,则可以利用 Wear OS API 实现智能手表与手持设备上运行的游戏之间的直接通信。这种方法提供了最无缝的体验,但需要智能手表应用程序和游戏本身的开发工作。

© www.soinside.com 2019 - 2024. All rights reserved.