morgenmuffel 0 Report Share Posted April 23 Тема изначально задумывалась как площадка для обмена премудростями по мышеводству.Но до многих,кто раньше был ярым поклоником данного вида управления ЛА, на сегодняшний день не достучатся.Посему здесь попросту выложу, по просьбе нескольких вирпил, небольшой мануал,как управлять самолетом с помощью мышки.Причины пересесть на мышь порой бывают.Будь то запой и распродажа всех навороченых девайсов или же " решил завязать с полетами" и снова распродажа вновь обретенных навароченных девайсов)).Причины могут быть другого рода:Если ты вахтовик или работаешь в охране,пожарным,бездельником в офисе.Если ты просто нищеброд.Если хочется новых ощушений и пр. На форуме БЗС не стал открывать тему,потому как сама игра БЗС меня не вштырила Итак от лирики к главному: Способов управлять мышкой несколько. Или ммджой,или с помощью vJoy+FreePIE или PPJoy+GlovePIE.Пробовал все варианты.Для себя выбрал последний. Для полетов нужна пара мышек.На выходе имеем на одной руке подобие обзора 6dof и газ.На другой Рус. 0.Вначале подключаем две мыши 1. Переводим Windows в тестовый режим.или отключаем проверку цифровой подписи драйверов в поздних версиях Windows Тестовый режим нужен,чтобы установить драйверы ppjoy хотя бы здесь это наглядно показано:https://www.youtube.com/watch?v=bpuTUWga5RA 2.Скачиваем и устанавливаем сам ppjoy: https://cloud.mail.ru/public/sme7/bEy8hJSEw 3.В ppjoy добавляем два виртуальных джойстика.Во вкладке "игровые устройства" видим следующие строчки : PPJoy Virtual Joystick 1 PPJoy Virtual Joystick 2 4.Скачиваем и устанавливаем GlovePIE(в архиве основные скрипты): https://cloud.mail.ru/public/8Xoq/wJN1tvxpd 5.Подключаем вторую мышь(если хотим именно на двух) далее работаем с GlovePIE и скриптами.Кидаем,запускаем и смотрим результат. За основу взят скрипт Белкина 6dof только с разными подменами ID номера мышек Скрипт в общем то один.В нем лишь мной заменен ID номер мыши.(включаем их по очереди,смотря под каким номером ID в системе,какой то обязательно должен сработать) (1-3)или(2-3)или(3-2)ну и так далее. Важно - одна из мышей очень желательно чтобы была с переключаемым разрешением DPI и несколькими дополнительными кнопками которые можно переназначить на любую клавишу клавиатуры - чтобы кнопки форсажа , закрылков , дополнительного оружия и т.д были на мышке . Лично у меня Logitech Mouse G300 как обзор(на обзор подойдет любая простая мышь) а джойстиком выступает Legend Chroma X. Переключение DPI необходимо для разного стиля пилотажа и более точного прицеливания , опять-же к примеру на ишачке и хурре это позволяет добиться наиболее благоприятного отклика рулей . Далее - правим конфиг Ила (!!! ) ОБЯЗАТЕЛЬНО СДЕЛАТЬ И СОХРАНИТЬ КОПИЮ conf.ini и папки User !!! в корневом каталоге игры в файлике conf.ini редактируем разделы : [HookView Config] AzimutSpeed=0.1 TangageSpeed=0.1 LenSpeed=1.0 MinLen=1.0 DefaultLen=20.0 MaxLen=3000.0 Speed=6 в конф ини в разделе[rts_mouse]прописываем SensitivityZ=22.0(подбирается опытным путем;(на сколько делений будет разбита ось газа. Например: если поставить SensitivityZ=1.0 - тогда от нуля до ста Вы будете крутить скролом бесконечно долго: [rts_mouse] SensitivityX=0 SensitivityY=0 SensitivityZ=22.0 Invert=0 Далее в папке Users правим оси в текущем профиле ( ВНИМАНИЕ ! это мой профиль и просто показывает что на что назначено , можно попробовать и доточить ручками под себя , оси газа и шага винта совмещены и повешены на колесо мышки обзора ) [HotKey move] AXE_U JoystickDevice0=power AXE_Z JoystickDevice0=pitch AXE_RZ JoystickDevice0=rudder AXE_X JoystickDevice0=aileron AXE_Y JoystickDevice0=elevator если нужно чтобы на одной мышке были совмещены РВ,Элероны,РН с триммерами этих осей, тогда settings.ini( из папки Users ) будет выглядеть так: [HotKey move] AXE_Z JoystickDevice0=pitch AXE_RZ JoystickDevice0=rudder AXE_U JoystickDevice0=power AXE_X JoystickDevice0=aileron JoystickDevice0 AXE_RZ=trimrudder JoystickDevice0 AXE_Y=trimelevator JoystickDevice0 AXE_X=trimaileron AXE_Y JoystickDevice0=elevator где RZ руль направления Y руль высоты X руль элероны Чтобы прописать в самой игре две оси на одну , например руль высоты и триммер руля высоты , нужно одну из осей прописать в изменённом виде , иначе игра сбросит двойное назначение оси . Например AXE_Y JoystickDevice0=elevator JoystickDevice0 AXE_Y=trimelevator фактически на ось Y назначено две оси , но с таким прописыванием конфликта не происходит . Так как у меня элероны и руль направления на одной оси , то для нормального доворота и прицеливания делаем следующее : В самой игре настраиваем кривые отклика - руль высоты все движки по 100 , руль направления - всё по 100 , элероны - выставляем движки отклика 10-10 , 20-20 ...100-100 , так сделано для того чтобы при горизонтальном движении мышкой сначала была реакция на руль направления а уже при дальнейшем движении срабатывали элероны , это позволяет немного доворачивать РН практически без изменения крена , для прицеливания или коррекции траектории . При запуске скрипта заходим в панель управления в закладку игровые устройства , наблюдаем два виртуальных джойстика , при нажатии свойства видим как при движении соответствующей мыши движутся оси джойстиков , теперь должно работать и в Иле , запускаем и проверяем . Из за разных ID номеров мыши желаемая мышь может работать наоборот (обзор,управление) или совсем не реагировать.Поэтому уже заранее подготовил один и тот же скрипт с заменой строчки Mouse1 на Mouse2 и Mouse3 в разных вариантах.Теперь можно не прописывая вручную,просто запускать другой скрипт,пока в тестере не заработает нужное сочетание.Я их пометил так:6dof(3-4).6dof(3-2).6dof(3-1).6dof(2-3).6dof(1-2) и т.д. Возможно понадобится второй скрипт.Для отключения курсора,управляющей Рус мышкой(чтобы не маячил перед глазами когда водишь рулями) его тоже досЫпал в архив. Буду рад любому толковому совету по данному материалу. Quote Link to post Share on other sites
morgenmuffel 0 Author Report Share Posted April 23 (edited) Выкладываю скрипт в текстовом формате.Потому,как ссылки и архивы имеют свойство исчезать: //CODE // Тумблер F9 //Вкл/Выкл джоя if (F9 = false) then var.f=0 if (F9 = true and var.off = 0 and var.f=0) { var.off = 1 var.f=1 elseif (F9 = true and var.off = 1 and var.f=0) { var.off = 0 var.f=1 } } if var.off =0 { // ######## Опрос мышек НАЧАЛО ####### // ############ Mouse1 ####################### if (Mouse2.present) { if (var.Mouse2_in = false) { // ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::Входные параметры: var.mouse2xrange = 800 // граница движения мыши по оси X, точки на дюйм (DPI) if (mouse2.DirectInputX + var.mouse2x) < -var.mouse2xrange then var.mouse2x = -var.mouse2xrange - mouse2.DirectInputX // условия, ограничивающие движение мыши if (mouse2.DirectInputX + var.mouse2x) > var.mouse2xrange then var.mouse2x = var.mouse2xrange - mouse2.DirectInputX FakeTrackIR.yaw = ensureMapRange(mouse2.DirectInputX + var.mouse2x, -var.mouse2xrange, var.mouse2xrange, -179, 179) FakeTrackIR.x = ensureMapRange(mouse2.DirectInputX + var.mouse2x, -var.mouse2xrange, var.mouse2xrange, -1, 1) FakeTrackIR.roll = ensureMapRange(mouse2.DirectInputX + var.mouse2x, -var.mouse2xrange, var.mouse2xrange, -30, 30) var.mouse2yrange = 800 // то же самое по оси Y if (mouse2.DirectInputY + var.mouse2y) < -var.mouse2yrange then var.mouse2y = -var.mouse2yrange - mouse2.DirectInputY if (mouse2.DirectInputY + var.mouse2y) > var.mouse2yrange then var.mouse2y = var.mouse2yrange - mouse2.DirectInputY var.Mouse2_mapZ = var.Mouse2_Wheel*200 var.Mouse2_Wheel = 11 //На сколько щелчков колеса мыши разбить ось джойстика var.Mouse2_deltaz = Delta(Mouse2.DirectInputZ) var.Mouse2_Z = var.Mouse2_Z + (var.Mouse2_deltaz) if var.Mouse2_Z < 0 then var.Mouse2_Z = 0 if var.Mouse2_Z > var.Mouse2_mapZ then var.Mouse2_Z = var.Mouse2_mapZ Var.Mouse2_JZ = MapRange(var.Mouse2_Z, 0, var.Mouse2_mapZ, -1 ,1) FakeTrackIR.pitch = -ensureMapRange(mouse2.DirectInputY + var.mouse2y, -var.mouse2yrange, var.mouse2yrange, -100, 120) } else { FakeTrackIR.yaw = 0 FakeTrackIR.pitch = 0 FakeTrackIR.roll = 0 } // ########## MOUSE2 ####################### if (Mouse1.present) { if (var.Mouse1_in = false) { // ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::Входные параметры: var.Mouse1_mapX = 1280 //Разрешение оси X, подбирается индивидуально var.Mouse1_mapY = 1024 //Разрешение оси Y подбирается индивидуально var.Mouse1_Wheel = 16 //На сколько щелчков колеса мыши разбить ось джойстика var.Mouse1_mapZ = var.Mouse1_Wheel*120 var.Mouse1_X = var.Mouse1_mapX/2 var.Mouse1_Y = var.Mouse1_mapY/2 var.Mouse1_Z = var.Mouse1_mapZ/2 var.Mouse1_in = true } var.Mouse1_deltax = Delta(Mouse1.DirectInputX) var.Mouse1_deltay = Delta(Mouse1.DirectInputY) var.Mouse1_deltaz = Delta(Mouse1.DirectInputZ) // собственно координаты мыши var.Mouse1_X = var.Mouse1_X + (var.Mouse1_deltax) var.Mouse1_Y = var.Mouse1_Y + (var.Mouse1_deltay) var.Mouse1_Z = var.Mouse1_Z + (var.Mouse1_deltaz) if var.Mouse1_X < 0 then var.Mouse1_X = 0 if var.Mouse1_X > var.Mouse1_mapX then var.Mouse1_X = var.Mouse1_mapX if var.Mouse1_Y < 0 then var.Mouse1_Y = 0 if var.Mouse1_Y > var.Mouse1_mapY then var.Mouse1_Y = var.Mouse1_mapY if var.Mouse1_Z < 0 then var.Mouse1_Z = 0 if var.Mouse1_Z > var.Mouse1_mapZ then var.Mouse1_Z = var.Mouse1_mapZ Var.Mouse1_JX = MapRange(var.Mouse1_X, 0, var.Mouse1_mapX, -1 ,1) Var.Mouse1_JY = MapRange(var.Mouse1_Y, 0, var.Mouse1_mapY, -1 ,1) Var.Mouse1_JZ = MapRange(var.Mouse1_Z, 0, var.Mouse1_mapZ, -1 ,1) } //Опрос мышек КОНЕЦ ########### //################### Подменяем оси джойстика на оси мыши ####### // Первый джойстик - управление самолетом PPJoy1.analog0 = Var.Mouse1_JX // Ось Х PPJoy1.analog1 = Var.Mouse1_JY // Ось У PPJoy1.analog2 = Var.Mouse2_JZ PPJoy1.analog3 = Var.Mouse1_JX PPJoy1.analog4 = Var.Mouse2_JZ PPJoy1.analog5 = Var.Mouse2_JZ PPJoy1.analog6 = Var.Mouse2_JZ } } //################ Подменяем кнопки джойстика кнопками нужной мыши ##### PPJoy1.Digital0 = Mouse2.LeftButton PPJoy1.Digital1 = Mouse2.RightButton PPJoy1.Digital2 = Mouse2.MiddleButton PPJoy1.Digital3 = Mouse1.LeftButton PPJoy1.Digital4 = Mouse1.RightButton // Центрирование осей if Mouse1.MiddleButton = true { //Если нажата кнопка колеса Mouse1 - Эти оси центрируются var.Mouse1_X = var.Mouse1_mapX/2 var.Mouse1_Y = var.Mouse1_mapY/2 } }// Type your script here, or click the GUI tab to autogenerate it! Да,важное дополнение к нему!!!!: изменив строчки на представленный ниже,мы получаем еще одну,которую так долго искал,фишку:при зажатой ПКМ отключались элероны и работали только РВ и РН. а при отжатой ПКМ все возвращалось как было //################### Подменяем оси джойстика на оси мыши ####### // Первый джойстик - управление самолетом PPJoy1.analog1 = Var.Mouse2_JY // Ось У PPJoy1.analog2 = Var.Mouse1_JZ PPJoy1.analog3 = Var.Mouse2_JX // Ось Z PPJoy1.analog4 = Var.Mouse1_JZ PPJoy1.analog5 = Var.Mouse1_JZ PPJoy1.analog6 = Var.Mouse1_JZ } } if Mouse2.Button2 == 1 { PPJoy1.analog0 = - Var.Mouse2_JX * 0.01 // 0.01 это коэф его конкретно подогнать опытным путём }else{ PPJoy1.analog0 = Var.Mouse2_JX // Ось X } } Edited April 23 by morgenmuffel Quote Link to post Share on other sites
BW=777 78 Report Share Posted April 23 И что это дает тебе?) В чем смысл дриканья мыши по столу, вместо аутентичного управления виртуальным ЛА? Quote Link to post Share on other sites
morgenmuffel 0 Author Report Share Posted April 23 @BW=777 Лучше,конешна,что нибудь дельное по теме добавил. Все помнят щенячий визг,когда осваивая симулятор Вы сделали свой первый полноценный вылет(взлет -посадка) без косяков. Хочется же снова испытать те же эмоции.Вот где то лет 12 назад повторил тот же трюк,только на мышке. Ввиду вновь обретенных, умеренно приличных, летных девайсов мышью все реже пользую. Но потэнциал у нее есть.Побольше плотных часов налета и она уделает на вираже любой джойстик!! Нужна только стальная выдержка и усидчивость.Какие плюсы - первое,что наблюдаешь - точность и кучность стрельбы.Помимо выше перечисленнных(читать первый пост)можно добавлять и добавлять.да хоть ставишь самоль в плавный климб и пошёл,отлил)).Вернулся - он уже на 2 км.)) Кроме своих,стоит добавить инструкции и полный набор файлов от вирпил Green и UHU.Их тоже бережно храню. У UHU конечно скрипт богатый,но чтобы его полностью реализовать,нужно иметь под рукой клавиатуру.Плюс он летает с трекиром. Все файлы и настройки UHU https://88-uhu.livejournal.com/tag/uhu страничка и файлы с облака Все файлы и настройки Green https://www.youtube.com/watch?v=AVJm7o3Cky0 и файлы с облака Quote Link to post Share on other sites
BW=777 78 Report Share Posted April 24 "...Побольше плотных часов налета и она уделает на вираже любой джойстик!!..." - как говорится блажен, кто верует). Ты это, потом, как освоишь мышь, переходи к клаве - из плюсов мгновенная перекладка рулей, а затем к голосовому вводу для слабовидящих, ну и так далее. Похвальная настойчивость, ее бы в нужное русло, но похоже скрипт убежденности в сверх силу святой мыши, уже само прописан и исправлению не подлежит. Остается только попытаться расширить ряды маргиналов, путем пропаганды нетрадиционной вирпильской ориентации. Quote Link to post Share on other sites
=SPb=Electric 72 Report Share Posted April 24 Только что, BW=777 сказал: "...Побольше плотных часов налета и она уделает на вираже любой джойстик!!..." - как говорится блажен, кто верует). Ты это, потом, как освоишь мышь, переходи к клаве - из плюсов мгновенная перекладка рулей, а затем к голосовому вводу для слабовидящих, ну и так далее. Похвальная настойчивость, ее бы в нужное русло, но похоже скрипт убежденности в сверх силу святой мыши, уже само прописан и исправлению не подлежит. Остается только попытаться расширить ряды маргиналов, путем пропаганды нетрадиционной вирпильской ориентации. Это он для интересующихся) не тебе! Так то он у меня девайс приобрел. Надеюсь теперь на джое будет летать!) Quote Link to post Share on other sites
BW=777 78 Report Share Posted April 24 Сильно сомневаюсь). Гражданин в активном поиске волшебного нагибатора. Quote Link to post Share on other sites
morgenmuffel 0 Author Report Share Posted April 24 (edited) 6 часов назад, BW=777 сказал: Гражданин в активном поиске волшебного нагибатора. Конечно так)).Про голосовой ввод уже курю темы: https://forum.il2sturmovik.ru/topic/16194-программа-для-управления-самолетом-голосом-изначально-делалась-для-vr/ https://www.elite-games.ru/conference/viewtopic.php?p=3223065#3223065 - "Ева,видишь вон на два часа кон висит?" - "Вижу,Мой Господин" - "Надо догнать и убить" - "Слушаюсь Мой Господин" - "До связи". Сам идешь,мажешь бутерброд. Edited April 24 by morgenmuffel Quote Link to post Share on other sites
Kap 12 Report Share Posted April 24 Сидел, глядел я у фонтана с интэрэсом....(с) Для такого, управления надо создать язык программирования ну очень высокого уровня с использованием ИИ. И тогда, либо кнопками, либо голосом вводить всего лишь три команды: 1 Убить одного 2 Убить двух 3 Убить всех Относительно третьей команды, всё же требуется пояснить, что в случае ограничения боезапаса и топлива, она может и не выполниться, впрочем на какой то десяток килов за вылет можно рассчитывать. Quote Link to post Share on other sites
morgenmuffel 0 Author Report Share Posted April 30 (edited) Kap,Дружище проверь личку.Есть некоторые вопросы по теме GlovePIE за всё хорошее, против всего плохого.Без ценный блок информации,но кое что работает не коректно Edited April 30 by morgenmuffel Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.