SO的好人,
我目前正在使用xbox 360(有线或无线)控制器在Unity3D上进行游戏。 我正在寻找一些“最佳实践”之王来实现Windows和MacOS对游戏的支持。
第1步
我的第一种方法是根据以下内容为4个控制器创建一个完整的InputManager.asset:
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中不起作用......
任何解决方案? 谢谢:))