После установки Vehicle Dynamics Blockset™ Interface for Unreal Engine® 4 Projects support package как описано в Install Support Package и Configure Environment, можно симулировать в пользовательских сценах одновременно из обоих Unreal® Редактор и Simulink®. Используя эту среду ко-симуляции, можно добавить транспортные средства и датчики к модели Simulink, а затем запустить эту симуляцию в пользовательской сцене.
Чтобы использовать проект, который вы разработали с использованием предыдущего релиза пакета поддержки, сначала перенесите проект, чтобы он был совместим с Unreal Engine 4.23. См. раздел Миграция проектов, разработанных с использованием предыдущих пакетов поддержки.
Если открыть файл проекта 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 в пользовательской сцене».
Откройте модель Simulink, сконфигурированную для симуляции в 3D окружении. Как минимум, модель должна содержать блок Simulation 3D Scene Configuration.
В Simulation 3D Scene Configuration блоке этой модели установите параметр Scene source равным Unreal Editor
.
В параметре Project найдите файл проекта, содержащий сцены, которые вы хотите настроить.
Например, этот пример пути задает AutoVrtlEnv
проект, который поставляется с пакетом поддержки Vehicle Dynamics Blockset Interface for Unreal Engine 4 Projects.
C:\Local\AutoVrtlEnv\AutoVrtlEnv.uproject
Z:\UnrealProjects\myProject\myProject.uproject
Нажмите Open Unreal Editor. Редактор Unreal открывает и загружает сцену из проекта.
Чтобы открыть 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 возвращает ошибку в начале симуляции, если проект не восстановлен. Необходимо репаратировать каждую сцену в пользовательском проекте отдельно.
Для повторного оформления проекта уровня выполните следующие шаги:
На панели редакторов выберите Blueprints > Open Level Blueprint.
В окне Концептуальный проект уровня выберите File > Reparent Blueprint.
Щелкните на Sim3dLevelScriptActor концептуальном проекте. Если вы не видите перечисленный Sim3dLevelScriptActor концептуальный проект, используйте эти шаги, чтобы проверить, есть ли у вас MathWorksSimulation
плагин установлен и включен:
На панели редакторов выберите Settings > Plugins.
В окне Plugins проверьте, что MathWorks Interface плагин указан в установленном окне. Если плагин еще не включен, установите флажок Enabled.
Если вы не видите MathWorks Interface плагина в этом окне, повторите шаг 3 в Configure Environment и снова откройте редактор из Simulink.
Закройте редактор и снова откройте его из Simulink.
Закройте окно Level Blueprint.
После открытия редактора можно изменить сцены в проекте или создать новые сцены.
В редакторе Unreal Editor сцены в проекте называются levels. Уровни бывают нескольких типов, и сцены имеют тип map уровня.
Чтобы открыть предварительно построенную сцену из AutoVrtlEnv.uproject
Файл в Content Browser панели под окном редактора перейдите в папку Content > Maps. Затем выберите карту, которая соответствует сцене, которую вы хотите изменить.
Нереальная карта редактора | Vehicle Dynamics Blockset сцена |
---|---|
HwCurve | Curved Road |
DblLnChng | Double Lane Change |
BlackLake | Open Surface |
LargeParkingLot | Large Parking Lot |
SimpleLot | Parking Lot |
HwStrght | Straight Road |
USCityBlock | US City Block |
USHighway | US 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
проект:
На панели Content Browser в нижней части редактора перейдите к папке Content.
В строке поиска выполните поиск 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, следуйте этим шагам.
На вкладке World Settings очистите Force no precomputed lighting.
В разделе Build выберите Lighting Quality > Production, чтобы перестроить карты с качеством производства. Перестроение больших карт может занять время.
Проверьте, что модель Simulink и Unreal Editor сконфигурированы для совместного моделирования путем выполнения тестовой симуляции.
В модели Simulink нажмите Run.
Поскольку источником сцен является проект, открытый в Unreal Editor, симуляция не запускается. Вместо этого необходимо запустить симуляцию из редактора.
Убедитесь, что в окне 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.
В редакторе Unreal Editor нажмите Play. Симуляция выполняется в сцене, открытой в редакторе Unreal. Если ваша модель Simulink содержит транспортные средства, эти транспортные средства перемещаются по сцене, которая открыта в редакторе.
Чтобы управлять представлением сцены во время симуляции, в блоке Simulation 3D Scene Configuration выберите имя транспортного средства из параметра Scene view. Чтобы изменить вид сцены при выполнении симуляции, используйте числовую клавиатуру в редакторе. Таблица показывает положение камеры, отображающей сцену, относительно транспортного средства, выбранного в параметре Scene view.
Для плавного изменения полей зрения камеры используйте эти ключевые команды.
Ключ | Поле зрения камеры | |
---|---|---|
1 | Назад налево |
|
2 | Назад | |
3 | Назад справа | |
4 | Левый | |
5 | Внутренний | |
6 | Правильно | |
7 | Спереди налево | |
8 | Фронт | |
9 | Передний правый | |
0 | Наверху |
Для дополнительных элементов управления камерой используйте эти ключевые команды.
Ключ | Управление камерой |
---|---|
Вкладка | Циклический просмотр между всеми транспортными средствами в сцене. |
Колесо прокрутки мыши | Управляйте расстоянием между камерами и транспортным средством. |
L | Включение или отключение эффекта задержки камеры. Когда вы включаете эффект задержки, поле зрения камеры включает в себя:
Это отставание позволяет улучшить визуализацию общего ускорения и вращения транспортного средства. |
F | Включите или отключите режим свободной камеры. Когда вы включите режим свободной камеры, можно использовать мышь, чтобы изменить тангаж и рыскание камеры. Этот режим позволяет вам вращать камеру вокруг транспортного средства. |
Чтобы перезапустить симуляцию, щелкните 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
После настройки пользовательской сцены на основе результатов симуляции можно упаковать сцену в исполняемый файл. Для получения дополнительной информации см. раздел «Упаковать пользовательские сцены в исполняемый файл».
sim3d.Editor
| Simulation 3D Scene Configuration