exponenta event banner

Сообщение о моделировании 3D Получить

Извлечение данных из среды визуализации Unreal Engine

  • Библиотека:
  • Блок динамики транспортного средства/Сценарии транспортного средства/ Sim3D/ Sim3D Core

  • Simulation 3D Message Get block

Описание

Блок Simulation 3D Message Get извлекает данные из среды визуализации Unreal Engine ® 3D. Убедитесь, что в модели блок Simulation 3D Scene Configuration находится на том же уровне, что и блок Simulation 3D Message Get.

Совет

Убедитесь, что блок Simulation 3D Scene Configuration выполняется перед блоком Simulation 3D Message Get. Таким образом, среда визуализации Unreal Engine 3D подготавливает данные до их получения блоком Simulation 3D Message Get. Чтобы проверить порядок выполнения блока, щелкните его правой кнопкой мыши и выберите «Свойства». На вкладке Общие подтвердите следующие параметры приоритета:

  • Моделирование 3D Конфигурация сцены - 0

  • Симуляция 3D Сообщение Получить - 1

Дополнительные сведения о порядке выполнения см. в разделе Управление и просмотр порядка выполнения.

Настройка сцен для отправки данных

Чтобы использовать блок, необходимо настроить сцены в среде Unreal Engine для отправки данных в модель Simulink ® :

  1. Установите окно Настроить сцены 3D для моделирования динамики транспортного средства.

  2. В редакторе Unreal ® следуйте этим общим рабочим процессам для отправки данных в Simulink. Дополнительные сведения см. в разделе Начало работы с средой визуализации Unreal Engine.

    Нереальный пользователь ядра

    Технологический процесс

    Проект

    1. Создать экземпляр Sim3DSet исполнитель, соответствующий типу данных, который требуется отправить в модель Simulink. В этом примере показан нереальный редактор Sim3DSet типы данных.

      Image of Unreal Engine options

    2. Укажите имя тега субъекта, соответствующее параметру Simulation 3D Message Get block Signal name.

    3. Перейдите к проекту уровня.

    4. Поиск метода концептуального проекта для Sim3DSet класс актера на основе типа данных и размера, заданных параметрами Simulation 3D Message Get block Data type и Message size.

      Например, в Unreal Editor эта диаграмма показывает, что Write Array Boolean является методом для Sim3DSetBoolean класс актера, который отправляет логический тип данных 30 размера массива.

      Image of Unreal Engine bluepring connections

    5. Скомпилировать и сохранить сцену.

    Примечание

    По умолчанию сцена «Изменение двойной полосы движения» имеет Sim3DSetBoolean актер с именем тега NumOfConesHit.

    Класс C++

    1. Создайте новый класс актера для сетки или ресурса, с которыми должна взаимодействовать модель Simulink. Вывести его из ASim3dActor.

    2. В новом классе актёров:

      • Объявите указатель на имя сигнала как поле класса.

      • Получить тег класса.

      • Создание устройства записи сигнала и назначение указателя в методе Sim3dSetup.

      • В методе Sim3dStep, вызовите WriteSimulation3DMessage для записи данных в модель Simulink.

      • Удаление устройства записи сигнала в методе Sim3dRelease актёра.

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

Порты

Продукция

развернуть все

Данные, полученные из 3D данных сцены среды визуализации. В среде Unreal Engine можно использовать Sim3DSet для настройки актеров сцены для отправки данных в модель Simulink.

Например, в редакторе Unreal в сцене Double Lane Change имеется Sim3DSetBoolean актер с именем тега NumOfConesHit. Используйте его для определения количества конусов, в которые попадает транспортное средство во время двухполосного маневра смены.

В этой таблице представлено имя конуса сцены «Изменение двойной полосы движения», соответствующее ReadMsg элемент массива.

Моделирование 3D сообщение Получить блок ReadMsg Стоимость

Нереальное имя конуса редактора

Моделирование 3D сообщение Получить элемент массива блоков

Нереальное имя конуса редактора

ReadMsg(1,1)SM_Cone5ReadMsg(2,1)SM_Cone10
ReadMsg(1,2)SM_Cone4ReadMsg(2,2)SM_Cone09
ReadMsg(1,3)SM_Cone3ReadMsg(2,3)SM_Cone08
ReadMsg(1,4)SM_Cone2ReadMsg(2,4)SM_Cone07
ReadMsg(1,5)SM_Cone01ReadMsg(2,5)SM_Cone06
ReadMsg(1,6)SM_Cone15ReadMsg(2,6)SM_Cone20
ReadMsg(1,7)SM_Cone14ReadMsg(2,7)SM_Cone19
ReadMsg(1,8)SM_Cone13ReadMsg(2,8)SM_Cone18
ReadMsg(1,9)SM_Cone12ReadMsg(2,9)SM_Cone17
ReadMsg(1,10)SM_Cone11ReadMsg(2,10)SM_Cone16
ReadMsg(1,11)SM_Cone25ReadMsg(2,11)SM_Cone30
ReadMsg(1,12)SM_Cone24ReadMsg(2,12)SM_Cone29
ReadMsg(1,13)SM_Cone23ReadMsg(2,13)SM_Cone28
ReadMsg(1,14)SM_Cone22ReadMsg(2,14)SM_Cone27
ReadMsg(1,15)SM_Cone21ReadMsg(2,15)SM_Cone26

Параметры

развернуть все

Задает имя сигнала в среде визуализации 3D. В среде Unreal Engine используйте Sim3DSet свойство класса актера 'Tags' находится в области 'Details'.

Например, можно извлечь данные из сцены изменения двойной полосы, указывающие на попадание конусов во время маневра изменения двойной полосы. Чтобы получить данные о попадании конуса из сцены изменения двойной полосы, задайте для этого параметра значение NumOfConesHit. В сцене двухполосного изменения Sim3DSet свойство класса актера 'Tags' имеет значение NumOfConesHit.

3D тип данных сигнала среды визуализации. Поддерживаемые типы данных зависят от рабочего процесса Unreal Engine.

Технологический процесс

Поддерживаемые типы данных

Проект

single

int32

Boolean

* Класс C++

double

single

int8

uint8

int16

uint16

int32

uint32

Boolean

В среде Unreal Engine создайте экземпляр Sim3DSet класс актера для типа данных, который требуется отправить в модель Simulink. Например, можно извлечь данные из сцены изменения двойной полосы, указывающие на попадание конусов во время маневра изменения двойной полосы. Чтобы получить данные о попадании конуса из сцены изменения двойной полосы, задайте для этого параметра значение boolean. В сцене двухполосного изменения Sim3DSetBoolean создается экземпляр класса актера для отправки данных о попадании конуса или пропуске булевых данных.

3D измерение сигнала среды визуализации. В проекте среды Unreal Engine задайте входные данные узла Sim3DSet класс актера, чтобы указать размеры данных, которые необходимо отправить в модель Simulink.

Например, можно извлечь данные из сцены изменения двойной полосы, указывающие на попадание конусов во время маневра изменения двойной полосы. Чтобы получить данные о попадании конуса из сцены изменения двойной полосы, задайте для этого параметра значение [2 15]. В сцене изменения двухполосной сети ввод в узел проекта для Sim3DSetBoolean класс актера устанавливается равным 30, количество конусов в сцене.

Время выборки, в с. Частота кадров графики является обратной времени выборки. Если задать время выборки равным -1блок использует время выборки, указанное в блоке «Моделирование» 3D «Конфигурация сцены».

Представлен в R2019b