Я пытаюсь сделать ИИ, основанный на нейронной сети для академии джедаев, посредством поведенческого клонирования (обучение подражать профессионалам). Чтобы поведенческое клонирование было верным, важно для того, чтобы иметь возможность воспроизводить движения мыши. То есть, если данные говорится, что поверните символ на 45 градусов влево, тогда ИИ должен быть в состоянии воспроизвести это при представленной с той же ситуацией. Вот видео, которое я снял много лет назад, в котором показано, чего я пытаюсь достичь: . К сожалению, я не сохранил код для этой конкретной демонстрации. Вот один, где время не внедряется, и оно запускает мышь в игре (еще одна проблема, которую я пытаюсь понять). < /P>
from pynput import mouse
import time
import json
import win32gui
import pydirectinput
import ctypes
import pynput
from ctypes import windll, Structure, c_long, byref
class POINT(Structure):
_fields_ = [("x", c_long), ("y", c_long)]
SendInput = ctypes.windll.user32.SendInput
hwnd = win32gui.FindWindow(None, 'EternalJK')
win32gui.SetForegroundWindow(hwnd)
recorded_data = []
previous_time = None
previous_x, previous_y = None, None
def MousePosition_ctypes():
pos = POINT()
windll.user32.GetCursorPos(byref(pos))
return pos.x, pos.y
print("Recording..")
t0 = time.time()
t = time.time()
mouse_positions = []
while t < t0 + 3:
x, y = MousePosition_ctypes()
mouse_positions.append((x, y, t))
t = time.time()
print("Playing..")
def set_pos(x, y):
x = 1 + int(x * 65536./2048.)
y = 1 + int(y * 65536./1536.)
extra = ctypes.c_ulong(0)
ii_ = pynput._util.win32.INPUT_union()
ii_.mi = pynput._util.win32.MOUSEINPUT(x, y, 0, (0x0001), 0, ctypes.cast(ctypes.pointer(extra), ctypes.c_void_p))
command=pynput._util.win32.INPUT(ctypes.c_ulong(0), ii_)
SendInput(1, ctypes.pointer(command), ctypes.sizeof(command))
t0 = time.time()
cumulative_time = 0
for delta_x, delta_y, time_delta in mouse_positions:
# time.sleep(time_delta)
set_pos(delta_x, delta_y)
Подробнее здесь: https://stackoverflow.com/questions/795 ... ing-python
Повторить движение мыши в 3D -игре FPS с помощью Python? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Движение мыши и щелчки не работают правильно в игре с использованием YOLOv5 и PyWin32
Anonymous » » в форуме Python - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Движение мыши не работает в игре (fortnite) с использованием pydirectinput
Anonymous » » в форуме Python - 0 Ответы
- 27 Просмотры
-
Последнее сообщение Anonymous
-