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

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

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

Парни, ну чуть-чуть подождите с вопросами. Видео почти готово уже.

Опубликовано: (изменено)
Скрытый текст
12 часов назад, Hudlam сказал:

image.thumb.png.88361085a685a194209ddee828eeaede.png

вот тот файл, но в нем не могу найти строку, где прописать кнопку центрирования.

 

Это невнимательность. Гловпай надо запускать и открывать с скриптом "joy_numbers.PIE" Эта процедура нужна лишь для определения номеров джойстиков.

Еще раз - ты запускаешь GlovePIE!!! Запускаешь его с нужным скриптом, но запускать не тот файл, что нужно. 

AOM_upgrade01.py надо открывать в программе FreePIE.exe

Повнимательней и все получится.

 

 

 

Изменено пользователем =SF=Thresher
Опубликовано: (изменено)

     Пришла в голову уникальная идея как справиться с осью Y. Изложу, пожалуй. Как известно, при движении вперед по оси Z, одновременно происходит и опускание головы по оси Y, а обратно, - приподнимание. Это физиологически повторяющееся, естественное движение. Так вот, при таком движении просто берем и считываем для каждой координаты Z соответствующую координату Y, попутно записывая эти координаты в массив точек. Это нужно будет сделать один раз, перед началом полётов. Всего в АОМ2 по оси Z у vJoy мной заложено 2200 отсчётов из полного хода 32764 отсчетов, 1100 отсчетов вперед от нуля и -1100 назад от нуля. Если взять шаг в 10 отсчетов, то получим всего 110 таких "реперных" точек в одну сторону. Дальше всё просто: берем и принимаем эту кривую точек за ноль для оси Y, а движения приращений от этого нуля уже и будут нужные нам смещения по оси Y. Преимуществ такого метода масса:

1) У каждого человека в каждом вирпильском кресле, стуле, табуретки такая кривая будет своя, но она будет повторяющаяся, и не будет сильно отличаться от высоты посадки, т.е. её достаточно будет считать один раз вообще, или один раз перед полётами, когда вирпил уселся в кресло. А раз она записана индивидуально и самим человеком, то она будет наиболее близко соответствовать его "нулю" оси Y. Назовём эту кривую компенсационной.

2) Далее, записав эту кривую "нуля", нужную координату Y уже будем брать от неё, с учётом положения головы вирпила вдоль оси Z. Получится, что наклоняясь вперед, ноль оси Y как-бы всё время идет по этой кривой, и вирпилу будет очень легко НЕБОЛЬШИМ отклонением головы от неё (траектории нуля) сделать нужное ему приподнятие, или опускание по Y в кабине самолёта.

3) Количество "реперных" точек можно увеличить убавив шаг считывания, либо можно просто аппроксимировать кривую по точкам если идем с шагом 10 отсчетов.

4) Так как в АОМ2 ось Z уже сделана с работой через приращения (я от этого теперь не откажусь никогда, настолько это удобно получилось), необходимо будет двигать компенсационную кривую при выходе диапазона движения пилота внутри кабины за её рамки. Это тоже не очень сложно, я представляю как.

 

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

Изменено пользователем 72AG_Olega
  • Нравится 2
  • Поддерживаю! 1
Опубликовано: (изменено)

Поторопился я с отменой автосмещений по Z и Y. Всё-таки нужны они (в основном, для большинства советских самолётов, для немецких можно к фоке применить). В эти выходные добавлю (предварительно настроив), будут включаться опционально. Что бы каждый раз не качать файлы других цепочек и заново их не настраивать, - сделаю отдельные файл-скрипты с блоками кода и покажу на видео как переносить из них код в ваш текущий файл скрипта. Также будет видео по настройке диапазонов. Возможно будет всё в одном. Я рассчитываю, что блочный метод будет более удачной идеей, чем подкачка других цепочек. Всё правильное и лучшее, как говорится, почему-то на ум сразу не приходит мне...

Изменено пользователем 72AG_Olega
  • Нравится 1
  • Поддерживаю! 1
Опубликовано:

Все заработало, но очень быстрые перемещения по оси Pitch (перемещения вверх-вниз) и приближение-удаление. Где это правится, в Opentrack? Я посмотрел , разница между входными данными и игровыми очень большая.

  • Спасибо! 1
Опубликовано:

В названии программы, использование "overview" для перевода "обзор", в не правильном контексте использованно.Оно сюда не подходит. 

Опубликовано: (изменено)
2 часа назад, Hudlam сказал:

Все заработало, но очень быстрые перемещения по оси Pitch (перемещения вверх-вниз) и приближение-удаление. Где это правится, в Opentrack? Я посмотрел , разница между входными данными и игровыми очень большая.

Да, так и есть. Я как раз сижу сейчас этим занимаюсь (именно осью Pitch). Там, к сожалению, всё не так просто. Да, кривыми по Yaw и Pitch в Опентреке можно оперировать свободно, так как это "сквозные оси" но, к сожалению, при этом ничинает страдать гладкость обзора. Я надеюсь к сег.вечеру я разберусь и выложу сюда, как поправить. Yaw уже поднастроил, в задней полусфере взгляд меньше "плавает" теперь.

yaw.png

yaw_ot.png.ebe17e46ac99f899e1628040cfed8269.png

По Yaw после четвертой точки кривую Трекира выпрямить на значение 13 надо. Угол поворота 18 градусов для головы и 180 градусов в игре получился - то что надо, - не слишком быстро и не слишком медленно. Я для кривой Yaw Опентрека точку подвинуть на 39х180 как на скриншоте.

вращения_ot.png

Для вращений в фильтре пока так стоит, без МЗ вроде нормально работает. Главной проблемой для Pitch, чую, будет разная скорость приращения координат при повороте на один и тот же градус Yaw/Pitch на трекире. (из-за того что кривая питч почти в ноль уронена)

Изменено пользователем 72AG_Olega
Опубликовано: (изменено)

Ось Z работает через приращения, а не через абсолютные координаты (каждый раз за ноль vJoy(и Опентрек соответственно) принимается положение прижатия пилотом в игре к бронеспинке если двигаемся назад, или  к переднему стеклу если двигаемся вперед), поэтому при начале движения игроком головы в противоположную сторону пилот в игре и начинает движение сразу же, то есть нет мертвых зон трекира, когда трекир далеко уходит за пределы бронеспинки и переднего стекла. Чтобы увеличить ход по Z, в коде в строке vJoy[0].rz = int(deltaz * 0.8) - нужно вместо 0.8 поставить 0.6. Именно так сделано в скрипте AOM2_base_01_Nolen.py. 

z_Nolen.png

Изменено пользователем 72AG_Olega
Опубликовано: (изменено)

Это настройки из цепочки Nolen. Попробуйте так поставить. if deltaz <= -1400: deltaz = -1400 и тут нужно поменять 1100 на 1400, думаю этот ход вам подойдет. Прошу прощения что не за один раз пишу, на лету всё проверяю, в буквальном смысле слова.

Изменено пользователем 72AG_Olega
Опубликовано:

Так парни, сегодня у меня вторая знаменательная веха (после идеи с приращениями по осям перемещений). Коллега вирпил Hudlam задал верное направление (по поводу плавности Pitch) течению моих беспокойных мыслей (просто огромное спасибо ему за его пост), и сегодня я доделал Yaw и почти доделал Pitch (с ней осталось только в центре придумать как МЗ сделать). Причем, как обычно, поменял всё кардинально. Обзор получается "вяжущий", но не очень быстрый (но мне понравился очень). Два несомненных плюса есть. Первый,- настройка Yaw и Pitch для пользователей сильно упростилась, как и код (который становиться простым до безобразия для осей вращения), второе, - обзор позволяет отлично держать захваченный взглядом самолёт (свой или противника) и что важно - устойчиво его идентифицировать. Обкатал сегодня на берлоге. Я до этого не летал на таком "вяжущем" обзоре и меня многое в нём сильно удивило. Стрельба стала просто песней, упреждение брать теперь (если конечно знаешь какое), это просто мечта! Правда ко мне приехала тёща из Саратова и эти выходные теперь стали заняты разными делами, но я всё же надеюсь замутить видео по настройкам, с выкладкой переделанной базовой цепочки.?

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

Подскажите еще, хотел на хатку назначить быстрые клавиши, а у меня в списке игровых устройств хатка высвечивается как HAT SWITCH, и нет номеров кнопок. Не могу их назначить ни на центровку трекира, никуда. Это мне в прошивке mmjoy нужно менять названия кнопок или какой-то альтернативный способ существует?

Опубликовано: (изменено)
3 часа назад, Hudlam сказал:

Подскажите еще, хотел на хатку назначить быстрые клавиши, а у меня в списке игровых устройств хатка высвечивается как HAT SWITCH, и нет номеров кнопок. Не могу их назначить ни на центровку трекира, никуда. Это мне в прошивке mmjoy нужно менять названия кнопок или какой-то альтернативный способ существует?

Я POV еще нигде в своих скриптах не использовал. Посмотрел доки по FreePIE Reference · AndersMalmgren/FreePIE Wiki · GitHub попробуйте так:

Вместо:      toggle_11 = joystick[2].getPressed(2)

Прописать: toggle_11 = joystick[2].pov[1] # в доках стоит что скобки квадратные должны быть для номера pov 

Я сейчас не могу проверить, вечером сделаю, думаю работать будет. Это актуально, т.к. когда ставил по удаленке АОМ2 красноярскому вирпилу, пришлось его POV Ганфайтера переводить на кнопки, я не подумал, что есть прямой вариант. Спасибо за подсказку, - победим обязательно, обещаю.

 

Изменено пользователем 72AG_Olega
Опубликовано:

все оказалось проще. В mmjoy можно одновременно назначить на хатку еще и кнопки. И все работает. Спасибо.

Опубликовано: (изменено)
1 час назад, Hudlam сказал:

А автосмещение сделать как можно?

Как-то странно. Ответ на твой вопрос в этой же теме, перед твоим замечанием: "Все заработало, но очень быстрые перемещения по оси Pitch (перемещения вверх-вниз) и приближение-удаление. Где это правится, в Opentrack?..." 

Только "вопрос - ответ" читаешь? ;)

Смотри здесь https://forum.il2sturmovik.ru/topic/15418-trackir-freepie-vjoy-opentrack-aom_upgrade/?do=findComment&comment=870652  

 

Изменено пользователем =SF=Thresher
Опубликовано: (изменено)

Главное что человек справился с задачкой, да еще и сам! А с POV у меня засада вышла. На РУДе VPC нет ни одного (ттолько министик и кнопочные крутилки), и на КГ12 тоже, - попробовать не на чем... ?

Изменено пользователем 72AG_Olega
Опубликовано: (изменено)

Не, это случайно на скриншоте вышло, я ж всё время тестирую, вот и забыл включить то. На скрине главное - кривая Yaw Трекира, я её хотел показать.

Изменено пользователем 72AG_Olega
Опубликовано:

Я имел ввиду смещение в сторону при взгляде назад. Можно ли это сделать средствами opentrack? а то со скриптами у меня пока туго.

Опубликовано: (изменено)
1 час назад, Hudlam сказал:

Я имел ввиду смещение в сторону при взгляде назад. Можно ли это сделать средствами opentrack? а то со скриптами у меня пока туго.

Вот так. Но мне не понравилось, как оно работает. При взгляде назад вроде всё хорошо, смещается как надо, но вот при возврате головы по оси Yaw обратно до значения когда смотрим вбок, взгляд по оси X автоматически уезжает к центру кабины, и от этого никуда не деться. TrueView трекира по оси X работает значительно лучше (взгляд не уезжает), но у него другая трабла с этой осью: если глядя вперед сместиться вбок, а затем повернуть взгляд назад, то перекинуть взгляд на другой борт оооочень затруднительно, для этого нужен большой ход головы в туже сторону, в которую мы отклонились. Именно поэтому я в АОМ2 разделил работу по оси X на две части: от 0 до +-90 оставил обычную работу оси  X, а от +-90 до +-180 градусов перевел работу оси X на приращения, и перекинуть взгляд  на другой борт теперь очень легко получается.

ot_autox.png

Изменено пользователем 72AG_Olega
Опубликовано:

Блин, научите кто нибудь головой правильно крутить. А то я когда смотрю назад, сдвигаю голову к приборке и наружу - все видно, переношу сдвиг на другой борт, начинаются какие-то приближения или спонтанные удаления.

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

Видео по настройкам отодвигается к след. выходным. В результате недельных поисков нашел для цепочки АОМ2 настройки для Yaw и Pitch настолько необычные, что нужно время для их тестирования. (вчера бегло протестил на Берлоге) К тому же я разогнал скрипт со штатных 64Гц, на которых работает FreePIE по умолчанию,  до 120Гц на которых функционирует трекир. В общем, пытаюсь на максимальном приближении, сделать обзор совсем без микро-рывков и "страгиваний" при начале движения. Выше указанные действия требуют пересчета коэффициентов для осей перемещений. По автосмещениям Z и Y есть пара идей (не сложных в исполнении), улучшающие их работу. Самое грустное, что я всё больше и больше прихожу к заключению, что мне всё-же придется писать свой TrueView для Трекира, т.к. костыли для родного TrueView, которые я применяю для связки осей Pitch + Y (уронив ось Pitch до значений меньших единицы, чтобы избавиться от её влияния на ось Y), приводят, как выше в постах заметили, к слишком большой разнице в скорости приращений по осям Yaw и Pitch. (разница минимум в один порядок)...

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

установил.....фух.....все работает....спасибо Олегу за разработку....:clapping::dance::yahoo:

теперь буду пробовать как оно в деле:new_russian:

во время установки на дисплее на рабочем столе нарисовалось куча папок.....их удалить с экрана можно? ниче не напартачу?

2022-03-03 (1).png

Опубликовано:
26 минут назад, 72AGs_Sterx сказал:

установил.....фух.....все работает....спасибо Олегу за разработку....:clapping::dance::yahoo:

теперь буду пробовать как оно в деле:new_russian:

во время установки на дисплее на рабочем столе нарисовалось куча папок.....их удалить с экрана можно? ниче не напартачу?

2022-03-03 (1).png

Это мясо от гловпая, насколько я вижу. Можно собрать в одну папку. Собрать, проверить работоспособность. Если ок, забыть гловпай, отложить в сторону. 
сегодня сам буду пробовать ставить новую версию. Чего там Олег накрутил нужно разобраться?

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

попробовал....немного резковато......мертвых зон как будто не хватает...но к  этому можно привыкнуть....вот только не пойму....поворачиваю голову в лево смотрю назад...спинка приближается....возвращаю взгляд вперед все в норме........поворачиваю голову в право...смотрю назад...спинка отдаляется(как и нужно) но при возвращении взгляда вперед идет приближение прицела........https://youtu.be/5zVk63RanMg

чуть не ту сылку кинул....смотреть токо первое видел...(по теме)....дальше там просто  один трэкир.....

Опубликовано:
26 минут назад, 72AGs_Sterx сказал:

но при возвращении взгляда вперед идет приближение прицела.....

Да. Я тоже это наткнулся (я тестировал всё на Лагг-3 и там это менее заметно было). Продолжаю искать и не сдаваться... Правда завален работой сейчас. Но я точно доведу этот обзор до ума (именно эту схему). Похоже что всё же придется писать свой TrueView на это дело...

  • Поддерживаю! 1
Опубликовано:
2 часа назад, 72AG_Olega сказал:

Да. Я тоже это наткнулся (я тестировал всё на Лагг-3 и там это менее заметно было). Продолжаю искать и не сдаваться... Правда завален работой сейчас. Но я точно доведу этот обзор до ума (именно эту схему). Похоже что всё же придется писать свой TrueView на это дело...

Скинь пжл ссылку на крайнюю версию. Чот найти не могу

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

Я пока ничего не обновлял в папке общего доступа Гугл диска. 

 

 

Изменено пользователем 72AG_Olega
Опубликовано:
17 часов назад, 72AG_Olega сказал:

Да. Я тоже это наткнулся (я тестировал всё на Лагг-3 и там это менее заметно было). Продолжаю искать и не сдаваться... Правда завален работой сейчас. Но я точно доведу этот обзор до ума (именно эту схему). Похоже что всё же придется писать свой TrueView на это дело...

пришла в голову мысль...хз какая....приеду вечером домой попробую...клипса трэкира подвешена к наушникам с права.(по логике поворачивая голову то туда то сюда диоды то приближаются к камере то отдаляются по разному)...попробую камеру  трэкира поставить по центру монитора а клипсу с диодами прищелкнуть по середине дужки наушников..(на макушке)...интересно что получится....

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

Не, - рывок это особенность работы TrueView самого трекира. Так он работает. Сегодня пару часов посидел, - рывок удалось устранить, но пока за счет отсутствия движения вперед-назад вдоль оси Z при взгляде вперед (т.е. отключаю оcь Z не в Трекире, а в скрипте). Теперь колдую как вернуть движение по Z но при этом не вернуть скачок... где-то на полпути уже к решению этой задачки...

  • Поддерживаю! 1
Опубликовано:

похоже пора........Похоже что всё же придется писать свой TrueView

это от  Олега

 

а мы ждемс.....

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

горячии клавиши работают в норме......

было немного резковато использование....по совету Олега поставил в скрипте значения как у Нолена.....вместо 0.8 поставил 0.6 и вместо 1100 поставил 1400....движения стали на много плавнее и приятнее в использовании......

и все бы ничего вот токо при повороте головы на право- назад..... бронеспинка отдаляется и пилот приподымается(порядок)но при возвращении взгляда в перед прицел приближается...приходится центрировать....обратите внимание что можно и не центрировать а просто немного посмотреть в лево и все становиться в норме.....

а вот при повороте головы в плево-назад бронеспинка НЕ отдаляется и пилот НЕ приподымается(если автоматом)приходится головой двигать.....но зато взгляд после этого по возврату в центр(вперед) без приближения(нормальный как и задумано)....

 

Если поправить эти два косяка....то в принципе программа будет на УРА......во много лучше чем просто трэкир

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

да и вот тоже заметил при перемещении взгляда вверх а потом обратно тоже идет приближение прицела....и опять так же лечится центрированием или перемещением взгляда в лево......  

 

но не взирая на это обзор шикарный.....с нетерпением ждем поправок....если возможно конечно....

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

да вот и еще вопросик.....можно ли как то поставить небольшую мертвую зону на оси Х....или как то на ней чувствительность уменьшить? если можно то в трэкире или в скрипте что то поменять?

может так же на  оси Х в скрипте 0.8 на 0.6 поменять?

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

Докладываю о ходе работ. Немного выбит из рабочей колеи завалом на работе и праздниками (ездил за город к родственникам отмечать). На текущий момент:

1. Автосмещения по Z и Y сделаны и давно работают без нареканий (еще со времени прошлого видео, просто не успел их туда включить). 

2. Отказался от вывода Yaw и Pitch через Opentrack и вывел их напрямую в игру ч/з vJoy (а в Опентрек отключил их соответственно). Для этого подобрал хитрые кривые для трекира совместно со сглаживанием кривых джойстика в самой игре (по Yaw в игре сглаживание 100%, Pitch сглаживание 34%). У Трекира общее сглаживание выставлено на 45 единиц, а у vJoy для этих осей теперь задействуется полный диапазон его отсчётов от -16384 до 16384. Это фантастика - плавность как у трекира (никаких микрорывков), спереди и сзади достигнута одинаковая плавность, фиксация на самолёте противника (а также и наземных целях) взгядом даже на максимальном приближении великолепная (взгляд как-бы приклеивается к объекту). Мертвая зона по Yaw и Pitch впереди, - то что надо, и не большая и не маленькая и подход к ней очень плавный (из за профиля кривых принятых в самой игре). 

3. Победить рывок вперед по оси Z трекира для TrueView при переводе взгляда из сбоку на вперед пока не удалось. Из-за этого начал писать свой TrueView. Действую по обеим этим направлениям параллельно...

 

В общем как-то так. Ну и пару кнопок для взгляда на шесть тоже планирую сделать. (в отличии от фиксированных взглядов игры, можно будет крутить головой по остальным осям кроме Yaw). Так что еще неделю минимум возиться буду, главное TrueView  мне "добить", остальное всё мелочи уже...

Изменено пользователем 72AG_Olega
  • Спасибо! 1
Опубликовано:

Назначенные кнопки джойстика почему-то иногда сбиваются. После пары переопределений вписал в скрипт стандартные сочетания на клавиатуре.

Скрытый текст
#------------------Центровка (прописать кнопку)----------------
if keyboard.getPressed(Key.F12): # F12 на клавиатуре
	vJoy[0].x = vJoy[0].y = vJoy[0].z = vJoy[0].rx = vJoy[0].ry = vJoy[0].rz = 0
	y_up = y_up_1 = y_up_2 = 0
	trigger_12, trigger_11 = False, False
#=========== ZOOM, три положения на двух кнопках. =================================
toggle_zoommax = keyboard.getPressed(Key.NumberPadPlus) # Плюс на нампаде 
toggle_zoommiddle = keyboard.getPressed(Key.NumberPadMinus) # Минус на нампаде
if toggle_zoommax: zoommax = not zoommax 
if toggle_zoommiddle: zoommiddle = not zoommiddle
if toggle_zoommax:
	if (zoommax): 
		vJoy[0].setButton(0, True) 
		vJoy[0].setButton(1, False)
		zoommiddle = False
	if (zoommiddle) and (zoommax): zoommiddle = False	
if toggle_zoommiddle:
	if (zoommiddle): 
		vJoy[0].setButton(0, False)
		vJoy[0].setButton(1, True)
		zoommax = False
	if (zoommiddle) and (zoommax): zoommax = False
if (not zoommax) and (not zoommiddle): 
	vJoy[0].setButton(0, False)
	vJoy[0].setButton(1, False)

 

 

  • Нравится 1
Опубликовано:

у меня не сбивались....кнопки были назначены на Руде.....

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

А фиг его знает. В любом случае иногда удобно забить кнопки с клавы. Такая возможность есть.

Опубликовано: (изменено)
1 час назад, =FB=Tokar сказал:

А фиг его знает. В любом случае иногда удобно забить кнопки с клавы. Такая возможность есть.

Это важно! Очень! Я не стал делать на клавишах клавиатуры (точнее я убрал этот вариант, он был у меня прописан в скрипте вариативно), потому что на моём компьютере скрипт FreePIE по какой-то причине не реагирует на нажатие этих клавиш, когда я нахожусь в игре. Если переключаюcь на окно скрипта FreePIE клавиши работают, обратно переключаюсь на игру - фиг. Если я как-нибудь выясню причину, то добавлю вариант с клавишами, одновременно описав на что смотреть если клавиши не работают.

 

УРА! Мне удалось убрать скачок по оси Z TrueView трекира! (слава богу свой TrueView писать не надо теперь) "Костыль" для этого получился такой чуднОй, что мозги набекрень ?, - но работает хорошо. На этой неделе "причешу" код и выложу на диск цепочку профайлов АОМ2_base_02. В быстром вылете сейчас облетал десяток самолётов красных и синих, мне понравилось... Буду дальше тестировать еще в он-лайне (Берлога + Либерти) по возможности.

 

ЗЫ: И еще. Я отказался от использования быстрого ZOOM, и переделал этот же метод (на двух кнопках три положения) на ось FOV. Причина: выяснилось, что при зажатых кнопках быстрого зумм в игре (догадываюсь почему) добавляются еле заметные микро-рывки на ось Yaw. При использовании оси, назначенной на FOV этого не происходит. В цепочке base_02 этот кусок кода оставлю.  

22 часа назад, 72AGs_Sterx сказал:

и все бы ничего вот токо при повороте головы на право- назад..... бронеспинка отдаляется и пилот приподымается(порядок)но при возвращении взгляда в перед прицел приближается...приходится центрировать....

Это общий недостаток работы оси Y (из-за этого многие её и отключают). У цепочке base_02 я Y убрал вовсе. Оставил три кнопки для Y только (и добавлено авто-смещение для неё). С осью Y по движению головы буду разбираться потом. Выше в теме написал как, но это потребует времени прилично.

Изменено пользователем 72AG_Olega
  • Нравится 1

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

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

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

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

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

Войти

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

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