Перейти к основному содержимому

Скачать плагин UE

Ниже приведены ссылки на скачивание. Для разработки исходного кода UE вы можете скомпилировать его самостоятельно. В настоящее время плагин применим только к версии UE5.

ue plugin source

ue 5.1 plugin prebuild

ue 5.2 plugin prebuild

ue 5.3 plugin prebuild

ue 5.4 plugin prebuild

ue 5.5 plugin prebuild

ue 5.6 plugin prebuild

Инструкции по использованию UE

  1. Создайте новый проект в UE

    Подойдут как Blueprint, так и C++ проекты. Если вам нужно дорабатывать плагин, вам необходимо создать проект C++, импортировать персонажа (поза по умолчанию персонажа должна быть T-Pose, а не A-Pose, иначе производительность рук будет ненормальной), затем открыть папку проекта, создать новую папку Plugins, а затем поместить rebocap_unreal_engine_plugin в Plugins. Например, если вы создаете проект testV3, общая структура каталогов выглядит следующим образом:

    pic_left
  2. Снова откройте UE и он автоматически скомпилируется [исходный код опубликован, поэтому он должен быть совместим со всеми версиями]

    При дальнейшей разработке и отладке плагина вы можете использовать Rider, чтобы напрямую открыть [name].uproject для разработки и удобной отладки.

    Вы можете использовать Rider для компиляции и проверки на ошибки компиляции. Если вы используете UE для автоматической компиляции и возникают ошибки, проверьте Saved/Logs/[name].Log. Log, выводимый UE, обычно имеет проблемы с китайской кодировкой, и вам может потребоваться изменить кодировку системы на UTF-8 для правильного просмотра.

  3. Шаги привязки скелета

    • Нажмите на ассет персонажа Skeleton Mesh, щелкните правой кнопкой мыши, чтобы создать новый анимационный блюпринт, и дважды щелкните, чтобы отредактировать анимационный блюпринт. [Если неясно, рекомендуется посмотреть видео]

    • Щелкните правой кнопкой мыши для поиска Rebocap, выберите Rebocap Body Pose и создайте узел, затем подключите человечка с правой стороны узла к Result выходной позы.

    • В левом нижнем углу страницы редактирования блюпринта нажмите плюсик, чтобы создать новую переменную. Тип переменной необходимо найти: ищите Rebocap, выберите RebocapMapData, ссылку на класс, затем перетащите переменную в узел RetargetAsset, только что созданный в блюпринте, и автоматически сгенерируется узел переменной. Затем нажмите кнопку компиляции в левом верхнем углу.

    • Нажмите на только что созданный узел переменной, затем в значении по умолчанию справа нажмите плюсик, чтобы создать новый ассет Map, который автоматически перейдет на новую страницу. На новой странице пользователю необходимо самостоятельно заполнить сопоставление скелета. Обратите внимание, что рекомендуется заполнить все 24 узла, вы можете заполнять в соответствии с именами скелетов Avatar.

      Имена скелетов можно выбирать автоматически, нажав на первого светло-голубого человечка-скелета на верхней панели страницы блюпринта для просмотра соответствующих точек каждого скелета. 24 узла в Rebocap являются стандартными точками скелета человека, а имена скелетов в Rebocap названы по начальной точке кости скелета. Например, в VRM кость с названием LeftUpperLeg начинается на бедре, поэтому в Rebocap она называется L_Hip, начальной точкой LeftFoot является лодыжка, поэтому соответствующее имя L_Ankle, а L_Foot в Rebocap соответствует области носка. В системе наименования UE это обычно называется ball.

      L Collar скелет левого плеча

      L Shoulder скелет левого предплечья

      L Elbow скелет левой нижней части руки

      L Wrist скелет ладони левой руки

      L Hand скелет левого среднего пальца [не будет управляться]

      Если скелетов много, вы можете выбрать подходящие скелеты для маппинга. Например, если есть 6 позвоночников, вы можете выбрать три из них поочередно.

    • Вернитесь на ранее открытую страницу блюпринта (выбранный маппинг скелета нужно сохранить и скомпилировать, чтобы он вступил в силу) и установите значение узла переменной на только что созданный ассет Map.

    • Скомпилируйте еще раз и проверьте на наличие Warnings. Обычно должно быть только 3 Warnings. Если есть ошибка в map скелета, warning укажет, что определенная кость не была найдена.

    • Закройте окно редактирования анимационного блюпринта, нажмите в верхнем меню Window->Virtual Production->Live Link, затем выберите Source->Rebocap Source->conn [port - это номер порта, если номер порта вещания в Rebocap изменен, его нужно изменить здесь]. Если клиент Rebocap открыт, connect будет в состоянии ok; в противном случае - в состоянии bad. Кроме того, пользователь начнет трансляцию данных только после калибровки движения.

    pic_left pic_left
  4. Описание кода

    Основной код, связанный с управлением движением, находится в Source\rebocap\Private\rebocap_pose_node.cpp, в то время как другой код, связанный с периферией, включает вызовы dll и livelink. Функция Init_Foot_Vertices_And_SkeletalData используется для получения позиции скелета по умолчанию и vert точек персонажа, рассчитывая шесть точек на подошвах обеих ног для контакта с землей [6 точек для каждой ноги]. Поскольку это рассчитывается автоматически, это может быть недостаточно точно; пользователи могут найти шесть точек на подошвах ног и передать их для потенциально большей точности.

    PS: Больший размер ног может вызвать подпрыгивание персонажа вверх и вниз. Экстремальный пример: если у персонажа ноги длиной 2 метра, но его рост всего 2 метра, когда он становится на цыпочки и приземляется, если ему нужно касаться пальцами земли, персонаж определенно будет покачиваться вверх и вниз.

  5. Инструкции по упаковке (Packaging)

    • Разработчики

      Для разработчиков, которым нужно упаковать проект, вы можете загрузить последнюю версию плагина (предыдущие версии не могут работать после упаковки). В режиме runtime добавлено управление подключением Livelink. Вы можете обратиться к методам ConnectLiveLink и DisconnectLiveLink в файле Plugins/rebocap_unreal_engine_plugin/Source/rebocap_runtime/Private/RebocapLivelinkManagerDemoWidget.cpp для реализации. Если вам нужно отключить встроенный пользовательский интерфейс плагина, вы можете изменить Plugins/rebocap_unreal_engine_plugin/Source/rebocap_runtime/rebocap_runtime.Build.cs, закомментировать определение макроса USE_REBOCAP_LIVELINK_MANAGER_DEMO и скомпилировать его самостоятельно. Разработчикам, которые помещают плагин в свои проекты, рекомендуется самостоятельно добавить управление пользовательским интерфейсом для подключений livelink.

    • Пользователи Blueprint Добавлены узлы Blueprint для управления Livelink с названиями узлов: Connect to Rebocap Livelink Source, Disconnect to Rebocap Livelink Source pic_left

Примечание:

  1. Если вы используете подключение livelink в Editor, это может привести к занятости канала livelink, что приведет к неудачному подключению в режиме game. Рекомендуется перезапустить Editor и попробовать снова.
  2. Для режима runtime (т.е., standalone или game mode, который запускается после упаковки), так как метод получения вершин меша в режиме runtime еще не найден, автоматическая регистрация скелета не включает подошвы после упаковки, и производительность подошв будет немного хуже, чем в режиме Editor. Эта проблема будет решена в будущем.

Видео-демонстрация работы​

Здесь нет звука, так как это временная версия, больше будет добавлено позже.

Meta Human (или стандартный персонаж Apose), измененный на TPose (конверсия из APose в TPose)​

Примечание: A-поза должна соответствовать официальному стандарту; в противном случае рекомендуется вручную настроить углы самостоятельно. Преобразуйте Apose в файл временных углов Tpose и сохраните его. Для получения конкретной информации обратитесь к руководству внутри сжатого файла ниже.

Скачать