Simulation 3D Message Set

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

  • Библиотека:
  • Динамика автомобиля Blockset/Сценарии автомобиля/ Sim3D/ Sim3D Ядро

  • Simulation 3D Message Set block

Описание

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

Совет

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

  • Simulation 3D Scene Configuration0

  • Simulation 3D Message Set-1

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

Сконфигурируйте сцены для приема данных

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

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

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

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

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

    Проект

    1. Создайте экземпляр Sim3DGet актёр, который соответствует типу данных, которые вы хотите получить из модели Simulink. Этот пример показывает Unreal Editor Sim3DGet типы данных.

      Image of Unreal Engine options

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

    3. Перейдите к концептуальному проекту уровня.

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

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

      Image of Unreal Engine blueprint connections

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

    Примечание

    По умолчанию сцена «Смена двойного маршрута» имеет Sim3DGetInteger актёр с именем тега TrafficLight1.

    Класс C++

    1. Создайте новый класс актёра для mesh или актива, с которым вы хотите взаимодействовать в модели 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 Message Set блок- WriteMsg Значение

TrafficLight1 Цвет

0Red
1Yellow
2Green

Параметры

расширить все

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

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

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

Введенный в R2019b