Aurora Vibra — оживляем виброотдачу на джойстиках Winwing в War Thunder


Приветствую, камрады.

Многие из нас летают на вполне достойном железе от Winwing (те же сайдстики Ursa Minor или базы Orion). Железо отличное, но есть один старый и до боли знакомый косяк — Тундра в упор не понимает их вибромоторы. Родной софт с игрой в этом плане тоже не дружит, в итоге ручка в руках остается абсолютно «мертвой». Меня лично эта ситуация в корне не устроила.

Пару слов о том, откуда растут ноги. Я сейчас пилю опенсорсную софтину под названием Aurora Vibra. Изначально проект затачивался сугубо под MSFS, чтобы вытащить оттуда нормальную, детальную физику вибраций. Но летать в WT без тактильного фидбека надоело, поэтому решил покопаться в коде и прикрутить поддержку нашей игры.

Кратко о том, как оно работает: Утилита цепляется к игре, тянет полетные данные и на лету переводит их в адекватную тактильную отдачу на моторы вашего РУСа и РУДа.

Теперь о нюансах (почему это пока Release Candidate): Сразу оговорюсь, версия тестовая. Проблема в том, что локальная телеметрия, которую «улитки» отдают через порт 8111 — это местами тихий ужас. Она довольно куцая и реализована весьма специфически. Для понимания масштабов трагедии: на некоторых крафтах (например, на японском A6M3) флаги стрельбы вообще не отдаются в API, просто потому, что исторически они там завязаны на анимацию приборов в 3D-кабине.

Костыли, конечно, наше всё, и обходные пути я ищу, но из-за таких особенностей движка некоторые фичи пока могут работать с ограничениями или не на всех самолетах.

Собственно, зачем пишу: Мне нужно понимать, востребовано ли это вообще в нашем вирпильском сообществе. Если проект вызовет интерес, готов взяться за его развитие именно под реалии War Thunder: ковырять кривую телеметрию, добавлять новые эффекты (тряску при срыве потока, перегрузки, попадания по обшивке) и доводить код до ума.

📥 Забрать тестовую сборку (v4.2.0-rc1) можно на Гитхабе: Release v4.2.0-rc1 · chegevarko1982/aurora-vibra · GitHub

В систему ничего интегрировать не надо, софтина портативная — распаковали архив в любую удобную папку и запустили.

Буду рад любому конструктиву в комментариях. Пробуйте на своих любимых машинах, кидайте багрепорты, делитесь впечатлениями. Если тема зайдет — будем общими усилиями делать из этого конфетку.

1 лайк

Честно говоря практически никогда не видел упоминаний винвинга (или как он там скйчас называется) в сообществах по сб, ни в Дискорде, ни на редиттах. То ли с ним все хорошо ( и людям допов с обратной связью не нужно) то ли с ним все плохо, и он типа не популярный. Вспоминая, наверное только в формате вопросов попадалось, мол хочу купить, какие подводные.
У меня вот мечта о другой программе под недоделок тундры - интерпретатор руда для разнотяга. В игре тягу можно назначить только на одну ось, и чтобы управлять двумя двигателями, приходится делать это через их выделение и сброса выделения для каждой короекции. Тем предложений было полно за декаду, улитос не почесался и вообще им пофигу.
Самое смешное был даже девайс в турнире в призе победителю с двумя ручками руда, но как бы воз порос ковылем.
Вот хотелось бы чтоб какая-то программа отслеживала положение осей рудов и автоматом делала “выделение двигателя” и раскидывала значения при их перемещении.
Делать разворот на горке на двухмоторнике в улитке табу, а хотелось бы.

1. Почему о Winwing мало говорят в сообществах War Thunder?

Вы абсолютно правы: в Discord-серверах и на Reddit по War Thunder о Winwing действительно пишут ощутимо меньше, чем о VKB (Gladiator EVO), Thrustmaster (T.16000M / TWCS) или Virpil.

На это есть три главные причины:

  1. Исторический уклон Winwing в DCS World и MSFS: Winwing строила свой бренд на точных репликах органов управления боевых самолётов (F/A-18, F-16, A-10C) и гражданских лайнеров (Airbus). Их целевая аудитория — это люди, которым нужны аутентичные панели, кликабельные кокпиты и сложнейшая базовая логика DCS.
  2. Нулевая официальная поддержка со стороны софта: Фирменный софт Winwing (SimApp Pro) заточен под DCS, MSFS и X-Plane. Для War Thunder у Winwing нет официальной телеметрии, подсветки или вибрации из коробки. Устройства работают просто как обычные стандартизированные USB HID джойстики.
  3. Сегмент аудитории: В War Thunder СБ исторически преобладает либо бюджетный сегмент, либо народный средний класс вроде VKB Gladiator. Серия Winwing Ursa Minor начала заходить на этот рынок относительно недавно.
    В дискорде вингов наблюдал не один пост о просьбах с поддержкой тундры, в сухом остатке если если аудитории нет, то и говорить не о чем. Рынок как говорится порешает. В тундру сам играю мало.

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

Обновленная версия Releases · chegevarko1982/aurora-vibra · GitHub

Эффекты — их восемь

1. Стрельба, оружие №1 Не «просто вибрация на время очереди», а генератор текстуры выстрелов: программный ШИМ с несущей 6.5 Гц, скважность 33 %, джиттер амплитуды 12 % от цикла к циклу и атака 41 мс на передний фронт очереди. Джиттер — важная часть: без него очередь ощущается как ровное гудение мотора, а не как работа ствола.

2. Стрельба, оружие №2 Отдельный пресет с другим характером: несущая 4.3 Гц, скважность 40 %, джиттер 3 %, повышенный «пол» 100. Более тяжёлый и размеренный — под авиапушку, тогда как первый настроен под пулемёт.

Ключевая деталь: два орудия разведены по разным рукам — оружие №1 идёт в джойстик, оружие №2 в оба мотора РУД. Это не настройка, а смысл эффекта: два разных ствола должны ощущаться в разных ладонях, иначе они сливаются. Все пресеты подобраны на живом железе.

3. Буффет срыва потока (сваливание) Работает по реальному углу атаки из телеметрии, а не по факту «сорвался». Начинает подрагивать заранее, в предсрывной зоне шириной ~4.9° по углу атаки, и плавно растёт по мере приближения к срыву — пилот успевает почувствовать и отдать ручку. В момент самого срыва — отдельный импульс с множителем 1.5 длительностью 0.25 с. Пила 5 Гц, потолок эффекта 80. Есть гистерезис 3°, чтобы импульс срыва не долбил повторно при болтанке около границы.

4. Превышение Vne (превышение скорости) Порог берётся из таблицы предельных скоростей, покрывающей ~1300 машин ростера — по точному совпадению имени техники. Нарастание в окне 10 км/ч до порога, дальше держит потолок.

Отдельно учитываются выпущенные закрылки: действующий предел ужесточается до скорости разрушения самих закрылков в текущем положении. Положения различаются по проценту выпуска — боевое, взлётное и посадочное, границы откалиброваны вживую (26.5 % и 66.5 %). То есть на выпущенных посадочных щитках эффект начнётся сильно раньше, как и должно быть.

5. Превышение по шасси (Vlo) — отдельный эффект Срабатывает только при выпущенном шасси, по собственной скорости разрушения стоек этой машины. Окно нарастания шире — 20 км/ч вместо 10, чтобы ощущение отличалось от обычного превышения и читалось как другая проблема.

6. Закрылки Гул привода, пока плоскости реально движутся, — по изменению положения, а не по нажатию клавиши.

7. Выпуск/уборка шасси и удар створок Ритм работы механизма во время движения стоек плюс отдельный удар в момент постановки на замок вверху и внизу.

8. Запуск и остановка двигателя Полноценный конечный автомат по оборотам и мощности, а не «включилось/выключилось». Прокрутка на 1.5–6.5 Гц с амплитудой, растущей вместе с темпом набора оборотов; отдельный импульс «схватывания» 0.3 с, когда двигатель подхватывает; затухание при выходе на устойчивые обороты. Остановка отрабатывается своим сценарием с двумя импульсами. Отдельно отлавливается ситуация «зашёл в бой на уже летящей машине» — окно устаканивания телеметрии 1 с не даёт принять это за запуск с нуля.

Настройка

  • Каждый эффект включается отдельно, со своим ползунком силы.
  • Любой эффект можно направить в джойстик, в РУД или в оба сразу (кроме стрельбы — там маршрутизация фиксированная, см. выше).
  • Профили по машинам: настройки привязываются к конкретной технике и подхватываются автоматически при её смене.
  • Активная игра определяется сама. War Thunder, MSFS и X-Plane 12 опрашиваются одновременно, и управление забирает та игра, которая реально запущена; интерфейс переключается следом. Есть ручной оверрайд, если запущено две сразу.
  • Интерфейс на русском и английском, есть панель живой телеметрии, чтобы видеть, что именно приходит из игры.