到目前为止,我一直在使用Apple的GameController框架,但是不可能使控制器振动。我正在寻找类似于UnityHandheld.Vibrate()
的东西,但最后几个小时的研究让我相信没有简单的API。
是否有可能以某种方式使用 Xcode 使与 macOS/iOS 配对的游戏控制器振动?(也许通过直接向控制器发送信号(
Apple 通过反馈助手对我的功能请求的回应:
感谢您的反馈!目前,此问题的行为符合预期。
我们也喜欢Xbox无线控制器和索尼DualShock4控制器中的隆隆声 - 我们认为它在iPhone,iPad,tvOS和macOS上的游戏中也很棒。
看来这终于可以了!周三将有一个关于这个的讨论。一旦有答案,我将立即更新。
根据Apple的游戏控制器编程指南,这不是与控制器交互的受支持方式。
了解 Apple 支持的控制器
苹果已经为不同类型的MFi游戏制定了规范 控制器。
尽管具体的控制器各不相同,但许多共同的特征必须严格按规范执行。
扩展控件布局包含以下控件:
- 四个模拟面部按钮排列在右侧的菱形中 控制器(标记为 A、B、X 和 Y(
- 模拟方向键打开 控制器左侧
- 左侧有两个模拟操纵杆和 控制器右侧
- 两个模拟肩部按钮(标记为 L1 和 R1(
- 两个模拟触发器(标记为 L2 和 R2(
- 用于暂停和 恢复游戏玩法
Siri遥控器有自己的微型控制布局。
- 遥控器顶部的模拟方向键
- 两个数字按钮 (一,十(
- 一键暂停和恢复游戏
如果通过蓝牙或类似方式直接与给定控制器通信,则可以直接发出特定于控制器的命令(例如振动(。显然,这将要复杂得多,因为您基本上必须自己重新实现GameController
框架,在事件循环中侦听命令并在应用程序中响应这些命令。控制器的通信协议也可能因不同的品牌和型号而异,这增加了开发的复杂性和成本。
最好的办法是通过"反馈助理"直接向 Apple 提交功能请求。
iOS 14 将支持来自第三方控制器的触觉反馈。 https://developer.apple.com/videos/play/wwdc2020/10614/