如何从 Python 向游戏发送转向 wheel/Joystick 输入?
How do I send a steering wheel/Joystick input to a game from Python?
我需要将在机器学习模型中计算出的一系列方向盘输入:(方向盘、油门、刹车)发送到游戏中以实现自动驾驶。
我已经使用 pynput 发送钥匙并使用 ['w','a','s','d'] 控制汽车,但我想要更流畅的控制方式汽车,因此 我正在寻找一种在 python 中模拟操纵杆的方法。所以我
可以为方向盘和加速器发送模拟输入。
我以前用过这种类型的代码来输入控件
from pynput.keyboard import Key, Controller
import time
keyboard = Controller()
keyboard.press('w')
time.sleep(1)
keyboard.release('w')
我使用 Vjoy to emulate a joysick and create a virtual joystick; used FreePie 作为 Feeder 应用程序,并编写了一个 Python 脚本来将每个轴的输入值发送到 Vjoy。
我的 Vjoy 脚本:-
目前我使用我的鼠标运动来发送 X 轴和 Y 轴的值,但是你可以使用任何你喜欢的方式。
from System import Int16
if starting:
system.setThreadTiming(TimingTypes.HighresSystemTimer)
system.threadExecutionInterval = 5
x = 0
y = 0
max = 1
min = -max
vjoy = vJoy[0] # controlling Vjoy Device 0
sensX = 50
sensY = 50
y -= mouse.deltaY * sensY
x += mouse.deltaX * sensX
if x > max:
x = max
elif x < min:
x = min
if y > max:
y = max
elif y < min:
y = min
vjoy.x = x
vjoy.y = y
diagnostics.watch(vJoy[0].x)
diagnostics.watch(vJoy[0].y)
出于自动驾驶汽车的目的,您可以编写另一个 python 脚本,将输入值(对于 x 轴和 y 轴)提供给此脚本。
我需要将在机器学习模型中计算出的一系列方向盘输入:(方向盘、油门、刹车)发送到游戏中以实现自动驾驶。 我已经使用 pynput 发送钥匙并使用 ['w','a','s','d'] 控制汽车,但我想要更流畅的控制方式汽车,因此 我正在寻找一种在 python 中模拟操纵杆的方法。所以我 可以为方向盘和加速器发送模拟输入。
我以前用过这种类型的代码来输入控件
from pynput.keyboard import Key, Controller
import time
keyboard = Controller()
keyboard.press('w')
time.sleep(1)
keyboard.release('w')
我使用 Vjoy to emulate a joysick and create a virtual joystick; used FreePie 作为 Feeder 应用程序,并编写了一个 Python 脚本来将每个轴的输入值发送到 Vjoy。 我的 Vjoy 脚本:- 目前我使用我的鼠标运动来发送 X 轴和 Y 轴的值,但是你可以使用任何你喜欢的方式。
from System import Int16
if starting:
system.setThreadTiming(TimingTypes.HighresSystemTimer)
system.threadExecutionInterval = 5
x = 0
y = 0
max = 1
min = -max
vjoy = vJoy[0] # controlling Vjoy Device 0
sensX = 50
sensY = 50
y -= mouse.deltaY * sensY
x += mouse.deltaX * sensX
if x > max:
x = max
elif x < min:
x = min
if y > max:
y = max
elif y < min:
y = min
vjoy.x = x
vjoy.y = y
diagnostics.watch(vJoy[0].x)
diagnostics.watch(vJoy[0].y)
出于自动驾驶汽车的目的,您可以编写另一个 python 脚本,将输入值(对于 x 轴和 y 轴)提供给此脚本。