Анимация штурвала в ВК, неравномерность движений

Пришлось создать отдельную тему здесь, т. к. в подфорум «Динамика», видимо, почти никто не заглядывает. :ranting2:

Я не понимаю, почему никто не обращает внимание на то, что штурвал в ВК у абсолютно любой модели ведет себя довольно странно? Когда отклоняешь, например, вправо/влево, на малых углах он отклоняется медленно, а как только достиг определенного угла, скорость отклонения мгновенно увеличивается. Что это за «фича» такая? В чем ее смысл? Она меня уже настолько достала, что слов нет!… И ведь заметно, что это как-то с динамикой связано, с управляемостью. Мне советовали изменить некоторые секции air-файла, но это не помогло. Кто знает, где зашита эта ерунда? Ответы типа «это проблема конкретной модели» не принимаются, т. к. это наблюдается у всех без исключения моделей. Проблема какая-то общая, видимо фишка разработчиков, но я не пойму, зачем нужно было ТАК делать?

Раньше я задавал вопрос про это вот здесь:

http://www.avsim.su/…p…st&p=997978

Но там ничего нового, суть одна и та же. Просто жду ответа от знающих.

Ответов: 19

LehaUNH (13.03.2009 22:11):

Да сколько ж можно твердить одно и то же?! Не в джойстике дело! Все проблемы с джойстиком я давно уже решил. Вы хоть прочитали то, что я написал? Или просто сделали вывод, что это банальный вопрос про настройки джойстика, и сразу же ответили?

Все-таки как раз дело может быть в джойстике, точнее конкретной реализации его в любом симуляторе. А именно из-за малых углов отклонения, когда отклонения на небольшие углы (чуть-чуть), по амплитуде соизмеримы с шумами джойстика (дребезг резисторов, шум АЦП, помехи на него и т.д.), которые напрочь отсутствуют в реальных железных штурвалах. Т.е. алгоритм сделан таким образом, что чем меньше угол отклонения от централи, тем чувствительность (зависимость изменения переменной по данной оси от угла отклонения меньше). Очень хорошо эту зависимость наблюдать в настройках джойстиков Ил-2 Штурмовик, там даже график показан. В симуляторе это сделано не явным образом и не настраиваеться, в сервисном приборе коэффициент нелинейности настраивается вручную, можно его отключить и сделать линейной зависимость. Но это хорошо в том случае если джойстик (штурвал) не шумит и углы отклонения достаточно большие.

Но возможен еще вот какой вариант. Может быть, отклонение штурвала в VC напрямую с положением оси крена не связаны, просто по какой-то причине сделана нелинейная анимация штурвала, а на положение рулей это не влияет.

Вообще не зря в ПТ Ту-154 настоятельно рекомендуют отключать джойстики в симуляторе и настраивать их через сервисный прибор. Я аналогичным образом, напрямую через DirectInput считываю положение осей джойстика и передаю их в соответствующие переменные симулятора, вполне возможно это и субъективная оценка, но управляемость легче и точнее.

эта фича называется «чувствительность джойстика»

Да сколько ж можно твердить одно и то же?! Не в джойстике дело! Все проблемы с джойстиком я давно уже решил. Вы хоть прочитали то, что я написал? Или просто сделали вывод, что это банальный вопрос про настройки джойстика, и сразу же ответили?

LehaUNH,
нежнее, товарищ, нежнее. Я год назад тоже возмущался по поводу такой фичи «у всех без исключения моделей». Потом настроил мертвые зоны, чувствительность и т.д. — и теперь «у всех без исключения моделей» штурвалы-сайдстики двигаются адекватно. В мануале все для того же ПТ Ту-154 коротко и доступно написано про коэффициент нелинейности, как и про другие коэффициенты.
Для начала рекомендую не возиться с air-файлами, а поинтересоваться настройками у владельцев аналогичного джойстика.

Вот суть моего вопроса гдето тут рядышком. Скажите что даст эта нелинейность или наоборот линейная зависимость. Имеет ли это отношение именно к управляемости? как выше сказали в чём выражена легкость управления,после правильной настройки? у меня штурвал,шумов нет не по тангажу не по крену…

tolikboev (14.03.2009 01:26):

Вот суть моего вопроса гдето тут рядышком. Скажите что даст эта нелинейность или наоборот линейная зависимость. Имеет ли это отношение именно к управляемости? как выше сказали в чём выражена легкость управления,после правильной настройки? у меня штурвал,шумов нет не по тангажу не по крену…

Черт его знает, это скорее субъективное ощущение. Когда у меня джойстик (MS SideWinder Force Feedback 2) был настроен через симулятор, Чувствительность полная (движок полностью вправо), нулевая зона отключена, С-130 (единственный тяжелый самолет, на котором я летаю в FSX), мне было довольно трудно притереть к полосе руками, как раз не хватало мелких но быстрых движений ручкой управления. То есть, нужно небольшой крен поправить, но в этом диапазоне чувствительность очень мала, приходиться ручку отклонять на больший угол, в результате возвращать ее не успевал, создавал раскачку. На вертолетах это еще больше проявляется. Когда стал считывать положение осей джойстика через свой прибор из DirectInput http://www.avsim.su/…t53037.html?hl= и напрямую передавать их в переменные симулятора, то чувствительность стала линейной, для небольших отклонений тех-же элеронов требовались так-же мизерные отклонения ручки.

В Ту-154 система управления совсем сложная, там все моделируется на основании реальной динамики и реальных кривых откликов органов управления на движение штурвала, но коэффициент нелинейности вероятно больше нужен для подгонки имеющихся джойстиков и штурвалов, с их небольшими углами отклонения к моделируемой системе управления. Возможно те маньяки :joystick: кто собрал себе штурвальную колонку с углами отклонения и усилиями, моделирующую реальную, в нелинейности не нуждаются.

Valery-B (14.03.2009 00:39):

Но возможен еще вот какой вариант. Может быть, отклонение штурвала в VC напрямую с положением оси крена не связаны, просто по какой-то причине сделана нелинейная анимация штурвала, а на положение рулей это не влияет.

Дело даже не в нелинейности, а в СТУПЕНЧАТОСТИ анимации и ее связи с управляемостью. Шумы преодолевать мне не нужно. С этим у меня все в порядке. Мой вопрос сводится к одному: где это зашито и как убрать «ступеньку».

tolikboev (14.03.2009 14:53):

Валерий спасибо. Если можно ссылку более точную по директ инпут..а то ту ненаходит.
Меня тоже не устраивает отклик на штурвал самолёта.Приходится выполнять не реальные для этого типа самолета движения штурвалом на опрелённых этапах полета.

Странно, только что щелкнул по ссылке, и скачал GAU-прибор. Еще нужен XML-прибор, в котором как раз описывается назначение и логика работы каждой оси и кнопки. Я сознательно не стал создавать аналогию сервисного прибора ПТ Ту-154. Плюс у него — простота настройки неопытным пользователем, а самый большой минус — можно настроить оси и кнопки только на те функции, которые в него заложены. В моем приборе нет никакого сервиса, но в XML-приборе можно назначить осям и кнопкам любые функции (переменные), доступные как в SDK, так и L-переменные, имеющиеся во многих, в том числе платных приборах и визуальных моделях. Но для этого конечно нужно разбираться хоть немного, в XML приборах.

Вот пример XML-прибора для Carenado Cessna Skylane 182. У сейчас сайтековский штурвал с педалями и еще самодельный джойстик на основе Mjoy16. Поэтому все остальные настройки я отсюда выкинул, они у Вас работать не будут. В этом примере задействованы только оси и включение карты (для примера) на красную кнопку штурвала. Если у Вас тот-же набор от сайтека, можете применить не изменяя.

<Gauge Name="MyKeys" Version="1.0">
  <Size X="3" Y="3"/>

   <Element>
	<Select>
	 <Value>
			65535 (L:J1AxisX, number) - 2 / 16383 - (&gt;K:AXIS_AILERONS_SET)
	 </Value>
	</Select>
   </Element>

   <Element>
	<Select>
	 <Value>
			65535 (L:J1AxisY, number) - 2 / 16383 - (&gt;K:AXIS_ELEVATOR_SET)
	 </Value>
	</Select>
   </Element>

   <Element>
	<Select>
	 <Value>
			(L:J0AxisX, number) 2 / 16383 - (&gt;K:AXIS_LEFT_BRAKE_SET)
	 </Value>
	</Select>
   </Element>

   <Element>
	<Select>
	 <Value>
			(L:J0AxisY, number) 2 / 16383 - (&gt;K:AXIS_RIGHT_BRAKE_SET)
	 </Value>
	</Select>
   </Element>

   <Element>
	<Select>
	 <Value>
			65535 (L:J0AxisRz, number) - 2 / 16383 - (&gt;K:AXIS_RUDDER_SET)
	 </Value>
	</Select>
   </Element>

   <Element>
	<Select>
	 <Value>
			(L:J1AxisRy, number) 2 / 16383 - /-/ (&gt;K:AXIS_MIXTURE_SET)
	 </Value>
	</Select>
   </Element>

  <Element>
	 <Select>
		<Value>
			65535 (L:J1AxisZ,Number) - 2 / 16383 - (&gt;K:AXIS_THROTTLE_SET)
		</Value>
	 </Select>
  </Element>

  <Element>
	 <Select>
		<Value>
			(L:J1AxisRx,Number) 2 / 16383 - /-/ (&gt;K:AXIS_PROPELLER_SET)
		</Value>
	 </Select>
  </Element>

<!-- Hat View -->
   <Element>
	<Select>
	 <Value>
			(L:J1Hat_0, number) -1 == if{ 1 (&gt;K:VIEW_RESET) }
			(L:J1Hat_0, number) 0 == if{ 1 (&gt;K:VIEW_FORWARD_UP) }
			(L:J1Hat_0, number) 4500 == if{ 1 (&gt;K:VIEW_FORWARD_RIGHT) }
			(L:J1Hat_0, number) 9000 == if{ 1 (&gt;K:VIEW_RIGHT) }
			(L:J1Hat_0, number) 13500 == if{ 1 (&gt;K:VIEW_REAR_RIGHT) }
			(L:J1Hat_0, number) 18000 == if{ 1 (&gt;K:VIEW_REAR) }
			(L:J1Hat_0, number) 22500 == if{ 1 (&gt;K:VIEW_REAR_LEFT) }
			(L:J1Hat_0, number) 27000 == if{ 1 (&gt;K:VIEW_LEFT) }
			(L:J1Hat_0, number) 31500 == if{ 1 (&gt;K:VIEW_FORWARD_LEFT) }
	 </Value>
	</Select>
   </Element>

<!--MAP -->
	<Element>
	 <Select>
		<Value>
		 (L:J1Button_001, Bool) if{ 1 (&gt;K:FLIGHT_MAP) }
		</Value>
	 </Select>
  </Element>

</Gauge>

Оба прибора, и GAU и XML, нужно прописать в Panel.cfg на главной панели, или в первой секции VC, в зависимости от того, в чем летаете. GAU-прибор должен лежать в папке Gauges симулятора, а XML — в папке Panel конкретного самолета, для каждого можно настраивать индивидуально.

gaugeXX=V_B.DXService!JoyToXMLVars, 0,0,10,10 Где XX — номер прибора в панели
gaugeXX= MyKeys, 0,0,10,20

Прикрепленные файлы

Сообщение отредактировано Valery-B: 14 Март 2009 — 15:42

Валерий спасибо. Если можно ссылку более точную по директ инпут..а то ту ненаходит.
Меня тоже не устраивает отклик на штурвал самолёта.Приходится выполнять не реальные для этого типа самолета движения штурвалом на опрелённых этапах полета.

Сообщение отредактировано tolikboev: 14 Март 2009 — 14:59

Цитата

Дело даже не в нелинейности, а в СТУПЕНЧАТОСТИ анимации и ее связи с управляемостью. Шумы преодолевать мне не нужно. С этим у меня все в порядке. Мой вопрос сводится к одному: где это зашито и как убрать «ступеньку».

Ну что-то я Вас не понимаю. Ну далась Вам эта анимация штурвала в VC. С Управляемостью она никак не связана. Анимация любого элемента визуальной модели создаеться на этапе ее создания еще в 3D редакторе, путем задания так называемых ключей анимации, т.е. зависимостью отклонения того-же штурвала от положения ее переменной в симуляторе. Зависимость может быть задана разными способами, линейной, логарифмической, по экспоненте, какой угодно. Можно сделать что-бы штурвал несколько оборотов сделал вокруг оси, что-бы перемещался по эвольвенте, спирали и так далее. Но на управлении это не сказывается ни каким образом, это только визуальное отображение поворота/перемещения штурвала. Изменить это также невозможно, без наличия исходников 3D модели.

По ощущениям мне кажется, что все-таки влияет. Это во-первых. Во-вторых, я не зря говорю, что это какая-то общая для всех моделей фича, потому что виден одинаковый для всех моделей стиль поведения штурвала. Возьмите хоть дефолтную Сессну, хоть любой платник. Такое ощущение, что есть какая-то основа в симе для любой модели, под которую подстраивается любая модель независимо от того, что содержится в air-файле и других файлах модели. Ну и если, как вы говорите, на динамику это не влияет, все равно чисто визуально мне это не нравится.

Цитата

Если можно ссылку более точную по директ инпут..а то ту ненаходит

http://msdn.microsoft.com/directx/

Hic (14.03.2009 21:56):

А джойстик-то отключили? Если оси через FSUIPC, то джойстик в симе надо отключать. Опять же, попробуйте её выгнуть в другую сторону (слайдер вверх)

Хм…, с чего это вдруг джой надо отключать при пользовании ФСУПИК’ом? Это с сервисным прибором так делать надо. Кривую вытягивал вверх, ситуация абсолютно прозрачна — ничего не меняется, чего я и ожидал, потому что уйму времени потратил на все эти примочки, в т. ч. и FSUIPC, и знаю, на что они влияют. Здесь проблема в другом. Вы почему не обращаете внимания на то, что я писал? Я говорю не про нелинейность, которая подразумевает плавность, а про ступенчатость! У любого крафта есть определенный угол отклонения штурвала, с которго он дальше идет резко. Мне не понятно, для чего это сделано и где это можно исправить? Никакие ФСУПИКи тут не помогут. Даже в ПТ Ту-154Б-2 все абсолютно также, я специально за этим наблюдал, а вы говорите…

Ну что, никто не знает ответа на мой вопрос?

Фича эта называется «кривая отклика». Нужна, например, для повышения управляемости при прямом полёте, сглаживания своеобразного. Т.е., грубо говоря, в на диапазон ближе к центральному положению джоя «замэплено» больше точек отсчёта, чем у крайних, соответсвенно при небольших отклонениях точность выше. Побочный эффект — понижение точности в крайних положениях и «резкозть» перехода. Хз, как эта кривая зависит от настроек в самом симе, у меня все оси через FSUIPC настроены, там есть кнопочка Slope для каждой оси и кривая представляется наглядно. Соответсвенно можно её выпрямить, или даже разогнуть в другую сторону. Но тогда ожидайте высокой чувствительности даже при малеших сдвигах ручки. Если джой ещё и шумит сильно — самолёт у вас прямо летать просто перестанет 🙂

Ну вот, попробовал я сейчас FSUIPC еще раз, кривая Slope линейная, и никаких изменений. :ranting2: Я же говорю, зашито это где-то в симе!

А джойстик-то отключили? Если оси через FSUIPC, то джойстик в симе надо отключать. Опять же, попробуйте её выгнуть в другую сторону (слайдер вверх)

Сообщение отредактировано Hic: 14 Март 2009 — 20:57

Ну что, так никто и не скажет, как решить проблему?

LehaUNH (14.03.2009 19:18):

Хм…, с чего это вдруг джой надо отключать при пользовании ФСУПИК’ом? Это с сервисным прибором так делать надо. Кривую вытягивал вверх, ситуация абсолютно прозрачна — ничего не меняется, чего я и ожидал, потому что уйму времени потратил на все эти примочки, в т. ч. и FSUIPC, и знаю, на что они влияют. Здесь проблема в другом. Вы почему не обращаете внимания на то, что я писал? Я говорю не про нелинейность, которая подразумевает плавность, а про ступенчатость! У любого крафта есть определенный угол отклонения штурвала, с которго он дальше идет резко. Мне не понятно, для чего это сделано и где это можно исправить? Никакие ФСУПИКи тут не помогут. Даже в ПТ Ту-154Б-2 все абсолютно также, я специально за этим наблюдал, а вы говорите…

Я прекрасно понимаю, о чём вы говорите 🙂 Если гоняете оси через FSUIPC, т.е. через назначение осей в нем (как я), то джой отключать НАДО. Иначе на каждую ось будет 2 конфликтующих канала. Если просто в FSUIPC калибруете ФС-ные оси, то в настройках ФС надо поставить максимальную чувствительность и минимальную мертвую зону. Читайте мануал к нему. Я вот только что, теста ради, включил дефолтовые ФСные оси и выгнул кривую на -7. Штурвал поворачивается равномерно, согласно отклонению джоя. Другое дело, что так действительно сделано специально везде. Почему — писал выше. Но если вам так хочется, чтоб было линейно, то как этого достичь тоже выше отписал.