coxbox变换 python_用Python模拟XBox控制器输入
如果有同樣問題的人會發現這個線索:
我用vJoy、pyVJoy和x360ce解決了這個問題。
vJoy提供了一個SDK和驅動程序來模擬輸入設備。你可以有操縱桿、游戲板等。。
PyvJoy允許您訪問這些驅動程序并在python中模擬輸入。
https://github.com/tidzo/pyvjoy
pyvJoy使用0到32767之間的值作為“模擬”棒。
例如,要將xbox控制器的左拇指桿置于中間位置,您將XAxis和YAxis置于32767的1/2位置。
所以對于輸入值在0到1之間的我,我把它們乘以這個值。
在我的代碼中,它看起來有點像這樣:MAX_VJOY = 32767
self.j = pyvjoy.VJoyDevice(1)
def play_function(self,X,Y,Z,XRot):
self.j.data.wAxisX = int(X * self.MAX_VJOY)
self.j.data.wAxisY = int(Y * self.MAX_VJOY)
self.j.data.wAxisZ = int(Z * self.MAX_VJOY)
self.j.data.wAxisXRot = int(XRot * self.MAX_VJOY)
j.update()
您還可以通過這種方式更新“binary/“digital”按鈕,pyvjoy github頁面還有幾個例子。
嘗試使用此操縱桿應用程序進行校準:http://www.planetpointy.co.uk/joystick-test-application/
最后一部分是使用X360CE,將vJoy“DigitalInput”設備轉換成XInput設備。所以PC/游戲認為它是一個真正的Xbox360或XboxOne控制器。這最后一部分只適用于某些只允許官方Xbox控制器的游戲,如GTA5。
你可以從這里得到X360CE:http://www.x360ce.com/
所有這些加起來讓我可以通過python玩那些游戲。我了解到,使用WASD訓練神經網絡并不能很好地工作,因為它總是表現得極端,因為它只允許按下按鈕1或0。使用這些控件,您可以獲得更平滑的游戲控件。
總結
以上是生活随笔為你收集整理的coxbox变换 python_用Python模拟XBox控制器输入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 需要免费虚拟机的朋友看过来
- 下一篇: 第一次当招聘者-----如何考察一个测试