Перейти к публикации

Рекомендованные сообщения

Опубликовано:

 Может кто подскажет прогу, которая может меня меня кнопки. Хочу SHIFT поменять на пробел или кнопку мыши (для обзора). А ещё если такое возможно, при отпуске клавиши мыши или клавы, чтобы взгляд центровался.

  • 3 недели спустя...
Опубликовано:
On 22.02.2018 at 7:22 PM, Joker_a78 said:

 Может кто подскажет прогу, которая может меня меня кнопки. Хочу SHIFT поменять на пробел или кнопку мыши (для обзора). 

Для клавиатуры использую https://archive.codeplex.com/?p=sharpkeys. Для джоя есть https://joytokey.net/en/

 

On 22.02.2018 at 7:22 PM, Joker_a78 said:

А ещё если такое возможно, при отпуске клавиши мыши или клавы, чтобы взгляд центровался.

Тут либо покурить настройку видов в самой игре, там вроде есть возврат к центру. Либо использовать стороннюю прогу.

Пользуюсь вот этим: http://andersmalmgren.github.io/FreePIE/, но надобно чутка разбираться в программировании( там Python). Прога умеет изображать джойстик или фритрек. Можно при нажатии на клавишу мыши запоминать ее(мыши) положение - это будет центр. Относительный сдвиг при зажатой клавише пересчитывать в координаты фритрека. При отжатии возвращать координаты фритрека в ноль.

Минусы:

1) Не понял как в ней правильно инициализировать протокол фритрека для бзх.  В тундре цепляется и работает сразу,  в бзх нужно начала запустить opentrack.

2) Документации практически нет. Примеры только на форуме и далеко не все есть.

Опубликовано: (изменено)

Собственно все оказалось намного проще.

Ставите OpenTrack, и FreePie.

В OpenTrack выставляете:

Spoiler

5aa58c1dabe42_.jpg.c153cd1362ebe0b38784aaa89f5313cc.jpg

FreePie скармливаете скрипт: 

Spoiler

 

import socket
import struct
 

if starting:
    opentrack_UDPsender = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    global scaleX, scaleY
    scaleX = 0.2
    scaleY = 0.2
    global yaw, pitch, roll, x, y, z
    x , y , z , yaw , pitch , roll  = 0,0,0,0,0,0
 

# если нажали левую кнопку мыши - начинаем крутить головой, если отжали - сброс в центр
if(mouse.leftButton) :
    yaw   +=  mouse.deltaX * scaleX
    pitch   +=  mouse.deltaY * scaleY
else:
    yaw   =  0
    pitch =  0

# отсылка всех осей пакетом UDP на порт который слушает Opentrack
opentrack_UDPsender.sendto(struct.pack("dddddd",x,y,z,yaw,pitch,roll), ("127.0.0.1", 6666))
# для осылки в FaceTrackNoir нужно заменить на struct.pack("ddddddl",x,y,z,yaw,pitch,roll,1)
# выводим диагностику в окно Watch
diagnostics.watch(yaw)
diagnostics.watch(pitch)
diagnostics.watch(roll)
diagnostics.watch(x)
diagnostics.watch(y)
diagnostics.watch(z)

 

Жмякаете кнопку "запустить" в OpenTrack.  Жмякаете кнопку F5 в FreePie(скрипт станет серым). 

Теперь, по нажатию левой кнопки мыши , вы начнете управлять взглядом (начнет двигаться осьминожка).  Как только кнопку отпустите  -  произойдет возврат в центр. Естественно кнопка активации может быть любой. 

 

Переделаю себе схожим образом, чтобы не мучиться с инициализацией фритрека.

 

 

 

Изменено пользователем NIRBIS
  • 2 года спустя...
Опубликовано:
11.03.2018 в 23:15, NIRBIS сказал:

Собственно все оказалось намного проще.

Ставите OpenTrack, и FreePie.

В OpenTrack выставляете:

  Показать содержимое

5aa58c1dabe42_.jpg.c153cd1362ebe0b38784aaa89f5313cc.jpg

FreePie скармливаете скрипт: 

  Показать содержимое

 

import socket
import struct
 

if starting:
    opentrack_UDPsender = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    global scaleX, scaleY
    scaleX = 0.2
    scaleY = 0.2
    global yaw, pitch, roll, x, y, z
    x , y , z , yaw , pitch , roll  = 0,0,0,0,0,0
 

# если нажали левую кнопку мыши - начинаем крутить головой, если отжали - сброс в центр
if(mouse.leftButton) :
    yaw   +=  mouse.deltaX * scaleX
    pitch   +=  mouse.deltaY * scaleY
else:
    yaw   =  0
    pitch =  0

# отсылка всех осей пакетом UDP на порт который слушает Opentrack
opentrack_UDPsender.sendto(struct.pack("dddddd",x,y,z,yaw,pitch,roll), ("127.0.0.1", 6666))
# для осылки в FaceTrackNoir нужно заменить на struct.pack("ddddddl",x,y,z,yaw,pitch,roll,1)
# выводим диагностику в окно Watch
diagnostics.watch(yaw)
diagnostics.watch(pitch)
diagnostics.watch(roll)
diagnostics.watch(x)
diagnostics.watch(y)
diagnostics.watch(z)

 

Жмякаете кнопку "запустить" в OpenTrack.  Жмякаете кнопку F5 в FreePie(скрипт станет серым). 

Теперь, по нажатию левой кнопки мыши , вы начнете управлять взглядом (начнет двигаться осьминожка).  Как только кнопку отпустите  -  произойдет возврат в центр. Естественно кнопка активации может быть любой. 

 

Переделаю себе схожим образом, чтобы не мучиться с инициализацией фритрека.

 

 

 

Спасибо. На тот момент надоело воевать с игрой и я тупо вернулся в Тундру) сейчас попробую

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...