是否可以使用 Xcode 使游戏控制器振动?



到目前为止,我一直在使用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/

最新更新