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

После установки Vehicle Dynamics Blockset™ Interface for Unreal Engine® 4 Projects support package как описано в Install Support Package и Configure Environment, можно симулировать в пользовательских сценах одновременно из обоих Unreal® Редактор и Simulink®. Используя эту среду ко-симуляции, можно добавить транспортные средства и датчики к модели Simulink, а затем запустить эту симуляцию в пользовательской сцене.

Чтобы использовать проект, который вы разработали с использованием предыдущего релиза пакета поддержки, сначала перенесите проект, чтобы он был совместим с Unreal Engine 4.23. См. раздел Миграция проектов, разработанных с использованием предыдущих пакетов поддержки.

Откройте Unreal Editor

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

Первый раз, когда вы открываете Unreal Editor, вас могут попросить перестроить UE4Editor Файлы DLL или AutoVrtlEnv модуль. Щелкните Yes, чтобы перестроить эти файлы или модули. Редактор также предлагает вам, чтобы новые плагины были доступны. Нажмите Manage Plugins и убедитесь, что плагин MathWorks Interface установлен. Этот плагин является MathWorksSimulation.uplugin файл, скопированный в установку Редактор в программе Install Support Package и Configure Environment.

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

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

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

  1. Откройте модель Simulink, сконфигурированную для симуляции в 3D окружении. Как минимум, модель должна содержать блок Simulation 3D Scene Configuration.

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

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

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

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

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

Откройте Unreal Editor с помощью функции Command-Line

Чтобы открыть AutoVrtlEnv.uproject файл, скопированный из пакета поддержки Vehicle Dynamics Blockset Interface for Unreal Engine 4 Projects, укажите путь к месту копирования этого проекта. Для примера, если вы скопировали AutoVrtlEnv.uproject на C:/Local/AutoVrtlEnv, используйте этот код:

path = fullfile('C:','Local','AutoVrtlEnv','AutoVrtlEnv.uproject');
editor = sim3d.Editor(path);
open(editor);

Редактор открывает AutoVrtlEnv.uproject файл. По умолчанию в проекте отображается Straight Road сцена.

Чтобы открыть свой собственный проект, используйте те же команды, что и для открытия AutoVrtlEnv.uproject файл. Обновление path переменная с путем к вашему .uproject файл. Для примера, если у вас есть проект, сохраненный в C:/Local папка, используйте этот код:

path = fullfile('C:','Local','myProject','myProject.uproject');
editor = sim3d.Editor(path);
open(editor);

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

Примечание

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

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

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

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

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

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

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

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

      Если вы не видите MathWorks Interface плагина в этом окне, повторите шаг 3 в Configure Environment и снова откройте редактор из Simulink.

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

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

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

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

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

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

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

Нереальная карта редактора

Vehicle Dynamics Blockset сцена

HwCurveCurved Road
DblLnChngDouble Lane Change
BlackLakeOpen Surface
LargeParkingLotLarge Parking Lot
SimpleLotParking Lot
HwStrghtStraight Road
USCityBlockUS City Block
USHighwayUS Highway

Примечание

The AutoVrtlEnv.uproject файл не включает Virtual Mcity (Automated Driving Toolbox) сцену.

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

Отправка данных в сцену

Блок Simulation 3D Message Get извлекает данные из окружения визуализации 3D Unreal Engine. Чтобы использовать блок, вы должны сконфигурировать сцены в среде Unreal Engine, чтобы отправить данные в модель Simulink.

Для получения подробной информации об использовании блока для отправки данных в сцены, смотрите Запуск Связь с Окружением визуализации Unreal Engine.

Получение данных из сцены

Блок Simulation 3D Message Set отправляет данные в окружение визуализации 3D Unreal Engine. Чтобы использовать блок, вы должны сконфигурировать сцены в среде Unreal Engine, чтобы получить данные из модели Simulink.

Для получения подробной информации об использовании блока для получения данных с места происшествия смотрите Запуск Связь с Окружением визуализации Unreal Engine.

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

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

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

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

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

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

Например, чтобы добавить конус трафика к сцене в AutoVrtlEnv проект:

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

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

Редактор нереальных данных использует левую Z систему координат вверх, где ось Y указывает вправо. Блоки транспортных средств в Vehicle Dynamics Blockset используют правую Z нисходящую систему координат, где ось Y указывает вправо. При позиционировании объектов в сцене следует иметь в виду это различие в системе координат.

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

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

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

Чтобы использовать подсветку, которое поставляется с AutoVrtlEnv project in Vehicle Dynamics Blockset, следуйте этим шагам.

  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 содержит транспортные средства, эти транспортные средства перемещаются по сцене, которая открыта в редакторе.

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

Для плавного изменения полей зрения камеры используйте эти ключевые команды.

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

1

Назад налево

Image showing key commands and corresponding camera view

 Просмотр анимированного GIF

2

Назад

3

Назад справа

4

Левый

5

Внутренний

6

Правильно

7

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

8

Фронт

9

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

0

Наверху

Для дополнительных элементов управления камерой используйте эти ключевые команды.

КлючУправление камерой
Вкладка

Циклический просмотр между всеми транспортными средствами в сцене.

 Просмотр анимированного GIF

Колесо прокрутки мыши

Управляйте расстоянием между камерами и транспортным средством.

 Просмотр анимированного GIF

L

Включение или отключение эффекта задержки камеры. Когда вы включаете эффект задержки, поле зрения камеры включает в себя:

  • Задержка положения, основанная на поступательном ускорении транспортного средства

  • Задержка вращения, основанная на скорости вращения транспортного средства

Это отставание позволяет улучшить визуализацию общего ускорения и вращения транспортного средства.

 Просмотр анимированного GIF

F

Включите или отключите режим свободной камеры. Когда вы включите режим свободной камеры, можно использовать мышь, чтобы изменить тангаж и рыскание камеры. Этот режим позволяет вам вращать камеру вокруг транспортного средства.

 Просмотр анимированного GIF

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

Если вы совместно моделируете пользовательский проект, чтобы включить числовую клавиатуру, скопируйте DefaultInput.ini файл из папки установки пакета поддержки в пользовательскую папку проекта. Для примера скопируйте DefaultInput.ini от:

C:\ProgramData\MATLAB\SupportPackages\<MATLABRelease>\toolbox\shared\sim3dprojects\driving\AutoVrtlEnv\Config

кому:

C:\<yourproject>.project\Config

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

См. также

|

Внешние веб-сайты