эмулятор джойстика

Discussion in 'Hardware and Software' started by Ivan_004, Oct 30, 2002.

  1. -exec-

    -exec- FH Consultant

    Joined:
    Jan 29, 2000
    Messages:
    24,690
    Location:
    xUSSR
    для меня это медленно. моя две позиции правее центра.

    добавлю, что описанную калибровку диапазонов нужно делать в разрешении экрана игры - если ставни на 1024, а вб на 640, то для калибровки надо переключить ставни на 640.

    ширина диапазона мжоя действительно зависит от скорости мыши. как - пока изучайте сами. может быть для экрана 1024 так:
    скорость 2 поз левее - 1536
    скорость 1 поз левее - 1280
    скорость на центре - 1024 (по утверждению ivan4)
    скорость 1 поз правее - 768
    скорость 2 поз правее - 512 (в моей системе)
     
  2. -flank

    -flank Well-Known Member

    Joined:
    Sep 18, 2002
    Messages:
    10,380
    Location:
    Russia, Cheboksary
    Иван, а проблему с винь98 не решена случаем? Там после ресета машины джой заново калибровать надо...
     
  3. -flank

    -flank Well-Known Member

    Joined:
    Sep 18, 2002
    Messages:
    10,380
    Location:
    Russia, Cheboksary
    Deletet разобрались!
     
    Last edited: May 14, 2005
  4. Dima

    Dima Well-Known Member

    Joined:
    Aug 14, 2003
    Messages:
    948
    Location:
    Cheboksary
    У меня так, скорость мыши в центре, настройки 1024х768.
    А скорость настраивал сужением диапазона в wstick.cfg
     
  5. -exec-

    -exec- FH Consultant

    Joined:
    Jan 29, 2000
    Messages:
    24,690
    Location:
    xUSSR
    чё за херь?!
    на бочку проблему с солюшном!
    не тебе одному интересно.
     
  6. -flank

    -flank Well-Known Member

    Joined:
    Sep 18, 2002
    Messages:
    10,380
    Location:
    Russia, Cheboksary
    прописал геймпорту ресурс руками - порт 201
     
  7. Ivan_004

    Ivan_004 Well-Known Member

    Joined:
    Jun 18, 2002
    Messages:
    613
    Файлик - jfltr.sys надо скопировать в \windows\system32\drivers, старый сохранить на всякий случай :)

    Насчет динамических настроек отключения мыши - надо этим заниматься а времени , да и особого смысла (ИМХО) нет, т.е. работы довольно много , а результат сомнительный. Потому пока что не делал. Может быть когда-нибудь сделаю такие настройки.
     
    Last edited: May 18, 2005
  8. Ivan_004

    Ivan_004 Well-Known Member

    Joined:
    Jun 18, 2002
    Messages:
    613
    deleted
     
    Last edited: May 18, 2005
  9. Ivan_004

    Ivan_004 Well-Known Member

    Joined:
    Jun 18, 2002
    Messages:
    613
    deleted
     
    Last edited: May 18, 2005
  10. Ivan_004

    Ivan_004 Well-Known Member

    Joined:
    Jun 18, 2002
    Messages:
    613
    гребаный эксплорер
     
  11. -mart-

    -mart- Well-Known Member

    Joined:
    Dec 20, 2000
    Messages:
    16,496
    Location:
    Russia
    И это говорит програмист работавший на Микрософт %)
     
  12. -taru-

    -taru- Well-Known Member

    Joined:
    Jul 25, 2004
    Messages:
    77
    Location:
    Volgograd, Russia
    thx, щас попробуем... :flyer:
     
  13. eGuru

    eGuru New Member

    Joined:
    May 27, 2005
    Messages:
    2
    К Ивану.
    Благодарю Вас за труд. Отличная программа. Инсталляция прошла без проблем, после настройки эмулятор работает вполне адекватно.
    Использую его для запуска космосимуляторов Tie-Fighter 95, X-Wing vs Tie-Fighter, в них управление сделано исключительно джойстиком.

    Хочу высказать свои соображеия о способе эмуляции джойстка.
    Сейчас управление очень непривычно, нужно много времени, чтобы научиться ловить центральное положение "джойстика". Кнопка сброса осей в среднее положение спасает, но лишь отчасти. В треде уже звучали предложения сделать индикатор положения виртуальной рукоятки.
    Есть предложение решить эту проблему другим способом.
    Дело в том, что мышь не имеет абсолютного начала координат, она выдает информацию о своем движении, то есть относительное перемещение манипулятора, а не абсолютное положение рукоятки или регуляторов, как это делает джойстик. При работе с мышью у игрока нет обратной связи, по которой он мог бы контролировать, чувствовать угол наклона виртуального джойстика. Зато игрок отлично ощущает с какой СКОРОСТЬЮ перемещает мышь по столу. Я предлагаю сделать так, чтобы эмулятор выдавал отклонение ручки джойстика пропорционально скорости перемещения мыши и возвращал ее в центральное положение, когда мышь неподвижна. Другими словами, корабль/самолет поворачивает пока мышь движется. Именно так реализовано управение мышью в X-Wing/Tie-Fighter для DOS, в "Шторм - солдаты неба" и в других симуляторах. Именно так действует мышь во всех шутерах от первого лица. Так можно будет добиться ювелирной точности прицеливания, не хуже любого Квакера/Контриста.
    Конечно, принятую сейчас систему управления тоже нужно сохранить, пусть выбор будет за пользователем. В "Axis settings" в список "Map ?? joystick axis as:" можно добавить дополнительные пункты, например "X mouse speed".

    Что вы думаете?
     
  14. -exec-

    -exec- FH Consultant

    Joined:
    Jan 29, 2000
    Messages:
    24,690
    Location:
    xUSSR
    бочка или мёртвая петля будут проблематичными - это потребует несколько ковриков. :joystick:
     
  15. Ivan_004

    Ivan_004 Well-Known Member

    Joined:
    Jun 18, 2002
    Messages:
    613
    Насчет непривычности управления - это дело субъективное. мне например, на джое непривычно. Попробуй автоцентровку поставить по всем осям. может быть поможет.

    Насчет предложенного алгоритма - на сколько должны отклоняться рули, при движении мыши. Или это должна быть производная скорости? Если так, то exec прав, чтобы быстро сделать бочку (несколько бочек), не хватит коврика. Если же отклонение постоянное - тогда и джой не нужен, проще на клавиатуре летать. В шутерах такая фича - дело полезное. Надо будет подумать вообще ;)
     
    Last edited: May 30, 2005
  16. eGuru

    eGuru New Member

    Joined:
    May 27, 2005
    Messages:
    2
    Пытаюсь привыкнуть, понемногу получается, но точность стрельбы всеже не та.

    Рули должны отклоняться пропорционально скорости движения мыши, то есть пути, пройденного мышей за некоторое время. Понадобится регулировка чувствительности, то есть коэффициента пересчета скорости в RAW данные отклонения.
    По опыту игры, коврика вполне хватает. Иногда просто поднимаю и переставляю мышу в центр. Во всех играх есть небольшая инертность реакции на скорость движения мыши. В "Шторме", например, при резких движениях мыши, рули остаются в крайних положениях еще около секунды после остановки мыши, так что вполне можно быстро поднять-переставить-продолжить_движение. Помогает также повернуть коврик узкой стороной к поперек стола.

    Алгоритм с "инертностью" можно сделать примерно так (для каждой из осей): снимаем с мыши данные с частотой равной частоте опроса Fm, запоминаем каждый отсчет в буфер U[n]. Данные RAW меняем, к примеру, с частотой Fr=25 Гц. Чтобы сделать реакцию на движения мыши более плавной, будем усреднять результат за время, равное трем периодам обновления данных RAW. Таким образом, длина буфера для частоты Fm=125 Гц (у USB мышей) будет: n=3*(Fm/Fr)=15. RAW вычисляем так: K*(SUM(U[1..15])/Fm), где K - коэффициент чувствительности. Результат будет со знаком, так что нужно будет задать абсолютное смещение для среднего положения виртуальной рукоятки.
    Из настраиваемых данных, думаю, надо иметь: частоту опроса мыши (общее), коэффициент чувствительности и значение RAW средней точки (для каждой из осей).
     
    Last edited: May 30, 2005
  17. zuljin

    zuljin New Member

    Joined:
    Nov 1, 2004
    Messages:
    3
    Location:
    Surgut
    брррр....
    Не проще ли реализовать оверлейное изображение положения мышки?
     
  18. -mart-

    -mart- Well-Known Member

    Joined:
    Dec 20, 2000
    Messages:
    16,496
    Location:
    Russia
    серега вопрос! :)
    Мне тут в моем Сайдвиндере выкусили резистор твиста и впаяли туда педали! ;)
    А теперь не слабый вопрос, как теперь леать на мыше и юзать педали?
     
  19. Stefan

    Stefan FH Beta Tester

    Joined:
    Feb 14, 2001
    Messages:
    21,667
    Location:
    Пивбар
    1. Педали подключаешь на гейм порт.
    2. Выставляешь в настройках драйвера использовать педали.
    3. Калибруешь педали как тебе нужно.
     
  20. -mart-

    -mart- Well-Known Member

    Joined:
    Dec 20, 2000
    Messages:
    16,496
    Location:
    Russia
    опять паять...

    а без пайки никуда?;)