Анимируйте пользовательских агентов в нереальном редакторе

Выполните эти шаги, чтобы анимировать пользовательского агента в Редакторе Unreal®. Прежде чем вы запустите, убедитесь вы, что у вас есть Визуальный Studio® 2017 и Интерфейс Vehicle Dynamics Blockset™ для Нереального пакета поддержки Проектов Engine® 4, установленного на вашей машине. Для получения дополнительной информации смотрите Пакет Поддержки Установки и Сконфигурируйте Среду.

Кроме того, убедитесь что:

  • Вы - удобное кодирование с C++ в Нереальном Engine.

  • Ваш Нереальный Редактор проект C++ содержит скелетную mesh агента. Этот пример использует велосипедную mesh.

    Unreal Editor bicycle mesh

Это примеры обеспечивает рабочий процесс для анимации велосипедного агента. Общий рабочий процесс адаптируется из Нереального Руководства пользователя Транспортного средства Engine.

Настройте Модель Simulink

Шаг 1: Настройте Модель Simulink

Откройте новую модель Simulink® и добавьте эти блоки:

  • Два блока Ramp

  • Блок Constant

  • Блок Simulation 3D Actor Transform Set

  • Блок Simulation 3D Scene Configuration

Соедините и назовите блоки как показано.

Simulink model with connected blocks

Шаг 2: сконфигурируйте блоки

Сконфигурируйте блоки с этими установками параметров.

БлокУстановки параметров

Simulation 3D Scene Configuration

  • Scene sourceUnreal Editor

  • Project — Название и местоположение установленного файла проекта пакета поддержки, например, C:\Local\AutoVrtlEnv\AutoVrtlEnv.uproject.

  • Scene viewScene Origin

Simulation 3D Actor Transform Set

  • Вкладка Actor Setup:

  • Вкладка Initial Values:

    • Initial array values to translate actor per part, Translation[0 0 0;0 0 0;0 0 0]

    • Initial array values to rotate actor per part, Rotation[0 0 0;0 0 0;0 0 0]

    • Initial array values to scale actor per part, Scale[1 1 1;1 1 1;1 1 1]

Перевод Ramp

  • Slope[0.35 0 0;0 0 0;0 0 0]

Вращение Ramp

  • Slope[0 0 0;0 -pi/5 0;0 -pi/5 0]

Масштабируйте Constant

  • Constant value[1 1 1;1 1 1;1 1 1]

Настройте Нереальный Редактор, чтобы Анимировать Велосипед

Шаг 3: Настройте Экземпляр Animation

  1. В вашей модели Simulink используйте блок Simulation 3D Scene Configuration параметр Open Unreal Editor, чтобы открыть Нереальный Редактор.

  2. Выберите File> New C++ Class. В диалоговом окне Choose Parent Class выберите Show All Classes. Ищите AnimInst. Добавьте AnimInstance родительский класс.

    Unreal Editor choose parent class

  3. Назовите новый класс C++ SimulinkBikeAnimInst. Нажмите Create Class.

    Unreal Editor name parent class

    В диалоговом окне Unreal Editor Message нажмите No, чтобы не открыть Выходной Журнал.

    Unreal Editor confirmation message

  4. В Visual Studio 2017, открытом C:\Local\AutoVrtlEnv\AutoVrtlEnv.sln файл. Перейдите к SimulinkBikeAnimInst.h и SimulinkBikeAnimInst.h исходные файлы.

    Visual studio solution explorer

    Отредактируйте файлы как показано.

    Совет

    В данном примере код включает FWheelRotation и RWheelRotation свойства анимировать велосипедное вращение колеса. Можно добавить дополнительные свойства, чтобы анимировать другие части велосипеда.

     Код: SimulinkBikeAnimInst.h

     Код: SimulinkBikeAnimInst.cpp

  5. Закройте нереальный редактор.

  6. В Visual Studio создайте решение.

    Visual studio build solution selection

Шаг 4: создайте проект анимации

  1. В вашей модели Simulink используйте блок Simulation 3D Scene Configuration параметр Open Unreal Editor, чтобы открыть Нереальный Редактор.

  2. В Нереальном Редакторе, на вкладке Content Browser, под View Options, выбирают Show Engine Content и Show Plugin Content.

    Unreal Editor options

  3. Добавьте mesh анимации. На вкладке Content Browser перейдите к MathWorksSimulation Content> Vehicles> Bicyclist> Meshes.

    Unreal Editor content browser

  4. Выберите Add New> Animation> Animation Blueprint.

    Unreal Editor add animation blueprint

  5. В диалоговом окне Create Animation Blueprint выберите:

    • Parent Class: SimulinkBikeAnimInst

    • Target Skeleton: SK_Bicycle_Skeleton

    Unreal Editor create animation blueprint

    Нажмите OK.

  6. Назовите проект BikeAnimation. Щелкните правой кнопкой и выберите Save.

    Unreal Editor save animation blueprint

  7. Откройте BikeAnimation проект. Установите связи как показано.

    Unreal Editor blueprint connections

    Убедитесь, что вы устанавливаете:

    • Bone to Modify к правильной кости

    • Rotation Mode к Replace Existing

    • Rotation Space к Bone Space

    Unreal Editor blueprint specifications

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

Шаг 5: создайте велосипедный класс C++ агента

  1. В Нереальном Редакторе, на вкладке Content Browser, под View Options, выбирают Show Engine Content и Show Plugin Content.

    Unreal Editor options

  2. От папки MathWorksSimulation C ++ Classes выберите Sim3dActor.

    Unreal Editor content browser

    Щелкните правой кнопкой и выберите Create C++ class derived from Sim3dActor.

    Unreal Editor class actions

    Совет

    Если вы не видите папку MathWorksSimulation C ++ Classes, используйте эти шаги, чтобы проверять, что у вас есть MathWorksSimulation установленный плагин и включил:

    1. На панели инструментов Unreal Editor выберите Edit> Plugins.

    2. В окне Plugins проверьте, что плагин MathWorks Interface перечислен в установленном окне. Если плагин уже не включен, установите флажок Enabled.

      Если вы не видите плагин MathWorks Interface в этом окне, повторите, что шаг 3 в Конфигурирует Среду и вновь открыл редактор от Simulink.

    3. Закройте редактор и вновь откройте его от Simulink.

  3. Назовите новый Sim3dActor BicycleActor. Выберите Public. Нажмите Create Class.

    Unreal Editor class name

  4. В Visual Studio перейдите к BicycleActor.h и BicycleActor.cpp.

    Visual studio solution explorer

    Отредактируйте файлы как показано.

    Совет

    В данном примере код включает логику, чтобы анимировать велосипедный корпус (BIKE_BODY), переднее колесо (FRONT_WHEEL), и заднее колесо (REAR_WHEEL). Можно добавить дополнительную логику, чтобы анимировать другие части велосипеда.

     Код: BicycleActor.h

     Код: BicycleActor.cpp

  5. Закройте нереальный редактор.

  6. Сохраните проект и создайте решение.

    Visual studio build solution selection

Шаг 6: инстанцируйте велосипедного агента

  1. В вашей модели Simulink используйте блок Simulation 3D Scene Configuration параметр Open Unreal Editor, чтобы открыть Нереальный Редактор.

  2. Поместите Велосипедного Агента в сцену.

    Unreal editor bicycle actor placement

  3. Установите тег на то же значение как блок Simulation 3D Actor Transform Set Tag for actor in 3D scene, ActorTag. В данном примере установите значение к Bike1.

    Unreal editor set tag value

Настройте Поле зрения камеры (Необязательно)

Опционально, настройте поле зрения камеры, чтобы заменить представление по умолчанию. Можно использовать или Simulink или проект уровня, чтобы настроить поле зрения камеры. Для рекомендуемой опции используйте Simulink.

Шаг 7: используйте (рекомендуемый) Simulink

Чтобы установить поле зрения камеры, которое следует наряду с велосипедом:

  1. Добавьте эти блоки в модель.

    • Один блок Ramp

    • Один блок Add

    • Три блока Constant

    • Блок Simulation 3D Actor Transform Set

    Соедините и назовите блоки как показано.

    Simulink model block connections

  2. Установите эти параметры блоков.

    БлокУстановки параметров

    Simulation 3D Actor Transform Set: Camera Control

    • Tag for actor in 3D scene, ActorTagMainCamera1

    CamTranslation

    • Constant value[0 -5.1 0.56]

    • Interpret vector parameters as 1-Doff

    CamRotation

    • Constant value[0 0 deg2rad(85)]

    • Interpret vector parameters as 1-Doff

    CamScale

    • Constant value[1 1 1]

    • Interpret vector parameters as 1-Doff

Шаг 7: используйте проект уровня

Заменять поле зрения камеры по умолчанию:

  1. Добавьте агента камеры. Присвойте его как дочерний элемент BicycleActor.

  2. Используйте настройки Transform, чтобы задать местоположение и угол обзора.

    Unreal Editor set actor transformation settings

  3. Откройте проект уровня.

    Unreal Editor open level blueprint selection

  4. В проекте уровня установите эти связи. Если вы щелкаете правой кнопкой по Графику События, чтобы найти узлы, очистите Context Sensitive. Если у вас есть CameraActor, можно перетащить его к Графику События от представления World Outliner в редакторе.

    Unreal Editor blueprint connections

  5. Сохраните проект. Закройте Нереальный Редактор.

Запустите симуляцию

После того, как вы конфигурируете модель Simulink и Нереальную среду Редактора, запускаете симуляцию.

  1. В вашей модели Simulink убедитесь, что вы установили параметры Simulation 3D Scene Configuration на эти значения:

    • Scene sourceUnreal Editor

    • Project — Название и местоположение установленного файла проекта пакета поддержки, например, C:\Local\AutoVrtlEnv\AutoVrtlEnv.uproject.

    • Scene viewScene Origin

  2. Используйте блок Simulation 3D Scene Configuration параметр Open Unreal Editor, чтобы открыть Нереальный Редактор.

  3. Запустите симуляцию.

    1. В модели Simulink нажмите Run.

      Поскольку источник сцен является проектом, открытым в Нереальном Редакторе, симуляция не запускается.

    2. Проверьте, что окно 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 инстанцировал транспортных средств и других активов в Нереальном Engine 3D среда.

    3. В Нереальном Редакторе нажмите Play. Запуски симуляции в сцене в настоящее время открываются в Нереальном Редакторе.

Смотрите также

|

Похожие темы

Внешние веб-сайты