заголовок

По многочисленным просьбам трудящихся в этой статье я расскажу, как сделать модель своего (будущего) самолёта для симулятора RealFlight для проверки её лётных характеристик. Подразумевается, что читатель знает основы 3D-моделирования и векторной графики, умеет работать в векторном редакторе (CorelDraw, Illustrator) и в 3DS Max.

В статье я буду делать модель для симулятора своего FPV-самолёта "Кондор". На начало работы у меня есть чертёж в CorelDraw и оценки по весу деталей. Честно говоря, у меня есть сам самолёт, совершивший уже множество полётов :)
1. Подготовка 3D-модели.

1.1. Экспорт шаблона модели из Corel Draw.
Я использую промежуточный файл формата .ai версии 8. 3DSMAX умеет его импортировать, а Corel Draw умеет его экспортировать. При экспорте следует убрать все цветовые заливки, эффекты и прозрачность.
Этап 1

1.2. Настройка системного масштаба в 3DSMAX.
1 системная единица = 1 дюйм. Это необходимо для корректного экспорта модели в RealFlight. Рабочие единицы измерения настраиваются по своему усмотрению.
этап 2


1.3. Импорт шаблона в 3DSMAX и расположение модели
После импорта нужно подогнать масштаб и развернуть заготовки в нужную ориентацию: +Y вперёд, +Z вверх, +X вправо. За центр координат можно брать либо центр масс модели, либо переднюю кромку крыла (я обычно делаю именно так, чтобы было удобнее работать).
этап 3


1.4. Моделирование самолёта.
На этом этапе подробнее я останавливаться не буду, каждый делает как ему удобнее.
этап 4

1.5. Текстурирование модели
На модели должна быть одна текстура в формате TGA. Размер сторон - степени двойки. При экспорте в RealFlight из материала модели читаются параметры блика (Specular Level, Specular Power).
этап 5

1.6. Наименование и иерархия нод.
В самолёте должна быть одна основная нода, названная Fuselage. Все остальные ноды должны иметь названия, начинающиеся на ~CS - это покажет симулятору, что данная нода является физической деталью. Крыло и горизонтальное оперение нужно разделять на правую и левую части. Иерархия нод показана красными линиями. Крыло линкуется к фюзеляжу, элероны к крылу и т.д. Название ~CS_SPINNER служебное, вращение этой детали будет првязано к вращению двигателя. Деталь ~CS_Engine может иметь любое название, симулятор будет рисовать вместо неё пропеллер.
Обратите внимание, что фюзеляж состоит только из передней гондолы, а балки и моторама вынесены в отдельную ноду. Почему так - объясню ниже (это нужно только в данной модели).
этап6

1.8. Ориентация нод
Очень важный этап. Масштаб нод должен быть положительным по всем осям, а ориентация нод - стандартная относительно мира, кроме подвижных деталей. Для подвижных деталей ось X ноды должна располагаться вдоль оси вращения, а центр ноды - на линии оси вращения. Ориентацию для элеронов и рулей можно увидеть на скриншоте.
этап 7

1.9. Экспорт модели в RealFlight
После установки плагина от Knife Edge Software в списке форматов для экспорта появится KEX. В этом формате нужно экспортировать модель.
этап 8



2. Импорт в RealFlight.

2.1. Импорт модели в RealFlight.
Сам импорт проблем не вызывает. Просто указать файл и выбрать тип Airplane. А вот дальше хитрость. RealFlight не позволяет создать модель с нуля, а предлагает взять исходные параметры модели от любой уже существующей. Надо выбрать похожий (по оснастке) самолёт. В данном случае простейшая электро-пилотажка E3D.
этап 2-1

2.2. Выбор и редактирование модели.
После импорта нужно выбрать эту модель и зайти в редактор. В редакторе сразу включить отображение дополнительных параметров и выбрать метрическую систему измерения.
этап 2-2



3. Настройка модели.

3.1. Общая настройка и удаление текущей модели.
В окне редактирования моделей сверху находится поле предпросмотра модели, слева древовидный список компонентов модели, а справа параметры выбранного в данный момент компонента.
Серым цветом выделены информационные поля, их нельзя менять.

В первую очередь нужно настроить основные параметры модели в корневом компоненте. Параметры, настраиваемые здесь:
  • Aircraft Type - тип ЛА: самолёт или вертолёт (выбираем самолёт).
  • Launch Method - тип запуска: с шасси, с рук, с воды и т.д. (выбираем с рук).
  • Power Plant Type - тип силовой установки: ДВС, электромотори т.д. (выбираем электромотор).
  • Radio Type - тип радио. Лучше не разбираться и ставить Software Radio.
  • Vehicle Graphical Scale - масштаб 3D модели. Используется для коррекции ошибок моделирования.
  • Vehicle Physics Scale - множитель размеров. Используется для изменения размера модели.
    В нашем случае оба масштаба ставим 100%, т.к. модель изначально нарисована правильно.
  • Description - произвольное описание модели.
Далее базовая настройка физической модели (Airframe):
  • CG Adjustment - подстройка центра масс.
  • Material - материал, из которого сделана модель. Выбирается из списка. От него зависит звук, с которым модель ломается :)
  • Mass Scaling Factor - коэффициент массы. Позволяет менять "летучесть" модели. Лучше оставить единицу.
После этого нужно удалить все физические компоненты (внутри Airframe), кроме силовой батареи (Main Battery). Можно было этого не делать, а модифицировать имеющиеся компоненты, но мы пойдём другим путём. После удаления компонентов сохранять модель нельзя, RealFlight может зависнуть!
этап 3-1

3.2. Добавление и настройка фюзеляжа.
Компоненты добавляются через контекстном меню (правый клик на компоненте, который станет родительским для создаваемого). Типы компонентов делятся на Single и Symmetrical (одиночные и парные, расположенные симметрично относительно продольной оси).

Добавляем внутри AirFrame компонент Single Fuselage и настраиваем его:
  • Component Frame - нода в 3D-модели, соответствующая компоненту.
  • Указывается для всех физических компонентов. Для фюзеляжа это RootRfame.
  • Dimensions - габариты компонента. Пишем габариты ноды фюзеляжа.
  • Location in Parent - расположение компонента относительно его родителя. Эти два параметра нужно подобрать так, чтобы контур компонента совпал с 3D-моделью.
  • Airfoil (Sides, Top/Bottom) - аэродинамические профили компонента (вид сверху и сбоку). Вместе с габаритами используются в физических вычислениях симулятора. Поэтому гондола и балки сделаны разными нодами - балки не влияют на аэродинамику. Я выбрал профили NACA0018 (боковой) как стандартный обтекаемый толстый профиль и Balsa Flat Stab как верхний, т.к. на виде сверху фюзеляж прямоугольный.
  • Weight - вес компонента. В данном случае это вес фюзеляжа и приёмника.
этап 3-2

3.3. Добавление и настройка крыла.
В моей модели крыло имеет перелом стреловидности и поэтому состоит из двух компонентов типа "Symmetrical Wing". Первый добавляется в фюзеляж и переименовывается в "Inner Wing", а второй добавляется в "Inner Wing" и переименовывается в "Outer Wing" (для переименования нужно просто кликнуть на компонент и подождать). В RealFlight если компонент крыла находится внутри другого компонента крыла, то они считаются одним крылом, и второй компонент берёт своё начало из окончания первого. Настраиваемые параметры крыла:
  • Location in Parent - расположение передней точки корневого профиля правой консоли относительно родительского компонента.
  • Airfoil at Root/Tip - корневой/концевой профиль.
  • Chord at Root/Tip - концевая/концевая хорда.
  • Dihedral - угол установки относительно продольной оси ЛА (V-образность).
  • Incidence at Root - угол атаки крыла.
  • Washout at Tip - угол атаки законцовки относительно корня крыла.
  • Leading Edge Sweep - стреловидность передней кромки.
  • Wing Length - длина консоли (для симметричного крыла - половина размаха).
  • Breakoff Together - отваливаются ли детали по-отдельности или только вместе.
Не забываем указать Component Frame (для симметричных компонентов их два - правый и левый).
После правильной настройки контур компонента совпадает с 3D-моделью. Настройки для данной модели показаны на скриншоте. Для оптимизации сложности модели я не стал точно повторять контур законцовки крыла, вместо этого "усреднил" его.
этап 3-3

3.4. Корректировка силовой батареи, добавление и настройка стабилизатора.
Теперь, когда есть фюзеляж, можно откорректировать силовую батарею (см. скриншот). Её параметры:
  • Cell Type - тип элементов батареи. Выбирается из списка, а при большом желании в этот список можно добавить свой собственный тип.
  • Number of Cells in Parallel/Series - количество элементов, соединённых параллельно/последовательно.
  • Speed Controller Resistance - внутреннее сопротивление регулятора оборотов.
Наконец, модель можно сохранить. Она уже не пустая, и RealFlight не зависнет.
Далее по аналогии с крылом добавляется стабилизатор. С точки зрения симулятора он является крылом, компонент типа "Symmetrical Wing", установленный внутри компонента Fuselage. Переименовываем его в "Stabilizer" и настраиваем как на скриншоте. Видно, что контур немного не совпал с 3D-моделью: это разумное упрощение, чтобы не разбивать стабилизатор на два компонента.
этап 3-4

3.5. Добавление и настройка киля и имитация веса хвостовой балки.
Теперь добавляется киль. Делается это так же, как и со стабилизатором, за исключением двух нюансов:
  1. Киль это несимметричная деталь, поэтому выбирается тип компонента "Single Wing".
  2. Киль смотрит вверх, поэтому продольный установочный угол (V-образность) указываем 90 градусов.
Теперь можно вспомнить, что в вес фюзеляжа не заложен вес хвостовых балок. Вместо этого добавляется балласт (компонент "Mass Component") и настраивается, как на скриншоте. Сделано это для правильной развесовки и распределения момента инерции.

этап 3-5
На  этом физическая модель готова. Можно её сохранить, выйти в симулятор и "кинуть" модель на асфальт. Самолёт должен красиво шмякнуться и остаться спокойно лежать :)

3.6. Настройка радио.
Перед настройкой радио убедитесь, что у вас правильно откалибровано и настроено управление в симуляторе (полетайте на другом самолёте). Потом удалите все компоненты внутри компонента Electronics (на всякий случай) и переходите к компоненту Software Radio. Для данной модели будут использоваться первые 4 канала. Надо пройтись по ним и убедиться, что в них выключены экспоненты и двойные расходы (если надо будет, добавите потом) и каждый из них имеет один вход с расходом 100% от соответствующего канала управления симулятора. Названия каналов могут не соответствовать их реальному назначению, не обращайте на это внимание. Просто шевелите стиками и смотрите реакцию.
этап 3-6

3.7. Добавление сервомашинки и руля высоты.
Теперь можно добавлять электронику. В этой модели электроника состоит только из сервомашинок (хотя можно добавлять гироскопы, микшеры и кучу всяких других интересностей). В компонент Electronics добавляем компонент типа "Physical Servo", называем его "Elevator Servo" и настраиваем как на скриншоте:
  • Input for This Servo - канал управления для сервомашинки. Проще всего выбрать нужный методом тыка (при условии, что они уже настроены в Software Radio).
  • Servo Speed - скорость сервомашинки.
  • Type - тип сервомашинки: цифровая или аналоговая.
  • Servo Sound Volume - громкость сервы. При планировании мимо себя они забавно жужжат.
Далее нужно создать управляющую поверхность на стабилизаторе - руль высоты. В компоненты типа "Wing" можно добавлять компоненты типа "Control Surface". Добавляем такой в компонент "Stabilizer", переименовываем в "Elevator" и настраиваем:
  • Deflection Centered/Minimum/Maximum - центральное, минимальное и максимальное положение (угол отклонения от плоскости крыла).
  • Distance to Tip - расстояние от законцовки консоли до внешнего края управляющей поверхности.
  • Length - длина управляющей поверхности (в сумме с дистанцией не должна быть больше длины консоли).
  • Percent of Chord at Root/Tip - ширина управляющей поверхности в процентах от хорды крыла в данном месте (для внешнего и внутреннего краёв).
  • Servo - сервомашинка, управляющая поверхностью. Обратите внимание, что можно выбрать не сервомашинку, а канал управления. При этом отклик будет мгновенный, так что лучше этого не делать.
  • Servo Reverse - реверс сервомашинок.
  • Component Frame - нода 3D-модели, соответствующая данной поверхности. Она будет вращаться вокруг своей оси X.
После правильной настройки руль должен шевелиться при отклонении стика.
этап 3-7

3.8. Добавление элеронов и руля направления, проверка планирования модели.
По аналогии добавляем руль направления и элероны. Надо учесть, что элероны приводятся одной сервомашинкой, но для правой консоли указывается реверс, чтобы они работали в противофазе.
Теперь модель можно кинуть и попробовать порулить.
этап 3-8

3.9. Добавление и настройка двигателя.
Пора добавить в модель двигатель! Как нетрудно догадаться, это компонент типа "Engine", добавленный в Fuselage. Настройки двигателя:
  • Down Thrust / Right Trhust - выкосы мотора вниз и вправо
  • Gear Ratio - передаточное число редуктора (для прямого привода = 1)
  • Number of Blades - количество лопастей пропеллера
  • Prop Diameter / Pitch - диаметр и шаг пропеллера (следите за единицами измерения)
  • Prop Spins Clockwise - направление вращения: стандартное или обратное
  • Propeller Type - тип пропеллера. Выбирается из списка, набор пропеллеров в RealFlight ограничен тем, что зашито в программе.
  • Sound Profile - тип звука. Выбирается из списка.
  • Throttle Servo / Reverse - сервомашинка управления и её реверс (если нужен).
  • Is Pusher Prop - является ли толкающим мотором.
  • Torque Generator - собственно, мотор. Выбирается из списка. Нашего мотора в списке нет, поэтому берём первый попавшийся, копируем с нужным названием и вводим для него параметры:
    • KV - скорость вращения (оборотов на вольт).
    • IO - ток холостого хода.
    • Motor Resistance - сопротивление обмоток (в омах).
    • Weight - вес, включая крепление и адаптер пропеллера.
этап 3-9

3.10. Проверка двигателя и подстройка центровки.
Теперь надо проверить работу мотора. Из-за глюка RealFlight параметры "телеметрии" не показываются, если просто изменить параметры мотора. Сперва надо выбрать любой другой компонент, потом вернуться в мотор и, ничего не меняя, пролистать вниз. Теперь можно шевелить ручкой газа и смотреть циферки:
  • Current Apmperage Draw - потребляемый ток.
  • Current Power - входная мощность.
  • Current Prop RPM - скорость вращения.
  • Current Thrust - тяга (в Ньютонах. Для получения килограмм-сил делите на 10).
Это весьма примерный расчёт. Возможно, потребуется поиграться с параметрами пропеллера, аккумулятора и двигателя чтобы получить реальные значения.

Далее нужно выставить желаемую центровку. Это можно делать изменением веса компонентов, а можно воспользоваться полем "CG Adjustment" в компоненте Airframe. Текущий центр масс показан крестиком.
этап 3-10

3.11. Просмотр информации о модели и первый испытательный полёт.
Теперь можно посмотреть некоторые основные параметры модели в корневом компоненте:
  • Current Graphical Width - размах крыла 3D-модели.
  • Current Physics Width - размах крыла физической модели. Он чуть меньше из-за того, что я "округлил" законцовки.
  • Current Mass with Children - общая масса (полётный вес).
  • Wing Liading - нагрузка на крыло.
этап 3-11

Ну, настало время пробного полёта!


3.12. Подстройка установочного угла стабилизатора.
После первого полёта выявилась тенденция модели к пикированию. Чтобы это исправить, уменьшается угол атаки стабилизатора:
этап 3-12

3.13. Второй испытательный полёт.

На старте я потерял контроль за высотой и сильно просел, а закончился полёт вообще об столб. Но в целом летать самолёт стал лучше.

3.14. Добавление полезной нагрузки.
Теперь в модель добавляется балласт, имитирующий полезную нагрузку (FPV-оборудование). Для сохранения центровки батарея сдвигается дальше к хвосту.
этап 3-14

3.15. Финальное тестирование. 



Обо всех неточностях, ошибках и прочих опечатках просьба сообщать!