SO的好人,
我目前正在使用 xbox 360(有线或非有线)控制器在 Unity3D 中开发游戏。我正在寻找一些“最佳实践”之王来实现对游戏的 Windows 和 MacOS 支持。
步骤1
我的第一种方法是创建一个完整的 InputManager.asset 映射到 4 个控制器,基于:
http://wiki.unity3d.com/index.php/Xbox360Controller http://wiki.etc.cmu.edu/unity3d/index.php/Joystick/Controller (和其他一些......)
并使用 Input.getAxis()。
问题
我遇到的主要问题是当您断开并重新连接控制器时:Axis ID 发生了变化……而且很难找到将控制器重新分配给游戏中正确的玩家实例。Unity 提供给我的唯一信息是 Input.GetJoystickNames() 以随时了解连接了多少个控制器......但它不足以知道谁被插入到哪里......
第2步
然后我听说了 XInput dll:
http://forum.unity3d.com/threads/37542-XInput-NET-full-support-for-Xbox-360-Controller-(Windows)
那将解决有关使用控制器的所有问题...
问题
...但遗憾的是它在 macOS 中不起作用...
有什么解决办法吗?谢谢 :)