namelessone

Пользователь
  • Публикации

    5
  • Зарегистрирован

  • Посещение

Все публикации пользователя namelessone

  1. Приветствую, любители авиации. Самолётов в игре мало, делать их одному долго, да и лень уже. Поэтому делюсь с вами наработками, может кто нибудь займётся этим делом. Я использую экспорт в obj с опцией flip YZ, поэтому оси могут отличаться если вы импортируете как то иначе. Когда и на какой угол вращать управляющие поверхности, игра решает сама. Мы можем лишь указать, что считать этими поверхностями. Закрылки, элероны и элеватор игра будет вращать только вокруг оси У этих поверхностей, поэтому придётся повозится с установкой пивота, а затем с установкой этих поверхностей на место в самолёте. Пример с правым закрылком: а) Готовим поверхность к экспорту. Пивот XYZ = 0, PRY = 0. Внимание на расположение осей. Важно расположить поверхность параллельно оси вращения, а не так как она будет стоять на самолёте. б) ставим поверхность на место, в) проверяем как она будет вращаться в игре, изменяя значение в окне У если на этапе а) не ошиблись, то будет так: пример последствий неправильной установки на этапе а) г) т.к. я импортировал с переворачиванием осей, то и записывал в файл mdl с учётом этого. д) записываем номер ID закрылки в настройки модели. Важно что номера управляющих поверхностей считаются от общего числа всех дочерних объектов модели, а не локально, как для запуска событий анимации. Левый закрылок можно записать через flipY, вращаться будет как надо. Руль направления будет вращаться вокруг оси Z Устанавливать реалистичные цифра в настройках metadata не стоит, самолёты в отличие от поездов не движутся строго по линиям: weight = 9000.0, -- кг. вместе с wingArea влияет на скорость на участках взлёта\посадки и на радиус поворота в воздухе. b747 с реалистичной массой улетел далеко за пределы карты, пришлось уменшать на 50%. maxPayload = 0, -- Один из множества обрубков не реализованных разработчиками. maxTakeOffWeight = 15000.0, -- влияния загрузки на характеристки полёта не замечал, поэтому настривать лучше базовый вес. maxThrust = 110000.0, -- kN. влияет на разгон при взлёте. idleThrust = 3000.0, -- kN. вместе с weight влияет на скорость при рулении по земле timeToFullThrust = 1.5, wingArea = 35.0, -- м^2, смотри weight topSpeed = 135.0, -- м*с. Анимация уборки\выпуска шасси запускается событиями open_wheels close_wheels, id элементов которые включат анимацию считаются локально в файле. Интерцепторов в игре нет, события под включения реверса тоже. Вообще в самолётах много чего не доделано, впрочем как и во всей игре.
  2. @XJIE6 При взлёте пороисходит событие close wheels, запускается анимация всех объектов чьи номера прописаны в этом массиве. Вот пример из B747-8f, 23 большая секция люка передней стойки, 24 маленькая. name = "open" это название анимации записанной в файле lod_0_nose_wheel_door_r.msh в этой анимации люк открывается за 1000мс, затем 1000мс находится в открытом положении, затем за 1000мс закрывается. текущее вращение = исходной вращение + значение ключа.
  3. @XJIE6 немного непонятен вопрос. колёса вращаются сами при езде, если прописаны в mdl axles = { -- просто ось "vehicle/plane/B_748f/lod_0_nose_wheel_rear.msh", }, wheels = { -- рулевое колесо "vehicle/plane/B_748f/lod_0_nose_wheel.msh", }, а вообще можно что угодно анимировать.
  4. нос не аэродинамичный, используй нормальный чертёж, http://superjet.wikidot.com/design
  5. Визуальная часть на функционал не влияет, может даже три колеса летать и возить пассажиров. Делать интерьеры вообще не советую, ресурсы производительности они потребляют много, но их почти никогда не видно.