Simulation 3D Message Set

Отправьте данные в Нереальную среду визуализации Engine

  • Библиотека:
  • Vehicle Dynamics Blockset / Сценарии Транспортного средства / Sim3D / Ядро Sim3D

Описание

Блок Simulation 3D Message Set отправляет данные в Нереальную среду визуализации Engine® 3D. В вашей модели гарантируйте, что блок Simulation 3D Scene Configuration на том же уровне как блок Simulation 3D Message Set.

Совет

Проверьте, что блок Simulation 3D Message Set выполняется перед блоком Simulation 3D Scene Configuration. Тем путем Simulation 3D Message Set готовит данные сигнала перед Нереальным Engine, 3D среда визуализации получает его. Чтобы проверять порядок выполнения блока, щелкните правой кнопкой по блокам и выберите Properties. На вкладке General подтвердите эти настройки Priority:

  • Simulation 3D Scene Configuration0

  • Simulation 3D Message Set-1

Для получения дополнительной информации о порядке выполнения, смотрите Управление и Отображение Порядок выполнения (Simulink).

Сконфигурируйте сцены, чтобы получить данные

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

  1. Установите пакет поддержки для настройки сцен.

  2. В Редакторе Unreal® следуйте за этими общими рабочими процессами, чтобы настроить сцены.

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

    Рабочий процесс

    Проект

    1. Инстанцируйте Sim3DGet агент, который соответствует типу данных, который вы хотите получить от модели Simulink. Этот пример показывает Нереальному Редактору 4,19 Sim3DGet типы данных.

    2. Задайте имя тега агента, которое совпадает с блоком Simulation 3D Message Set параметр Signal name.

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

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

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

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

    Примечание

    По умолчанию Двойная сцена Изменения Маршрута имеет Sim3DGetInteger агент с именем тега TrafficLight1.

    Класс C++

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

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

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

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

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

      • В методе Sim3dStep, вызовите ReadSimulation3DMessage{DataType} функционируйте, чтобы считать данные из модели Simulink.

      • Удалите средство чтения сигнала в методе Sim3dRelease из агента.

    Для получения дополнительной информации о Нереальном Редакторе, см. Нереальную документацию Engine 4.

Порты

Входной параметр

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

Данные отправляются в 3D сцену среды визуализации. В Нереальной среде Engine можно сконфигурировать Sim3DGet класс, чтобы получить данные из модели Simulink.

Например, в Нереальном Редакторе, Двойная сцена Изменения Маршрута имеет Sim3DGetInteger целочисленный агент с именем тега TrafficLight1. Целочисленный агент читает int32 тип данных из модели Simulink. Можно использовать его, чтобы управлять цветом светового индикатора трафика.

Эта таблица обеспечивает цвет светового индикатора трафика сцены, который соответствует WriteMsg значение в Двойной сцене Изменения Маршрута.

Блок Simulation 3D Message Set WriteMsg Значение

TrafficLight1 Цвет

0Red
1Yellow
2Green

Параметры

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

Задает имя сигнала в 3D среде визуализации. В Нереальной среде Engine используйте Sim3Get класс агента свойство 'Tags', расположенное в панели 'Деталей'.

Например, можно отправить данные в двойную сцену изменения маршрута, которая изменяет цвет светового индикатора трафика в красный, желтый цвет, или зеленый. Чтобы отправить данные в световой индикатор трафика, установите этот параметр на TrafficLight1. В двойном маршруте изменяют сцену, значение свойства 'Тегов' для Sim3dGetInteger класс агента установлен в TrafficLight1.

Шаг расчета, в s. Графическая частота кадров является инверсией шага расчета. Если вы устанавливаете шаг расчета на-1, блок использует шаг расчета, заданный в блоке Simulation 3D Scene Configuration.

Введенный в R2019b