Dimmka69 Posted April 27, 2013 Posted April 27, 2013 Предусмотрено ли в симуляторах DCS сглаживание осей джойстика, не могу найти. У меня х52про с известной болячкой дрожания осей РУД. Блин, неудобно. Анимация РУД дрожит, оборотов винта дрожит, триммеров дрожит... :pilotfly:
ED Team Chizh Posted April 27, 2013 ED Team Posted April 27, 2013 Предусмотрено ли в симуляторах DCS сглаживание осей джойстика, не могу найти. У меня х52про с известной болячкой дрожания осей РУД. Блин, неудобно. Анимация РУД дрожит, оборотов винта дрожит, триммеров дрожит... :pilotfly: Настроек таких нет. Сглаживание есть в ЛА с АФМ от естественных причин - не мгновенной работы системы управления и гидравлики. Единственный урок, который можно извлечь из истории, состоит в том, что люди не извлекают из истории никаких уроков. (С) Джордж Бернард Шоу
Dimmka69 Posted April 27, 2013 Author Posted April 27, 2013 Настроек таких нет. Сглаживание есть в ЛА с АФМ от естественных причин - не мгновенной работы системы управления и гидравлики. Спасибо. P-51D, A-10C, Ka-50 - это модели с AFM? На дрожание ручек в кабине можно не обращать внимание? На P-51D, для прямолинейного полета все время приходится подкручивать триммеры, это в порядке вещей? Сглаживания AFM не хватает? Или у меня руки кривые?
cikory Posted April 27, 2013 Posted April 27, 2013 На P-51D, для прямолинейного полета все время приходится подкручивать триммеры, это в порядке вещей? Сглаживания AFM не хватает? Или у меня руки кривые? Да, это нормально. Там, где Уазик не пройдет, И там, где Абрамс не промчится, На пепелаце пролетят Уэф, Би, Скрипач и дядя Вова! (Если конечно не гробанутся на висении и посадке)
Dimmka69 Posted April 28, 2013 Author Posted April 28, 2013 Да, это нормально. Спасибо за пояснение. А как насчет вот этого: На дрожание ручек в кабине можно не обращать внимание?
cikory Posted April 28, 2013 Posted April 28, 2013 А сильно дрожит? Это известная болячка Х52, некоторым помогает использование USB-hub`а, а я просто выдергивал и снова вставлял джойстик в порт Там, где Уазик не пройдет, И там, где Абрамс не промчится, На пепелаце пролетят Уэф, Би, Скрипач и дядя Вова! (Если конечно не гробанутся на висении и посадке)
Dimmka69 Posted April 28, 2013 Author Posted April 28, 2013 А сильно дрожит? Нет, не сильно, но стабильно :) Если в AFM не предусмотрено отваливание чего либо от этого дрожания, то пусть дрожит.
DrBit Posted May 18, 2013 Posted May 18, 2013 Меня больше всего напрягает отсутствие сглаживания на осях обзора. В частности ось зума дергается в полете, хотя дребезг осей минимален (я на разных осях разных устройств проверял) Было бы здорово хоть для нее какую-нибудь фильтрацию дребезга предусмотреть. i5-2500K 4.5GHz, 16Gb DDR3, GTX680 2Gb, Win7-64
DrBit Posted July 12, 2013 Posted July 12, 2013 В общем апну тему, проблема отсутствия фильтрации "шумов" меня очень напрягает. На обзоре пришлось отказаться от оси зума - с постоянными подергиваиями летать невозможно. Неприятно смотреть как в мустанге пошумливает РУД, видимо из-за шума не работает нормально закрытие/открытие фонаря на П51. Назначал разные оси, делал мертвые зоны - результат один - при отклонении оси фонарь начинает двигаться в нужную сторону, потом сам останавливается (возможно его шум сбивает), потом начинаются непредсказуемые движения фонаря - продолжаю двигать ось вперед - но фонарь поехал назад и наоборот, иногда может все же закрыться/открыться до конца, но это редкость. Слегка дергаются назначенные на оси "крутилки" прицела К14 на мустанге, и т.д - все что не сглаживется внутренней фильтрацией АФМ (на крен/тангаж/ рысканье в полете жалоб нет, видимо хватает АФМ-фильтрации) Джойстики у меня не ушатаные, проверяю парой джойтестеров, во всех симах сглаживание отключаю и проблем с "дорожью" не имею. Это какая-то принципиальная позиция ЕД - не давать игрокам подстроить свои девайсы под чуткость игры или есть (пусть и скрытая в конфигах) возможность эту чуткость чуть уменьшить для отдельных осей? Может есть возможность какими-то внешними утилитами (в софте моих джоев этого нет) исправить ситуацию? Мне очень нравятся ваши продукты ДКС серии, хочется чтоб такие мелочи не досаждали. i5-2500K 4.5GHz, 16Gb DDR3, GTX680 2Gb, Win7-64
Черный Дракул Posted November 23, 2020 Posted November 23, 2020 2020. Проблема все та же... :music_whistling: They are not vulching... they are STRAFING!!! :smartass::thumbup:
ctajiuh58 Posted November 24, 2020 Posted November 24, 2020 О, а правда можно как в ил2 сделать? Задолбала одна ось на руде и тоже на зуме, ну нет просто ничего удобнее, даже если она дергается. В иле с шумоподавлением она практически не дергается. Серверы КВАС. Железо: I9-9900k, 32GB DDR4, SSD, RTX 2080super
Черный Дракул Posted December 3, 2020 Posted December 3, 2020 (edited) On 11/24/2020 at 6:25 AM, ctajiuh58 said: О, а правда можно как в ил2 сделать? Задолбала одна ось на руде и тоже на зуме, ну нет просто ничего удобнее, даже если она дергается. В иле с шумоподавлением она практически не дергается. Я сделал через скрипт AutoHotkey + vJoy Понятно, что работает он через скриптер АНК: https://www.autohotkey.com/ Сначала надо скачать виртуальный джойстик: https://sourceforge.net/projects/vjoystick/ и создать в-джойстик с осью Х. Потом скрипт с интерфейсом под него для АНК: https://github.com/evilC/AHK-CvJoyInterface (поскольку сам АНК не умеет писать значения в оси джойстика, даже виртуального). После этого можно смело использовать его через #include в своем скрипте. У меня, например, сейчас работает вот такой скрипт: Spoiler #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. ; #Warn ; Enable warnings to assist with detecting common errors. #Persistent #include E:\Utilities\AutoHotkey\Extras\Scripts\AHK-CvJoyInterface-master\CvJoyInterface.ahk ; Library for vJ-AHK interaction SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. vJoyInterface := new CvJoyInterface() ; VJoy init if (vJoyInterface.LibraryLoaded) { SetTimer, WatchAxis, 8 ; main loop } else { msgbox % vJoyInterface.LoadLibraryLog ExitApp } ; $F8:: ; Axis assign script. ; if (vJoyInterface.LibraryLoaded) { ; SetTimer, WatchAxis, Off ; JoyRot := 0.0 ; While (JoyRot < 100) { ; vJoyInterface.Devices[1].SetAxisByIndex(JoyRot / 100 * 32768, 1) ; Sleep, 10 ; JoyRot++ ; } ; While (JoyRot > 0) { ; vJoyInterface.Devices[1].SetAxisByIndex(JoyRot / 100 * 32768, 1) ; Sleep, 10 ; JoyRot-- ; } ; SetTimer, WatchAxis, On ; } ; Return WatchAxis: JoyS := GetKeyState("JoyU") ; Get position of slider (U) axis. JoyO := GetKeyState("3JoyX") ; Get initial vJoy position JoyIncr := Abs(JoyO - JoyS) ; Main change parameter if (JoyO - JoyS >= 2) { ; 1st jitter treshold JoyO -= JoyIncr / 8 ; Change speed } else if (JoyO - JoyS <= -2) { ; 1st jitter treshold JoyO += JoyIncr / 8 ; Change speed } if (JoyIncr >= 2) ; 2nd jitter treshold if (JoyS >= 99) ; Max reached -- hard max setting vJoyInterface.Devices[1].SetAxisByIndex(32768, 1) else if (JoyS <= 1) ; Min reached -- hard min setting vJoyInterface.Devices[1].SetAxisByIndex(0, 1) else vJoyInterface.Devices[1].SetAxisByIndex(JoyO / 100 * 32768, 1) ; Normal assign ; Debug block ; ToolTip, Set = %JoyS%`nvJ x = %JoyO% `nincr = %JoyIncr%, 0,0 ; Debug block ; if (GetKeyState("Capslock","T")) { ; Debug block ; SetTimer, WatchAxis, Off ; Debug block ; ToolTip, ; Debug block ; Return ; Debug block ; } ; Debug block Return Собрано на колене и по наитию, ибо математику я знаю плохо. Но здесь и удаление резких перепадов в показаниях, и небольшое адаптивное сглаживание оси, и жесткие "щелчки" в начале и в конце, если мы дергаем ось на минимум или на максимум. Работает вменяемо что в Ф4, что здесь. На всякий случай, в инструкции #include надо указывать путь к интерфейсу джойстика (если он в той же папке, что и скрипт -- путь можно не указывать). Номера джойстика (JoyU) и виртуального джойстика (3JoyX) в системе могут отличаться. Тогда надо будет использовать соответствующий номер джойстика (например, 2JoyU, 4JoyX, для первого номер можно не указывать). Чтобы забиндить ось в симуляторе, надо раскомментировать блок с "Axis assign script" (удалить кавычки). После этого перезагрузить скрипт (в системном лотке на панели задач правой кнопкой по значку АНК -- белая Н в зеленом квадрате -- и выбрать в выпавшем меню "Reload this script"). Затем зайти в настройки осей, выбрать нужное и, когда появится предложение подвигать осью, нажать F8 на клавиатуре (над цифрами). Ось сделает полный проход до максимума и до минимума за 2 секунды, что должно привести к тому, что игра ее увидит. После этого -- закомментировать блок привязки оси в скрипте обратно и перезагрузить скрипт (нам же может пригодиться F8?). Чтобы поменять скорость адаптивного сглаживания, надо в основном блоке поменять делитель, помеченный как "Change speed" в обоих ветках (осталось от предыдущего варианта скрипта, менять не стал). Чем больше делитель -- тем плавнее меняется зум. Внизу -- закомментированный блок отладки. Если его раскомментировать, он будет выводить в подсказку в левом-верхнем углу текущего окна положение слайдера, положение виртуальной оси и базовый инкремент, используемый в сглаживании. Если скрипт переписывать (например, можно поменять алгоритмы удаления дрожания и сглаживания на настоящие, добавить "щелчки" зума не только в начало и в конец, а, например, и для "нормального" зума куда-нибудь в середину), туда можно еще чего-нибудь вывести, чтобы понимать, как оно работает в процессе. Для редактирования я использую Notepad++, он удобен. Как его использовать вместе с АНК (определение языка, редактор по умолчанию), написано у них на форуме: https://www.autohotkey.com/boards/viewtopic.php?t=50 Edited December 3, 2020 by Черный Дракул They are not vulching... they are STRAFING!!! :smartass::thumbup:
FenechkA Posted December 3, 2020 Posted December 3, 2020 есть еще программка Joystick Curves суть та-же, ремапит физический джойстик на vJoy, попутно меняя кривые. но помимо этого там есть фильтр. насколько он хорошо работает, не знаю. сам ей ни разу не пользовался. Скрытый текст
ctajiuh58 Posted December 3, 2020 Posted December 3, 2020 3 часа назад, Черный Дракул сказал: Я сделал через скрипт AutoHotkey + vJoy Понятно, что работает он через скриптер АНК: https://www.autohotkey.com/ Сначала надо скачать виртуальный джойстик: https://sourceforge.net/projects/vjoystick/ и создать в-джойстик с осью Х. Потом скрипт с интерфейсом под него для АНК: https://github.com/evilC/AHK-CvJoyInterface (поскольку сам АНК не умеет писать значения в оси джойстика, даже виртуального). После этого можно смело использовать его через #include в своем скрипте. У меня, например, сейчас работает вот такой скрипт: Скрыть содержимое #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. ; #Warn ; Enable warnings to assist with detecting common errors. #Persistent #include E:\Utilities\AutoHotkey\Extras\Scripts\AHK-CvJoyInterface-master\CvJoyInterface.ahk ; Library for vJ-AHK interaction SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. vJoyInterface := new CvJoyInterface() ; VJoy init if (vJoyInterface.LibraryLoaded) { SetTimer, WatchAxis, 8 ; main loop } else { msgbox % vJoyInterface.LoadLibraryLog ExitApp } ; $F8:: ; Axis assign script. ; if (vJoyInterface.LibraryLoaded) { ; SetTimer, WatchAxis, Off ; JoyRot := 0.0 ; While (JoyRot < 100) { ; vJoyInterface.Devices[1].SetAxisByIndex(JoyRot / 100 * 32768, 1) ; Sleep, 10 ; JoyRot++ ; } ; While (JoyRot > 0) { ; vJoyInterface.Devices[1].SetAxisByIndex(JoyRot / 100 * 32768, 1) ; Sleep, 10 ; JoyRot-- ; } ; SetTimer, WatchAxis, On ; } ; Return WatchAxis: JoyS := GetKeyState("JoyU") ; Get position of slider (U) axis. JoyO := GetKeyState("3JoyX") ; Get initial vJoy position JoyIncr := Abs(JoyO - JoyS) ; Main change parameter if (JoyO - JoyS >= 2) { ; 1st jitter treshold JoyO -= JoyIncr / 8 ; Change speed } else if (JoyO - JoyS <= -2) { ; 1st jitter treshold JoyO += JoyIncr / 8 ; Change speed } if (JoyIncr >= 2) ; 2nd jitter treshold if (JoyS >= 99) ; Max reached -- hard max setting vJoyInterface.Devices[1].SetAxisByIndex(32768, 1) else if (JoyS <= 1) ; Min reached -- hard min setting vJoyInterface.Devices[1].SetAxisByIndex(0, 1) else vJoyInterface.Devices[1].SetAxisByIndex(JoyO / 100 * 32768, 1) ; Normal assign ; Debug block ; ToolTip, Set = %JoyS%`nvJ x = %JoyO% `nincr = %JoyIncr%, 0,0 ; Debug block ; if (GetKeyState("Capslock","T")) { ; Debug block ; SetTimer, WatchAxis, Off ; Debug block ; ToolTip, ; Debug block ; Return ; Debug block ; } ; Debug block Return Собрано на колене и по наитию, ибо математику я знаю плохо. Но здесь и удаление резких перепадов в показаниях, и небольшое адаптивное сглаживание оси, и жесткие "щелчки" в начале и в конце, если мы дергаем ось на минимум или на максимум. Работает вменяемо что в Ф4, что здесь. На всякий случай, в инструкции #include надо указывать путь к интерфейсу джойстика (если он в той же папке, что и скрипт -- путь можно не указывать). Номера джойстика (JoyU) и виртуального джойстика (3JoyX) в системе могут отличаться. Тогда надо будет использовать соответствующий номер джойстика (например, 2JoyU, 4JoyX, для первого номер можно не указывать). Чтобы забиндить ось в симуляторе, надо раскомментировать блок с "Axis assign script" (удалить кавычки). После этого перезагрузить скрипт (в системном лотке на панели задач правой кнопкой по значку АНК -- белая Н в зеленом квадрате -- и выбрать в выпавшем меню "Reload this script"). Затем зайти в настройки осей, выбрать нужное и, когда появится предложение подвигать осью, нажать F8 на клавиатуре (над цифрами). Ось сделает полный проход до максимума и до минимума за 2 секунды, что должно привести к тому, что игра ее увидит. После этого -- закомментировать блок привязки оси в скрипте обратно и перезагрузить скрипт (нам же может пригодиться F8?). Чтобы поменять скорость адаптивного сглаживания, надо в основном блоке поменять делитель, помеченный как "Change speed" в обоих ветках (осталось от предыдущего варианта скрипта, менять не стал). Чем больше делитель -- тем плавнее меняется зум. Внизу -- закомментированный блок отладки. Если его раскомментировать, он будет выводить в подсказку в левом-верхнем углу текущего окна положение слайдера, положение виртуальной оси и базовый инкремент, используемый в сглаживании. Если скрипт переписывать (например, можно поменять алгоритмы удаления дрожания и сглаживания на настоящие, добавить "щелчки" зума не только в начало и в конец, а, например, и для "нормального" зума куда-нибудь в середину), туда можно еще чего-нибудь вывести, чтобы понимать, как оно работает в процессе. Для редактирования я использую Notepad++, он удобен. Как его использовать вместе с АНК (определение языка, редактор по умолчанию), написано у них на форуме: https://www.autohotkey.com/boards/viewtopic.php?t=50 Уфф какая жесткая жесть... я правильно понял, что эта конструкция будет отрабатывать только слайдер? Весь остальной инпут с джойстика будет идти напрямую? Серверы КВАС. Железо: I9-9900k, 32GB DDR4, SSD, RTX 2080super
Черный Дракул Posted December 3, 2020 Posted December 3, 2020 51 minutes ago, ctajiuh58 said: Уфф какая жесткая жесть... Ничего жесткого. АНК и вДжой ставятся один раз (вДжой, правда, еще настраивается -- но тоже только один раз). Скрипты можно использовать готовые. Перед запуском игры потребуется запустить скрипт (второй), т.е. сделать один двойной клик. Лишний, да -- но пока в настройках осей не появилось нужного функционала, делать нечего. 51 minutes ago, ctajiuh58 said: я правильно понял, что эта конструкция будет отрабатывать только слайдер? Этот скрипт -- да, только одну ось, для Х52 -- слайдер. Впрочем, если нужно еще что-то -- это можно просто дописать. 51 minutes ago, ctajiuh58 said: Весь остальной инпут с джойстика будет идти напрямую? Я скажу больше, весь инпут будет с джойстика идти напрямую. АНК перехватывает и клаву, и мышь -- а вот джойстик умеет только читать. They are not vulching... they are STRAFING!!! :smartass::thumbup:
ctajiuh58 Posted December 3, 2020 Posted December 3, 2020 2 часа назад, Черный Дракул сказал: Ничего жесткого. АНК и вДжой ставятся один раз (вДжой, правда, еще настраивается -- но тоже только один раз). Скрипты можно использовать готовые. Перед запуском игры потребуется запустить скрипт (второй), т.е. сделать один двойной клик. Лишний, да -- но пока в настройках осей не появилось нужного функционала, делать нечего. Этот скрипт -- да, только одну ось, для Х52 -- слайдер. Впрочем, если нужно еще что-то -- это можно просто дописать. Я скажу больше, весь инпут будет с джойстика идти напрямую. АНК перехватывает и клаву, и мышь -- а вот джойстик умеет только читать. Попробуем. Ровный слайдер может сберечь кучу нервов. Отпишусь после выходных если сделаю. Серверы КВАС. Железо: I9-9900k, 32GB DDR4, SSD, RTX 2080super
JohnnyST Posted December 29, 2020 Posted December 29, 2020 (edited) Опробовал АНК (у меня как раз X52 Pro) - слайдер сглаживает отлично! Кстати, в примере скрипта половина текста лишняя (закомментировано). Из нюансов - есть небольшая "ступенька" в крайних положениях слайдера (некритично, до упора не двигаю). Считаю, что АНКой можно сгладить слайдер и крутилки. Ну максимум - РУД. Ресурсы, кстати, не жрёт. Upd: "ступеньку" в крайних положениях убрал, слайдер для зума отлично подходит! Ещё добавил сглаживание РУДа. Всем советую. Замечал, что даже на вартоге у людей слайдер шумит. Edited January 27, 2021 by JohnnyST
Ezhik Posted January 25 Posted January 25 В 30.12.2020 в 00:02, JohnnyST сказал: Опробовал АНК (у меня как раз X52 Pro) - слайдер сглаживает отлично! Кстати, в примере скрипта половина текста лишняя (закомментировано). Из нюансов - есть небольшая "ступенька" в крайних положениях слайдера (некритично, до упора не двигаю). Считаю, что АНКой можно сгладить слайдер и крутилки. Ну максимум - РУД. Ресурсы, кстати, не жрёт. Upd: "ступеньку" в крайних положениях убрал, слайдер для зума отлично подходит! Ещё добавил сглаживание РУДа. Всем советую. Замечал, что даже на вартоге у людей слайдер шумит. Ничего не выходит... Уже несколько дней пытаюсь в этом коде разобраться. Можно попросить кого инструкцию подробную что надо сделать???
Ezhik Posted February 2 Posted February 2 В 26.01.2025 в 01:10, Ezhik сказал: Ничего не выходит... Уже несколько дней пытаюсь в этом коде разобраться. Можно попросить кого инструкцию подробную что надо сделать??? Проблема решена, нашел ошибки в коде, но все это было зря, как оказалось... Так как при использовании vJoy в игре перестают работать триммеры. Неужели нет способа устранения дребезга осей?
FenechkA Posted February 3 Posted February 3 5 часов назад, Ezhik сказал: Неужели нет способа устранения дребезга осей? ну можно кардинально к вопросу подойти - сменить джойстик. ну или если хватает экспириенса, поменять в текущем электронику на тот-же mmJoy.
Recommended Posts