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

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

Дополнительно убедитесь, что:

  • Вам удобно кодировать C++ в Unreal Engine.

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

    Unreal Editor bicycle mesh

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

Настройте модель 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]

Настройте Unreal Editor, чтобы анимировать велосипед

Шаг 3: Настройка образца анимации

  1. В модели Simulink используйте параметр Simulation 3D Scene Configuration Open Unreal Editor блока, чтобы открыть 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 Редактора Message нажмите No, чтобы не открывать журнал Выхода.

    Unreal Editor confirmation message

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

    Visual studio solution explorer

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

    Совет

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

     Код: SimulinkBikeAnimInst.h

     Код: SimulinkBikeAnimInst.cpp

  5. Закройте редактор Unreal.

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

    Visual studio build solution selection

Шаг 4: Создайте концептуальный проект анимации

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

  2. В редакторе Unreal Editor, на вкладке 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. В диалоговом окне «Создание концептуального проекта анимации» выберите:

    • 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: Создайте класс Bicycle Actor C++

  1. В редакторе Unreal Editor, на вкладке 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. На панели редакторов выберите Edit > Plugins.

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

      Если вы не видите MathWorks Interface плагина в этом окне, повторите шаг 3 в Configure Environment и снова откройте редактор из 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. Закройте редактор Unreal.

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

    Visual studio build solution selection

Шаг 6: Создайте экземпляр велосипедного актёра

  1. В модели Simulink используйте параметр Simulation 3D Scene Configuration Open Unreal Editor блока, чтобы открыть 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. Сохраните проект. Закройте редактор Unreal.

Выполняйте симуляцию

После настройки модели Simulink и окружения Unreal Editor запустите симуляцию.

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

    • Scene sourceUnreal Editor

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

    • Scene viewScene Origin

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

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

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

      Поскольку источником сцен является проект, открытый в Unreal Editor, симуляция не запускается.

    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 создала экземпляры транспортных средств и других активов в среде 3D Unreal Engine.

    3. В редакторе Unreal Editor нажмите Play. Симуляция выполняется в сцене, открытой в редакторе Unreal.

См. также

|

Похожие темы

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