Настройка нереальных Engine сцен с помощью Simulink и Unreal Editor

После установки UAV Toolbox для Unreal Engine® Пакет поддержки проектов, описанный в пакете поддержки установки для пользовательской настройки сцен, можно симулировать в пользовательских сценах одновременно из обоих нереальных® Редактор и Simulink®. Используя эту среду ко-симуляции, можно добавить транспортные средства и датчики к модели Simulink, а затем запустить эту симуляцию в пользовательской сцене.

Откройте Unreal Editor из Simulink

Если открыть файл проекта Unreal непосредственно в редакторе Unreal, Simulink не сможет установить связь с редактором. Чтобы установить это соединение, вы должны открыть свой проект из модели Simulink.

  1. Откройте модель Simulink, сконфигурированную для симуляции в 3D окружении. Как минимум, модель должна содержать блок Simulation 3D Scene Configuration. Например, откройте простую модель, которая имитирует БПЛА, летающий в городском блоке США. Эта модель является фотореалистичным вариантом симуляции из примера BAV Package Delivery.

  2. В Simulation 3D Scene Configuration блоке этой модели установите параметр Scene source равным Unreal Editor.

  3. В параметре Project найдите файл проекта, содержащий сцены, которые вы хотите настроить.

    Например, этот пример пути задает AutoVrtlEnv проект, который поставляется с пакетом поддержки UAV Toolbox Interface for Unreal Engine Projects.

    C:\Local\AutoVrtlEnv\AutoVrtlEnv.uproject
    Этот пример пути задает пользовательский проект.
    Z:\UnrealProjects\myProject\myProject.uproject

  4. Нажмите Open Unreal Editor. Редактор Unreal открывает и загружает сцену из проекта.

Первый раз, когда вы открываете Редактор из Simulink, вас могут попросить перестроить UE4Editor Файлы DLL или AutoVrtlEnv модуль. Щелкните Yes, чтобы перестроить эти файлы или модули. Редактор также предлагает вам, чтобы новые плагины были доступны. Нажмите Manage Plugins и проверьте, что плагин MathWorks Interface и Mathworks UAV Content установлен. Убедитесь, что оба плагина включены, проверив, что флажок Enabled установлен для обоих. Эти плагины являются MathWorksSimulation.uplugin и MathworksUAVContent.uplugin файлы, которые вы скопировали в установку Unreal Editor в Install Support Package for Customizing Scenes.После включения плагинов, возможно, придется перезапустить редактор Unreal. При появлении запроса нажмите кнопку Restart Now.

Когда откроется редактор, можно игнорировать любые предупреждающие сообщения о файлах с именем '_BuiltData' который не удалось загрузить.

Если вы получаете предупреждение о необходимости перестроения подсветки, на панели инструментов над окном редактора выберите Build > Build Lighting Only. Редактор выдает это предупреждение при первом открытии сцены или при добавлении новых элементов к сцене. Чтобы использовать подсветку, которое поставляется с AutoVrtlEnv, см. Использование AutoVrtlEnv Проектирование подсветки в пользовательской сцене.

Репарационный проект актёра

Примечание

Если вы используете сцену из AutoVrtlEnv проект, который поставляется с пакетом поддержки UAV Toolbox Interface for Unreal Engine Projects, пропустите этот раздел. Однако, если вы создаете новую сцену, основанную на одной из сцен в этом проекте, то необходимо завершить этот раздел.

Первый раз, когда вы открываете пользовательскую сцену из Simulink, вам нужно связать, или reparent, этот проект с концепцией уровня Sim3dLevelScriptActor, используемой в UAV Toolbox. Этот level blueprint управляет взаимодействием объектов со окружением Unreal Engine, когда они помещаются в нее. Simulink возвращает ошибку в начале симуляции, если проект не восстановлен. Необходимо репаратировать каждую сцену в пользовательском проекте отдельно.

Для повторного оформления проекта уровня выполните следующие шаги:

  1. На панели редакторов выберите Blueprints > Open Level Blueprint.

  2. В окне Концептуальный проект уровня выберите File > Reparent Blueprint.

  3. Щелкните на Sim3dLevelScriptActor концептуальном проекте. Если вы не видите перечисленный Sim3dLevelScriptActor концептуальный проект, используйте эти шаги, чтобы проверить, есть ли у вас MathWorksSimulation плагин установлен и включен:

    1. На панели редакторов выберите Settings > Plugins.

    2. В окне Plugins проверьте, что MathWorks Interface плагин указан в установленном окне. Если плагин еще не включен, установите флажок Enabled.

      Если вы не видите MathWorks Interface плагина в этом окне, повторите шаги в разделе Копировать плагин в Unreal Editor и снова откройте редактор из Simulink.

    3. Закройте редактор и снова откройте его из Simulink.

  4. Закройте окно Level Blueprint.

Создание или изменение сцен в Unreal Editor

После открытия редактора из Simulink можно изменить сцены в проекте или создать новые сцены.

Открыть сцену

В редакторе Unreal Editor сцены в проекте называются levels. Уровни бывают нескольких типов, и сцены имеют тип map уровня.

Чтобы открыть предварительно построенную сцену из AutoVrtlEnv.uproject Файл в Content Browser панели под окном редактора перейдите в папку Content > Maps. Затем выберите карту, которая соответствует сцене, которую вы хотите изменить.

Нереальная карта редактораUAV Toolbox
USCityBlockUS City Block

Чтобы открыть сцену в рамках собственного проекта, на панели Content Browser перейдите к папке, которая содержит ваши сцены.

Создание новой сцены

Чтобы создать новую сцену в проекте, в левом верхнем меню редактора выберите File > New Level.

Также можно создать новую сцену из существующей. Этот метод полезен, если вы хотите использовать одну из предварительно построенных сцен в AutoVrtlEnv проект как начальная точка для создания собственной сцены. Чтобы сохранить версию текущей открытой сцены в проекте, в левом верхнем меню редактора выберите File > Save Current As. Новая сцена сохранена в том же месте, что и существующая сцена.

Добавление активов к сцене

В редакторе Unreal элементы в сцене называются assets. Чтобы добавить ресурсы в сцену, можно просмотреть или найти их в панели Content Browser внизу и перетащить их в окно редактора.

При добавлении активов к сцене, которая находится в AutoVrtlEnv проект, вы можете выбрать из библиотеки активов, связанных с вождением. Эти активы создаются как static meshes и начинаются с префикса SM_. Поиск этих объектов на панели Content Browser.

Например, добавьте знак остановки к сцене в AutoVrtlEnv проект.

  1. На панели Content Browser в нижней части редактора перейдите к папке Content.

  2. В строке поиска выполните поиск SM_StopSign. Перетащите знак упора из Content Browser в окно редактирования. Затем можно изменить положение знака упора в окне редактирования или на панели Details справа в разделе Transform.

Редактор нереальных данных использует левую Z систему координат вверх, где ось Y указывает вправо. В UAV Toolbox используется правая Z - нисходящая система координат, где ось Y указывает налево. При позиционировании объектов в сцене следует иметь в виду это различие в системе координат. В двух системах координат положительные и отрицательные знаки для значений Y оси и угла тангажа обращены назад.

Дополнительные сведения об изменении сцен и добавлении активов см. в документации Unreal Engine 4.

Как перенести ресурсы из AutoVrtlEnv проект в ваш собственный файл проекта, см. Миграция активов в документации Unreal Engine.

Чтобы получить семантические данные сегментации из сцены, необходимо применить идентификаторы шаблона к объектам, добавленным к сцене. Для получения дополнительной информации см. раздел «Применение меток семантической сегментации к пользовательским сценам».

Использование AutoVrtlEnv Проектирование подсветки в пользовательской сцене

Чтобы использовать подсветку, которое поставляется с AutoVrtlEnv проект в UAV Toolbox, следуйте этим шагам.

  1. На вкладке World Settings очистите Force no precomputed lighting.

  2. В разделе Build выберите Lighting Quality > Production, чтобы перестроить карты с качеством производства. Перестроение больших карт может занять время.

Выполняйте симуляцию

Проверьте, что модель Simulink и Unreal Editor сконфигурированы для совместного моделирования путем выполнения тестовой симуляции.

  1. В модели Simulink нажмите Run.

    Поскольку источником сцен является проект, открытый в Unreal Editor, симуляция не запускается. Вместо этого необходимо запустить симуляцию из редактора.

  2. Убедитесь, что в окне Diagnostic Viewer в Simulink отображается следующее сообщение:

    In the Simulation 3D Scene Configuration block, you set the scene source to 'Unreal Editor'. In Unreal Editor, select 'Play' to view the scene.

    Это сообщение подтверждает, что Simulink создал экземпляры транспортных средств и других объектов в среде 3D Unreal Engine.

  3. В редакторе Unreal Editor нажмите Play. Симуляция выполняется в сцене, открытой в редакторе Unreal.

    • Если ваша модель Simulink содержит транспортные средства, эти транспортные средства перемещаются по сцене, которая открыта в редакторе.

    • Если ваша модель Simulink включает датчики, эти датчики захватывают данные из сцены, которая открыта в редакторе.

Чтобы управлять представлением сцены во время симуляции, в блоке Simulation 3D Scene Configuration выберите имя транспортного средства из параметра Scene view. Чтобы изменить вид сцены при выполнении симуляции, используйте числовую клавиатуру в редакторе. Таблица показывает положение камеры, отображающей сцену, относительно транспортного средства, выбранного в параметре Scene view.

КлючПоле зрения камеры

1

Назад налево

2

Назад

3

Назад справа

4

Левый

5

Внутренний

6

Правильно

7

Спереди налево

8

Фронт

9

Передний правый

0

Наверху

Чтобы перезапустить симуляцию, щелкните Run в модели Simulink, подождите, пока Diagnostic Viewer не отобразит сообщение подтверждения, и затем нажмите Play в редакторе. Если нажать Play перед началом симуляции в модели, связь между Simulink и Unreal Editor не будет установлена, и редактор отобразит пустую сцену.

После настройки пользовательской сцены на основе результатов симуляции можно упаковать сцену в исполняемый файл. Для получения дополнительной информации см. раздел «Упаковать пользовательские сцены в исполняемый файл».

Для просмотра документации необходимо авторизоваться на сайте