exponenta event banner

Анимация пользовательских актёров в нереальном редакторе

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

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

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

  • Проект Нереальный редактор C++ содержит скелетную сетку актера. В этом примере используется велосипедная сетка.

    Unreal Editor bicycle mesh

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

Настройка модели Simulink

Шаг 1: Настройка модели Simulink

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

  • Два блока пандуса

  • Блок константы

  • Имитация 3D Блок набора преобразований актера

  • Блок моделирования 3D конфигурации сцены

Подключите блоки и присвойте им имя, как показано на рисунке.

Simulink model with connected blocks

Шаг 2: Настройка блоков

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

БлокПараметры настройки

Моделирование 3D конфигурация сцены

  • Источник сцены - Unreal Editor

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

  • Сцена - Scene Origin

Симуляция 3D Набор преобразований актера

  • Вкладка «Настройка актера»:

    • Тэг для актера в 3D сцене, ActorTag - Bike1

      Примечание

      Этот тег должен совпадать с именем тега Unreal Editor на шаге 6.

    • Количество деталей на одного задаваемого субъекта, NumberOfParts - 3

  • Закладка «Начальные значения»:

    • Начальные значения массива для преобразования актера на деталь, Translation - [0 0 0;0 0 0;0 0 0]

    • Начальные значения массива для поворота актера на деталь, Поворот - [0 0 0;0 0 0;0 0 0]

    • Начальные значения массива для масштабирования по частям, Масштаб - [1 1 1;1 1 1;1 1 1]

Клин перевода

  • Уклон - [0.35 0 0;0 0 0;0 0 0]

Рампа вращения

  • Уклон - [0 0 0;0 -pi/5 0;0 -pi/5 0]

Константа масштабирования

  • Постоянное значение - [1 1 1;1 1 1;1 1 1]

Настройка нереального редактора для анимации велосипеда

Шаг 3: Настройка экземпляра анимации

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

  2. Выберите «Файл» > «Новый класс C++». В диалоговом окне «Выбор родительского класса» выберите «Показать все классы». Поиск AnimInst. Добавить AnimInstance родительский класс.

    Unreal Editor choose parent class

  3. Назовите новый класс C++ SimulinkBikeAnimInst. Щелкните Создать класс.

    Unreal Editor name parent class

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

    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. Закройте нереальный редактор.

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

    Visual studio build solution selection

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

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

  2. В редакторе нереальных компонентов на вкладке «Библиотека компонентов» в разделе «Параметры вида» выберите «Показать содержимое модуля» и «Показать содержимое подключаемого модуля».

    Unreal Editor options

  3. Добавьте анимационную сетку. На вкладке «Библиотека компонентов» перейдите в раздел «Математические структуры» «Моделирование содержимого» > «Транспортные средства» > «Бициклист» > «Сетки».

    Unreal Editor content browser

  4. Выберите «Добавить» > «Анимация» > «Проект анимации».

    Unreal Editor add animation blueprint

  5. В диалоговом окне «Создание проекта анимации» выберите:

    • Родительский класс: SimulinkBikeAnimInst

    • Целевой каркас: SK_Bicycle_Skeleton

    Unreal Editor create animation blueprint

    Нажмите кнопку ОК.

  6. Назовите проект BikeAnimation. Щелкните правой кнопкой мыши и выберите «Сохранить».

    Unreal Editor save animation blueprint

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

    Unreal Editor blueprint connections

    Убедитесь, что установлены следующие параметры:

    • Кость для изменения до правильной кости

    • Режим поворота для Replace Existing

    • Пространство вращения для Bone Space

    Unreal Editor blueprint specifications

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

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

  1. В редакторе нереальных компонентов на вкладке «Библиотека компонентов» в разделе «Параметры вида» выберите «Показать содержимое модуля» и «Показать содержимое подключаемого модуля».

    Unreal Editor options

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

    Unreal Editor content browser

    Щелкните правой кнопкой мыши и выберите Создать класс C++, полученный из Sim3dActor.

    Unreal Editor class actions

    Совет

    Если папка MathWoriveSimulation C++ Classes не отображается, выполните следующие действия для проверки наличия MathWorksSimulation подключаемый модуль установлен и включен:

    1. На панели инструментов «Нереальный редактор» выберите «Редактирование» > «Подключаемые модули».

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

      Если подключаемый модуль MathWorks Interface не отображается в этом окне, повторите шаг 3 в разделе Настройка среды и снова откройте редактор из Simulink.

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

  3. Назовите новый Sim3dActor BicycleActor. Выберите Открытый (Public). Щелкните Создать класс.

    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 используйте параметр «Открыть нереальный редактор» блока «Моделирование 3D Конфигурация сцены», чтобы открыть «Нереальный редактор».

  2. Поместите актёра велосипеда на место преступления.

    Unreal editor bicycle actor placement

  3. Установите для тега то же значение, что и для блока «Simulation 3D Actor Transform Set Tag» для актера в сцене «3D Tag». В этом примере задайте значение Bike1.

    Unreal editor set tag value

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

При необходимости можно настроить вид камеры для переопределения вида по умолчанию. Для настройки вида камеры можно использовать Simulink или проект уровня. Для рекомендуемого варианта используйте Simulink.

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

Настройка вида камеры вместе с велосипедом:

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

    • Один наклонный блок

    • Один блок добавления

    • Три постоянных блока

    • Имитация 3D Блок набора преобразований актера

    Подключите блоки и присвойте им имя, как показано на рисунке.

    Simulink model block connections

  2. Задайте эти параметры блока.

    БлокПараметры настройки

    Симуляция 3D Блок преобразования актера: Управление камерой

    • Тэг для актера в 3D сцене, ActorTag - MainCamera1

    CamTranslation

    • Постоянное значение - [0 -5.1 0.56]

    • Интерпретировать векторные параметры как 1-D - off

    CamRotation

    • Постоянное значение - [0 0 deg2rad(85)]

    • Интерпретировать векторные параметры как 1-D - off

    CamScale

    • Постоянное значение - [1 1 1]

    • Интерпретировать векторные параметры как 1-D - off

Шаг 7. Использование концептуального проекта на уровне

Чтобы переопределить вид камеры по умолчанию, выполните следующие действия.

  1. Добавьте актера камеры. Назначьте его в качестве дочернего объекта BicearActor.

  2. Параметры преобразования используются для задания местоположения и угла обзора.

    Unreal Editor set actor transformation settings

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

    Unreal Editor open level blueprint selection

  4. В проекте уровня выполните эти соединения. Если щелкнуть правой кнопкой мыши график событий, чтобы найти узлы, снимите флажок Контекстно-зависимый. Если у вас есть CamureActor, его можно перетащить в график событий из представления World Outliner в редакторе.

    Unreal Editor blueprint connections

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

Запустить моделирование

После настройки модели Simulink и среды Unreal Editor выполните моделирование.

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

    • Источник сцены - Unreal Editor

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

    • Сцена - Scene Origin

  2. Используйте параметр «Открыть нереальный редактор» блока «Моделирование» 3D «Конфигурация сцены», чтобы открыть «Нереальный редактор».

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

    3. В редакторе нереальных файлов нажмите кнопку «Воспроизвести». Моделирование выполняется в сцене, открытой в настоящий момент в редакторе Unreal Editor.

См. также

|

Связанные темы

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