exponenta event banner

Набор сообщений 3D моделирования

Отправка данных в среду визуализации Unreal Engine

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

  • Simulation 3D Message Set block

Описание

Блок Simulation 3D Message Set отправляет данные в среду визуализации Unreal Engine ® 3D. Убедитесь, что в модели блок «Моделирование» 3D «Конфигурация сцены» находится на том же уровне, что и блок «Моделирование» 3D «Набор сообщений».

Совет

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

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

  • Набор сообщений Simulation 3D - -1

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

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

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

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

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

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

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

    Проект

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

      Image of Unreal Engine options

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

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

    4. Поиск метода концептуального проекта для Sim3DGet класс актера на основе типа данных и размера, которые требуется получить из модели Simulink.

      Например, в Unreal Editor эта диаграмма показывает, что Read Scalar Integer является методом для Sim3DGetInteger класс актера для получения int32 тип данных скаляра размера.

      Image of Unreal Engine blueprint connections

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

    Примечание

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

    Класс C++

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

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

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

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

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

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

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

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

Порты

Вход

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

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

Например, в редакторе Unreal в сцене Double Lane Change имеется Sim3DGetInteger целочисленный актер с именем тега TrafficLight1. Целочисленный актер читает int32 тип данных из модели Simulink. Его можно использовать для управления цветом светофора.

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

Блок набора сообщений Simulation 3D WriteMsg Стоимость

TrafficLight1 Цвет

0Red
1Yellow
2Green

Параметры

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

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

Например, можно отправить данные в сцену изменения двойной полосы движения, которая изменяет цвет сигнала светофора на красный, желтый или зеленый. Для передачи данных на светофор установите для этого параметра значение TrafficLight1. В сцене изменения двойной полосы значение свойства «Теги» для Sim3dGetInteger класс актера имеет значение TrafficLight1.

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

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