???
Математика на уровне МГУ

Показано с 1 по 25 из 132

Тема: Баг-репорт: обработка сигнала джойстика в Ил2

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Инструктор Аватар для pakman
    Регистрация
    11.06.2003
    Адрес
    Россия, Питер
    Возраст
    48
    Сообщений
    1,470

    Баг-репорт: обработка сигнала джойстика в Ил2

    Если коротко - у самого лучшего авиасимулятора Второй мировой самый бажный алгоритм ввода сигнала от джойстика.

    Такой вывод был сделан мной на основе изучения откликов в меню "Устройства ввода" программы Ил2.

    В прикреплённом рисунке приведены алгоритмы преобразования сигнала от джойстика (Yджой) в сигнал отклонения РУС (Yрус). Далее перечислю основные недостатки реализованой сейчас в Иле схемы:

    1) Неправильный тип мёртвой зоны. У мёртвой зоны, реализованой сейчас в иле, имеет место скачёк выходного сигнала при переходе через порог мёртвой зоны. Это неприемлимо. Получается значительный рывок самолёта при мизерном перемещении джойстика в районе порога. И этот рывок получается тем боьше, чем больше величина мёртвой зоны, выставленная в настройках.

    2) Мёртвая зона расположена после фильтра, который выпоняет сглаживание. Такое расположение - неправильное. Мёртвая зона должна находиться перед сглаживанием. Иначе получается то, что получается: попробуйте в меню "Устройства ввода" поставить на тангаж максимальные сглаживание и мёртвую зону, потом быстро перемещайте джойстик от верхнего упора до нижнего и следите за зелёным маркером, показывающим положение РУС. Заметели? Вместо того, чтобы быстро и безостановочно пройти центр, зелёный маркер замирает в нуле на продолжительное время. Управлять самолётом при такой передаточной функции довольно таки тяжело будет .

    3) Зачем введено условие, что при сигнале джойстика, точно равном нулю, сигнал РУС тоже сразу, скачком, переключается в нуль? Вот это совершенно непонятно. Во первых при, этом сразу отменяется действие сглаживания. Но самое ужасное, что сумма, накопленная в фильтре сглаживания не сбрасывается при этом в нуль. Поэтому, когда потом джойстик сходит с нуля, выходной сигнал схемы, то есть положение РУС, становиться таким, каким он был до установления сигнала джойстика в нуль. Для илюстрации этого кашмарного эффекта нужно проделать следующее: в меню "устройства ввода" установить на ось тангажа нулевую мёртвую зону и максимальное сглаживание. Далее, полностью взять джойстик на себя, затем быстро переместить точно в нулевое положение. Потом переместить джойстик от себя - вы увидете, что в первый момент зелёный маркер РУС метнулся совершенно в противоположную сторону, на запомненное на момент установки в нуль значение.

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

    В принципе, я понимаю, что имел в виду программист, написав первые два бага. Но он был не прав. И тем более он был не прав, программируя третий баг. Ну, хоть бы сумму фильтра сбрасывал в нуль, что ли.

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

Название:	Обработка ввода джойстика в Ил2.GIF 
Просмотров:	388 
Размер:	9.0 Кб 
ID:	48859  
    В любви к ближнему главное - не перестараться
    2GvShAD_Pakman

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •