Как создать файл vrm

Обновлено: 21.11.2024

Это руководство было написано для использования с модом CustomAvatar версии 5.2 и выше. Этот мод требует, чтобы вы скомпилировали свой аватар в .avatar. Я использую модель VRM в качестве примера, что не означает, что это руководство по VRM для .avatar, это просто пример. Все, что вам нужно, это 3D-модель, которую вы можете импортировать в Blender.
Если у вас есть файл VRM, вы также можете сначала проверить Virtual Motion Capture/VMC Avatar или LIV, так как оба программного обеспечения используют файлы VRM и используют blendshapes и динамические кости (пружины в VRM). Если вы хотите использовать его с пользовательским аватаром, следуйте этому руководству.

Мой аватар в игре и я рублю несколько летающих кубов! Вот видеоруководство по созданию аватара FBT

Чтобы использовать аватар с плагином CustomAvatar, вам нужен аватар в определенном формате — .avatar . Вы не можете просто преобразовать VRM в .avatar, поэтому в этом руководстве я покажу вам, что нужно сделать, чтобы подготовить .avatar для полного отслеживания тела. Вы можете иметь свой аватар в другом формате, но он должен быть импортируемым в Blender или быть fbx, который вы можете напрямую импортировать в Unity. Я использую аватары VRM, так что я буду использовать это в качестве примера. Ваш аватар может быть в любом формате, который вы можете импортировать в Blender, будь то .fbx (наиболее распространенный) или .pmx (из MikuMikuDance).

Экспорт VRM
Сначала вам нужно экспортировать модель из VRoid Studio. Чтобы иметь возможность работать с ним, мне пришлось выбрать, что любой может выступать в роли этого аватара.

Блендер

Запустите Blender и перейдите к Edit -> Preferences. Нажмите кнопку «Установить» и найдите только что загруженный zip-архив. Установите его. После того, как плагин протестирован, он будет отображаться в списке плагинов как активный (с галочкой). Теперь, если вы перейдете в меню «Файл» -> «Импорт», вы увидите новую опцию импорта для .vrm (или вы можете нажать «Импорт» в подключаемом модуле CATS).

Если вы не видите возможность импортировать формат вашей модели, поищите подключаемый модуль, позволяющий это сделать. Например, для VRM существует плагин VRM Importer

Удалите три объекта в сцене, так как они вам не понадобятся (просто выберите их мышью и нажмите "Удалить"), и импортируйте ранее экспортированную модель VRM.

Вы должны увидеть свою модель, но арматура выглядит сломанной. Получите доступ к плагину блендера CATS. Нажмите N, затем найдите вкладку CATS и нажмите на нее. Нажмите «Исправить модель». Модель должна отображать текстуры, и вы должны правильно видеть кости.

На этом этапе вы можете экспортировать модель, но если вы хотите, чтобы ваш аватар действительно держал сабли в игре, вы должны запустить режим позы и создать сжатые кулаки. Вращайте кости на одном из аватаров руками. Что я делаю, так это отмечаю опцию оси X в опциях, чтобы работать обеими руками одновременно. Если вы забыли это сделать, просто выберите кости, которые вы повернули, CTRL+C. Затем выберите те же кости с другой стороны и нажмите CTRL+SHIFT+V. После того, как вы создадите сжатые кулаки (обратите внимание, что пальцы должны быть сомкнуты вокруг воображаемой сабли), вы можете сохранить позу в ключ формы. Затем очистите все преобразования (щелкните правой кнопкой мыши вид) и остановите режим позы (оба находятся на вкладке плагина CATS). Доступ к ключам формы можно получить в Unity, щелкнув тело префаба в окне иерархии в разделе Skinned mesh renderer в инспекторе. (Если вы создаете аватар для VRChat, вы можете перейти к отслеживанию глаз и виземам и создать дополнительные ключи формы, если вы хотите, чтобы ваш аватар мог моргать, отслеживать глаза и синхронизировать губы. Вам нужно выбрать виземы с закрытыми глазами. для глаз и выберите 3 соответствующие виземы рта (A, O и CH), из которых будет сгенерировано 15).

Если аватар предназначен только для Beat Saber, вам не нужно сохранять позу в ключ формы, вы можете просто поместить аватар в позу и экспортировать ее. Если вам нужен аватар для других игр, таких как VRChat, вам следует создать ключи формы.

Оптимизация
Если вы попытаетесь экспортировать модель через плагин CATS, он может сказать вам, что у вас должно быть максимум 4 текстуры, если вы используете больше (я не знаю, является ли это стандартом, но VRChat SDK покажет вам ошибка, если у вас больше материалов, чем 4, мои аватары с 14-ю текстурами работали нормально, но их производительность была ниже, чем при использовании только 1 текстуры. В любом случае, с меньшим количеством текстур легче работать, поэтому я предлагаю вам сделать это).

В разделе Оптимизация плагина CATS вы можете при необходимости атласировать свои материалы (требуется другой плагин). На вкладке «Материал» вы можете объединить одни и те же материалы (что уже должно было произойти во время «Исправить модель») в один и преобразовать их в png, если это необходимо. В Atlas вы можете объединить все или только выбранные материалы в одну текстуру. Сначала вам нужно щелкнуть по сгенерированному списку, а затем вы можете выбрать текстуры для атласа. Затем нажмите «Сохранить атлас» и выберите место, где его сохранить.Он не будет частью fbx, который вы будете экспортировать, поэтому вам придется вручную скопировать его в папку «Материалы» в вашем проекте Unity. Создание атласа экономит много работы в Unity, где вам нужно установить все шейдеры на шейдеры Beat Saber и добавить текстуры (примечание: если ваша модель выглядит тусклой даже с неосвещенными шейдерами, скорее всего, это потому, что Unity по умолчанию использует серый цвет для основного цвета. - изменить его на белый).

Если ваша модель имеет больше треугольников, чем 70 000, вы должны прорешить свою модель. Это можно найти в Decimation . Если ваша модель превышает количество треугольников, вы должны сделать это до создания каких-либо ключей формы. Есть несколько вариантов «Безопасный», который не влияет ни на какие ключи формы, «Половина», который сломает некоторые, и «Полный», который полностью избавит от всех ключей формы. Custom позволяет вам уничтожать части вашей модели. Оптимальное количество треугольников должно быть меньше 32 000.

Когда вы закончите оптимизацию своего аватара, вы можете экспортировать его. При экспорте в Blender, когда вы хотите сохранить текстуры в файле fxb, вам необходимо установить для режима пути значение «Копировать», а значок рядом с ним должен находиться в состоянии «Встроить текстуры».

Единство

Убедитесь, что вы используете правильный Unity. Я использую 2019.4.18f1.

Затем скопируйте две библиотеки — DynamicBone.dll и FinalIK.dll из Beat_Saber_Data/Managed в Assets/Libraries только что добавленного проекта.

Щелкните правой кнопкой мыши папку Assets (или выберите Asset->Import New Asset) и импортируйте экспортированный файл fbx через Import New Asset. Затем нажмите на свою модель в Активах и проверьте Инспектор.

Нажмите на вкладку буровой установки и измените ее с "Общий" на "Гуманоид" . Оставьте «Создать из этого аватара» и нажмите «Применить». Он должен быть уже настроен, если вы нажмете «Настроить», вы увидите, что все кости отображаются правильно и отображаются зеленым цветом. Если они выделены красным цветом, вам придется вручную перетаскивать кости в нужные места (или попробовать Automap из параметров отображения). Также возможно, что некоторые кости будут смещены, поэтому удалите их и назначьте им правильные места. Unity покажет вам красную ошибку в окне консоли и не позволит вам продолжить, пока вы ее не исправите.

Затем нажмите «Материалы». Здесь извлеките и материалы, и текстуры (если они включены в файл fbx). Затем вы можете связать свои материалы (обычно это делается автоматически).

Нажмите на маленькую стрелку рядом с вашей моделью, и она должна показать вам арматуру, корпус и все остальное в файле fbx. Нажмите на сетку тела. На вкладке инспектора, если вы прокрутите вниз, вы увидите список материалов. Здесь вам нужно будет изменить шейдеры на шейдеры BeatSaber, иначе ваш аватар будет просто чисто белым в игре. Многие шейдеры Beat Saber не работают. В основном я использую шейдеры UnlitGlow, потому что хочу, чтобы мой аватар светился в темной среде Beat Saber. Шейдеры CellShading работают, поэтому вы можете поиграть с ними или загрузить дополнительные шейдеры Beat Saber, созданные сообществом. Например, шейдеры Complete Beat Saber, предназначенные для Custom Sabers или Platforms, по-прежнему отлично подходят для аватаров. Я расскажу о шейдерах UnlitGlow, так как я использую их, и их здорово использовать, чтобы увидеть, все ли работает так, как задумано. Существует два шейдера UnlitGlow: UnlitGlow для текстур без прозрачных частей и UnlitGlow Cutout Dithered для текстур с прозрачными частями. Если возможно, используйте непрозрачный шейдер, так как шейдеры с прозрачностью более требовательны.

После изменения шейдера ваш аватар в основном станет серым, что является нормальным явлением. Вам нужно настроить его. Unity по умолчанию имеет серый цвет, если для вашей модели не заданы базовые цвета. Измените цвет на белый (так как люди обычно работают с ним). Если текстура не отображается, вам нужно загрузить текстуру. Обратите внимание: если вы не встроили текстуры, вам придется сначала скопировать их в папку Assets Unity (создайте там папку Materials и поместите их туда).

После этого вы можете начать процесс создания вашего игрового объекта. Создайте пустой игровой объект (щелкните правой кнопкой мыши в окне Hierarchy) и установите его позицию на 0,0,0. Переименуйте его в название модели. В моем случае аврора. Затем, если вам не нужно полное отслеживание тела, добавьте 4 пустых игровых объекта в созданный вами игровой объект. Назовите их Голова, Тело, Левая Рука, Правая Рука. (FBT нужны Pelvis , LeftLeg , RightLeg в дополнение к этим).

Обратите внимание, что названия игровых объектов должны быть точными. Если вы не назовете их правильно, вы, вероятно, столкнетесь с ошибкой о том, что «[имя игрового объекта] отсутствует».

Создайте куб и установите его высоту в человеческий рост. В моем случае я установил его на 1,8. Установите положение так, чтобы нижняя часть куба находилась в точке 0,0,0. Это означает, что в моем случае вам придется установить его на y = 0,9. Перетащите свою модель в сцену и поместите ее на 0,0,0. Затем масштабируйте его до нужной высоты. В моем случае это что-то между 1,6 и 1,8. Размер моей модели 1.6, но я его немного масштабировал (до 1.07) - мой сосед по квартире выше меня.Вы можете удалить или скрыть куб (чтобы скрыть его, снимите флажок напротив его имени на вкладке инспектора).

Вам нужно будет разместить и повернуть созданные объекты. Объект тела может оставаться там, где он есть. Нажмите на голову и переместите ее туда, где будет ваш HMD. Где-то вокруг глаз/носа с осью Z вперед, осью Y вверх. Объекты правой и левой руки должны находиться немного впереди ваших рук. С осью Z вперед (вдоль лезвия сабли) и Y к запястью. Трекеры таза и ступней размещаются и ориентируются в зависимости от используемых вами трекеров. Для трекеров для ног это обычно означает, что они располагаются на вашем подъеме, где Z идет вверх, а Y идет вперед, наклоняясь к вашим пальцам ног. Если ваш трекер таза находится впереди, как у меня, ось Z идет вперед, а Y идет вверх. Обратите внимание, что для правильной работы отслеживания всего тела вам может потребоваться сначала отредактировать вашу оснастку, чтобы кости были в правильных местах и ​​правильно повернуты. (Мне было трудно понять, что правильно, поскольку исходная установка, которая у меня была, не работала, тогда я решил посмотреть, смогу ли я заставить ее работать в VRChat. То, что работает в VRChat, обычно работает в Beat Saber. Кости на 0 устраняет проблемы с ногами (если нет, вы должны выровнять кости в Блендере). В режиме редактирования каркаса нажмите на кость, выберите все, нажав A, и нажмите ALT + R)

Затем перетащите свою модель в окне "Иерархия" на игровой объект с его именем. Теперь для каждого вашего объекта нужно найти соответствующую кость и создать там пустой игровой объект. Затем вы перетаскиваете объект в соответствующий объект, который вы создали ранее. Более конкретно. Вы перейдете в своей арматуре к голове и создадите там пустой объект. Вы перетащите этот объект в голову и переименуете его в HeadTarget. Вы сделаете то же самое для оставшихся объектов, которые у вас есть, назвав их LeftHandTarget , RightHandTarget , PelvisTarget , LeftLegTarget и RightLegTarget .

Когда у вас есть все объекты и цели, вам нужно будет добавить в модель два компонента. Нажмите на корень вашей модели в окне Hierarchy и добавьте компонент VRIK Manager. Затем свяжите цели в VRIK Manager с созданными вами. Вы можете либо перетащить их туда, либо выбрать из списка, нажав на точку рядом с пустым полем. Если вы создаете аватар для полного отслеживания тела, снимите флажок «Plant Feet» и установите Leg_Position Weight и Leg_Rotation Weight для каждой ноги на некоторые ненулевые значения, близкие к 1, в VRIK Manager.

Нажмите корневой объект и добавьте дескриптор аватара. Заполните информацию в дескрипторе. Чтобы получить миниатюру, вам нужно иметь изображение в своих активах с текстурой, установленной на спрайт (2D и пользовательский интерфейс), а затем вы можете перетащить ее в компонент дескриптора.

На этом этапе вы можете добавить анимацию или динамические кости. Когда у вас все будет так, как вы хотите, вы можете экспортировать свой аватар.

Все, что вам нужно сделать, это нажать на Avatar Exporter и нажать Export. Если вы хотите повторно экспортировать аватар в файл с тем же именем, обратите внимание, что вы не можете. Он не перезапишет файл, поэтому либо удалите предыдущий файл, либо экспортируйте его под другим именем. (Если вы не видите средство экспорта, нажмите «Окно», и там вы должны увидеть средство экспорта аватаров. Просто нажмите на него, и оно отобразится.)

Если вы хотите записывать или транслировать, чтобы люди могли видеть ваш аватар, вы можете использовать мод CameraPlus или Camera2, которые доступны в ModAssistant. CameraPlus управляется из окна Beat Saber (щелкните окно правой кнопкой мыши, чтобы открыть CameraPlus), в то время как Camera2 управляется из игры.

Спасибо сообществу за создание этих модов и всего остального, что делает Beat Saber интересным для игроков и зрителей!

В этом руководстве я предполагаю, что вы уже знакомы с основами Unity и, вероятно, ранее загружали аватар в VRChat. Если вы этого не сделали, вы все равно можете попробовать продолжить, но некоторые описания могут быть слишком краткими.

Более подробное руководство со скриншотами можно найти здесь.

Вам потребуется Unity 2018.1.1f1 или другая последняя версия Unity. Вам также потребуется импортировать пакет UniVRM в ваш проект Unity, чтобы создать файл VRM.

Если вы знаете японский язык, вы также можете прочитать официальную документацию UniVRM.

Подготовка аватара

Я предполагаю, что ваш сфальсифицированный гуманоидный аватар в формате FBX уже импортирован в Unity. Убедитесь, что риг настроен на гуманоида и находится в Т-образной позе.

В формате VRM ключи формы сильно влияют на размер файла. Если размер файла вашей модели слишком велик, попробуйте разделить части с ключами формы на их собственную сетку и удалить ключи формы на других объектах сетки в Blender.

  • Стандартный шейдер Unity
  • VRM/неосвещенная текстура
  • VRM/UnlitCutout
  • VRM/UnlitTransparent
  • VRM/UnlitTransparentZWrite
  • VRM/MToon

Если вы не можете найти материалы для своего импортированного аватара, вы можете экспортировать их на вкладке материалов префаба.

Создание базового файла VRM

Поместите свой префаб в сцену, выполните дальнейшую базовую настройку, которая может вам понадобиться, а затем выберите параметр экспорта гуманоида в меню VRM в строке меню. Введите свое имя в качестве автора, установите два флажка и экспортируйте базовый файл VRM.

После этого создайте новую папку в своем проекте Unity и перетащите туда файл VRM, чтобы повторно импортировать свой аватар со всеми примененными компонентами VRM.

Если при импорте файла VRM возникает ошибка JSON, попробуйте установить регион Windows таким образом, чтобы в числах с плавающей точкой в ​​качестве десятичного символа использовалась точка.

Настройка файла VRM

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

Мета VRM: этот компонент содержит информацию о модели и создателе, а также о том, для каких типов контента модель может использоваться и под какой лицензией.

VRM Blend Shape Proxy: дважды щелкните BlendShape (BlendShapeAvatar), и вы перейдете к обзору клипов blend shape. Для каждого, который вы хотите настроить (возможно, A, I, U, E, O, BLINK, JOY, ANGRY, SORROW, FUN), выберите его, затем откройте сетку внизу, чтобы настроить значения формы смешивания. Когда они будут настроены должным образом, нажмите «Применить» и работайте над следующим. После того, как все настроено, вы можете воспроизвести сцену и протестировать клипы blendshape, используя компонент на аватаре.

VRM от первого лица: смещение от первого лица, вероятно, похоже на то, что необходимо настроить для аватара VRChat, и определяет положение камеры. Я не уверен, происходит ли смещение от земли или от указанной кости. Настройки рендерера можно использовать для рендеринга разных частей (например, с головой или без нее) в зависимости от того, как просматривается аватар.

VRM Look At Head: я не уверен, что это обычно нужно настраивать. Возможно нет. Тем не менее, это полезно для настройки следующего компонента. Для этого добавьте на сцену небольшой объект перед головой вашего персонажа и введите его как цель в этом компоненте. Также включите Draw Gizmo .

VRM Look At Bone Applyer: этот компонент позволяет настраивать диапазон движения глаз вашего аватара. Установив цель для предыдущего компонента, включите здесь Draw Gizmo и воспроизведите сцену. Перемещая цель, вы сможете увидеть, как глаза вашего аватара следят за ней. Вы можете отрегулировать ползунки этого компонента, чтобы отрегулировать диапазон движения, в основном с помощью ползунков Curve Y Range Degrees. Когда вы довольны своими настройками, щелкните компонент правой кнопкой мыши, выберите «Копировать компонент» и остановите сцену. Значения будут сброшены, но вы можете вернуть их, снова щелкнув правой кнопкой мыши имя компонента и вставив скопированные значения.

Вы можете добавить скрипт Blinker для предварительного просмотра мигающей анимации вашего аватара. Существует также компонент AIUEO, который можно добавить для предварительного просмотра анимации рта.

VRM предлагает собственную альтернативу динамическим костям, называемым пружинными костями. Они менее гибкие, но могут нормально работать. Компоненты пружинных костей могут быть добавлены к вторичному объекту внутри вашего аватара. Добавьте корневые кости частей вашего каркаса, которые вы хотите анимировать, к корневым костям и играйте со значениями, пока не будете довольны результатом. Вы также можете иметь несколько компонентов, если вам нужны разные настройки для разных корневых костей. Вы также можете добавить компоненты VRM Spring Bone Collider Group к своему скелету, чтобы пружинящие кости не врезались в ваше тело.

После того, как все настроено, вы можете экспортировать окончательный файл VRM. Вы делаете это еще раз, выбирая запись экспорта гуманоида в меню VRM. На этот раз убедитесь, что два флажка сняты.

Перейдите на страницу выпуска GitHub.
Нам понадобится пакет unitypackage для UniVRM. Последняя версия по состоянию на 14 июня 2019 г. — "UniVRM-0.53.0_6b07.unitypackage".

Создать проект для создания VRM

Откройте Unity и создайте новый проект.
Введите узнаваемое имя в поле [Имя проекта] и нажмите [Создать проект].

Измените цвет направленного света на белый, чтобы цвета отображались правильно.

Перетащите загруженный пакет unitypackage UniVRM в папку Assets.

Появится диалоговое окно [Импорт пакета Unity]. Нажмите [Импорт].

Импорт завершен, если вы видите меню [VRM] в строке меню Unity.

Добавление модели FBX

Создайте папку для импорта моделей FBX.
Щелкните правой кнопкой мыши папку Assets и выберите [Создать] > [Папка], чтобы создать новую папку.

Вы можете назвать его так, как вам будет легко узнать. На этот раз мы назовем папку «Модель».

Перетащите файлы FBX и текстур для преобразования в VRM в папку «Модель».
В этом примере мы преобразуем FBX от Алисии Солид в VRM.

После того, как вы закончите копирование набора файлов FBX, настройте файл FBX как модель гуманоида.

На панели инспектора щелкните вкладку [Rig] (если панель инспектора не отображается, выберите в меню [Окно] > [Общие] > [Инспектор]).

Настройки кости гуманоида

После того, как вы настроили файл FBX как модель гуманоида, проверьте конфигурацию костей.
Нажмите [Настроить…].
Если вас попросят сохранить сцену, сохраните ее под любым именем.

Экран меняется и показывает экран настройки кости гуманоида.
Если модель распознается с правильными костями, все части тела в Инспекторе становятся зелеными.
Если это так, вам нечего делать, поэтому нажмите [Готово].

Если некоторые части тела окрашены в красный цвет, распознавание костей затруднено. В этом случае обратитесь к разделу «Устранение неполадок: неверная конфигурация кости гуманоида».

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

Поместите FBX, сконфигурированный как модель гуманоида, в сцену.
Перетащите файл FBX из папки «Проект» в окно «Сцена».

Когда вы выбираете объект для тела или глаза, вы можете видеть, что материал назначается объекту.
Измените материал для каждого шейдера на VRM/MToon, который распознается файлом VRM. Кроме того, цвет тени по умолчанию установлен на розовый, измените его на белый или серый.

В зависимости от версии Unity вы не сможете изменять материалы.
В этом случае см. раздел «Устранение неполадок: невозможно редактировать материалы».

Создать метаданные для VRM

Когда вы закончите настройку материалов, выберите корневой объект модели (объект наверху иерархии),
затем в строке меню выберите [VRM] > [UniVRM-0.53] > [Экспорт гуманоидов].

Появится окно с именем VRM Exporter. Введите название модели в поле [Название] и имя автора в поле [Автор], затем нажмите [Экспорт].

Если вы видите показанное ниже сообщение об ошибке, файл FBX не настроен как модель гуманоида. Пожалуйста, обратитесь к настройкам кости гуманоида, чтобы настроить ее правильно.
Ошибка: Animator.avatar не гуманоид. Пожалуйста, измените AnimationType модели на гуманоид. Требовать

Вам будет предложено указать место для сохранения файла. Создайте новую папку для удобства управления.
Вы можете назвать его так, как вам будет легко узнать. На этот раз мы назовем папку «VRMmeta».

Вы не сможете экспортировать файл, если во время экспорта возникнет какая-либо ошибка.
Распространенной причиной может быть отсутствие назначения данных материала и сетки.
Это могло произойти при удалении некоторых объектов во время установки. Пожалуйста, подтвердите, что вы следовали инструкциям до этого момента.

Редактировать метаданные для VRM

После завершения экспорта метаданных для VRM автоматически создается сборный файл. Перетащите префаб на сцену.
При желании вы можете удалить отредактированную вами модель со сцены.

Когда вы выберете объект, вы увидите, что к объекту добавляются различные скрипты, такие как VRM Meta. Здесь вы можете ввести информацию и условия использования модели. Здесь мы объясним некоторые из наиболее важных элементов.

Информация

< tr >
ЭлементОбязательный
НазваниеНазвание модели
ВерсияВерсия модели
АвторИмя автора
Контактная информацияВаши контакты
СсылкаЕсли эта модель является производной от родительского творения, укажите ссылку на родительский элемент (URL и т. д.)
Эскиз th>Эскиз изображения

Лицензия

Человек, который может выступать с этим аватаром.
Человек, которому разрешено давать персону аватару. Действовать с этим аватаром разрешено только указанному здесь лицу.
- Только автор
- Лицо с явной лицензией (на данный момент несовместимо с Virtual Cast)
- Все

Насильственные действия с использованием этого аватара
Разрешены ли действия, связанные с насилием, с этим аватаром.
- Запретить
- Разрешить

Действия сексуального характера с использованием этого аватара
Разрешены ли действия, связанные с выражением сексуального характера, с этим аватаром.
- Запретить
- Разрешить

Для коммерческого использования
Разрешено ли коммерческое использование этого аватара.
- Запретить
- Разрешить

Другие настройки см. на GitHub UniVRM.

Экспорт VRM

После того, как вы закончите вводить необходимые метаданные VRM, пришло время экспортировать их как VRM.
Выберите корневой объект модели и в меню нажмите [VRM] > [UniVRM-0.49] > [Экспорт гуманоида].

Не нужно ничего менять, просто нажмите [Экспорт], чтобы сохранить его в любом каталоге.
Файл, который вы только что экспортировали, является файлом VRM.

В этой статье мы объясним, как преобразовать файл гуманоидного аватара FBX в VRM.

Установите UniVRM

Мы преобразуем FBX в VRM с помощью Unity. Если вы хотите загрузить модель в STYLY, используйте Unity 2019.3.x.

Для начала откройте Unity и импортируйте UniVRM, чтобы использовать файл VRM в Unity.

Загрузите последний пакет .unitypackage со следующего сайта.

Откройте этот URL. Появится показанный ниже экран. Подойдет тот, что выделен красным; в общем, загрузите последнюю версию.

После загрузки откройте новый проект в Unity.

Дважды щелкните загруженный ранее файл unitypackage UniVRM, чтобы открыть следующее окно на экране Unity. Нажмите «Все», а затем «Импорт».

Теперь вы можете использовать файлы VRM в Unity!

Настройка данных модели

Настроить кости

Импортируйте модель FBX, которую вы хотите преобразовать в VRM, в Unity.

Вы можете импортировать файл, перетащив его в папку Assets в окне Project.

Выберите импортированную модель и нажмите вкладку «Риг» в окне инспектора. Затем установите для параметра "Тип анимации" значение "Гуманоид" и нажмите "Применить".

Кнопка «Настроить…» над ней будет активирована. Щелкните ее, чтобы открыть другую сцену.

В этой сцене мы проверим кости. Проблемные кости показаны красным, поэтому, если у вас нет «красных» костей, вернитесь к исходной сцене, нажав «Готово» внизу.

Если у вас есть красные, вам нужно их исправить. Некоторые ошибки могли быть вызваны некорректной автоматической идентификацией при импорте FBX.

Проверьте кости – есть ошибки…

В этом окне настройки костей основные кости показаны сплошным кружком, выделенным в красной рамке ниже. Пунктирный круг, выделенный в синем поле, означает, что указанная кость не является необходимой.

Обязательные и необязательные кости.

Эти маркеры могут быть полезны при поиске ошибок.

В показанном здесь случае установка Spine1 в качестве Spine кажется проблематичной.

Чтобы это исправить, мы установили кость «Позвоночник2» как «Позвоночник», которая изначально была назначена груди, которая не является основной костью. Однако такого рода исправления могли вызвать проблему, например, при загрузке модели в VRoid Hub (на самом деле мы не могли загрузить модель без «Сундука», поэтому мы добавили его заново). Поэтому мы рекомендуем добавить кость другим способом (например, добавить новую кость с помощью Blender).

Если вы что-то исправили, нажмите «Применить», а затем «Готово».

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

После завершения костей временно поместите объект в сцену.

Далее мы настроим шейдер для материала.

Вы не можете изменить шейдер материала, который был установлен при импорте модели, поэтому мы должны создать новый материал и назначить его. Щелкните правой кнопкой мыши окно проекта и выберите «Создать > Материал», чтобы создать новый материал. Вы можете назначить материал, перетащив его в модель в представлении «Сцена».

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

Установите текстуру

Выберите созданный материал (①) и выберите шейдер (④) в разделе «VRM» (③) из раскрывающегося списка в Инспекторе (②).

Для VRM разработчик рекомендует использовать шейдеры в разделе «VRM» (③) или «Стандартный» вверху.

Изменить шейдер

В этом примере мы назначили «MToon», но также часто используется «UnlitTexture».

Мы рекомендуем выбирать все материалы и менять шейдер одновременно.

Другие настройки

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

・ Позиция модели > Находится ли она в начале координат (0,0,0)?

・ Масштаб модели > Коэффициенты масштабирования X, Y и Z установлены равными 1,0?

・ Направление модели > Направлена ​​ли она в направлении оси Z?

Проверив их, мы, наконец, начинаем конвертировать модель.

Преобразуем модель

Проверив вышеизложенное, выберите объект в окне "Иерархия" (①) и выберите "VRM > UniVRM > Экспорт гуманоида" в меню (②).

Конвертировать в VRM.

Появится окно, показанное ниже. Заполните «Автор», чтобы активировать кнопку «Экспорт». Установите все флажки и выберите «Экспорт».

При нажатии «Экспорт» открывается окно, в котором вы выбираете имя и папку. Поскольку при преобразовании будет создано много папок, мы рекомендуем создать папку в разделе «Активы», чтобы они были в порядке.

На снимке ниже показано, как это выглядит после преобразования. Папки, созданные при преобразовании модели, выделены красным прямоугольником на изображении ниже.

В нем вы найдете префаб VRM, так что выберите его.

После выбора префаба в окне Инспектора появится раздел для установки информации для VRM (выделен синим прямоугольником). Заполните их.

Настройте информацию для VRM.

Необходимая информация:

・Ссылка (если есть)

Требуется лицензия:

[Персонализация / Разрешение на характеристику]

・Человек, который может выступать с этим аватаром (только автор / лицо с явной лицензией / все)

・Разрешение на совершение насильственных действий с этим аватаром (запретить/разрешить)

・Разрешение на сексуальные действия с этим аватаром (запретить/разрешить)

・Для коммерческого использования (запретить/разрешить)

・Другой URL-адрес лицензии (если есть)

[Лицензия на распространение/модификацию]

・(Выборы о распространении/модификации)

Пожалуйста, заполните каждое поле.

После завершения настройки удалите объект FBX до преобразования в окне "Иерархия" и поместите преобразованный префаб VRM в сцену.

Выбрав объект VRM в иерархии, выберите «VRM > UniVRM > Экспорт гуманоида» в меню, как и раньше. Но на этот раз снимите флажок, выделенный красным на скриншоте ниже. Экспортируйте модель в этом состоянии.

Поскольку это окончательный экспорт, вы можете экспортировать его в место, отличное от файла проекта Unity (например, на рабочий стол).

Снимите эти флажки.

Если вы экспортируете его в разделе «Активы» проекта Unity, будет создано множество папок. Однако, если вы экспортируете в каталог, который не является файлом проекта Unity (рабочий стол и т. д.), будет создан только файл .vrm, поэтому вам нужно будет обработать только один файл.

Можно сказать, что теперь вся информация упакована в файл .vrm.

И все! Мы успешно завершили преобразование модели!

Вы можете использовать его по своему усмотрению, загружая в VRoid Hub или VRC и т. д.

Загрузить в STYLY

Следующее предназначено для тех, кто хочет загрузить преобразованный аватар в STYLY.

Дважды щелкните загруженный файл .unitypackage, чтобы импортировать его.

После импорта открывается следующее окно. Введите адрес электронной почты и ключ API.

Установите адрес электронной почты и ключ API.

Перетащите объект VRM в иерархии в «Активы» в окне «Проект». Он преобразует объект в префаб.

Создайте префаб.

После преобразования в префаб щелкните правой кнопкой мыши префаб в окне проекта и выберите «STYLY > Загрузить префаб или сцену в STYLY».

Загрузить в STYLY.

После того, как появится окно "загрузка завершена", давайте перейдем к STYLY.

В редакторе STYLY выберите «Ресурсы > 3D-модель > Мои модели». Теперь вы можете увидеть загруженную модель.

Итак, вы хотите стать VTuber, но у вас уже есть собственный аватар, который вам очень нравится в VRChat. Наверняка есть способ заставить его работать, верно? В этом уроке я расскажу о проблеме, о том, как я это делаю, и обо всем, чему я научился на этом пути.

Сказать, что виртуальная реальность находится в зачаточном состоянии, значит не сказать ничего. В начале игры существует множество различных экосистем, и каждая из них действительно придумала свой собственный формат аватара по необходимости. Таким образом, существует множество совершенно разных и несовместимых экосистем для такого рода данных аватара. Тем не менее, общий формат обмена данными аватара начинает органично появляться: VRM. Этот формат в основном появился благодаря усилиям японских VTubers, и поэтому его поддерживает большинство программ 3D VTubing.

Однако ваш аватар по-прежнему застрял в формате VRChat, поэтому эта статья существует.

Обратите внимание, что для этого ТРЕБУЕТСЯ доступ к данным вашего аватара в редакторе Unity. Пожалуйста, поддержите создателей VRChat, создавать такой контент сложно и дорого.

В общем, вот шаги для этого:

  • Добавьте плагины VRM в свой проект аватара VRChat.
  • Экспорт базового незавершенного VRM
  • Создайте новый проект Unity с подключаемыми модулями VRM
  • Импортируйте в него незавершенный VRM
  • Исправить шейдеры
  • Исправить формы перехода
  • Тестировать в VSeeFace

Первый экспорт

Во-первых, вам нужно поместить свой аватар в "грязный" VRM-файл. Это станет основой вашей модели VTuber. Для этого вам необходимо импортировать плагины VRM для Unity в ваш проект аватара VRChat.

Для этого есть два способа: один из них — импортировать пакеты Unity напрямую, а другой — настроить манифест пакета Unity, включив в него подключаемые модули VRM. Ниже я расскажу об обоих:

Для любого из этих методов вам потребуются подключаемые модули VRM из GitHub.

Метод установки UnityPackage

Самый простой способ установить подключаемые модули VRM — использовать файлы UnityPackage, которые выпускает команда надстройки VRM. Загрузите пакеты UniVRM и VRM из последней версии:

И затем импортируйте их в Unity, перейдя в меню "Активы", щелкнув меню "Импорт пакета", а затем щелкнув "Пользовательский пакет" и выбрав каждый из загруженных вами файлов UnityPackage.

Метод установки файла manifest.json

На странице выпуска UniVRM есть фрагмент JSON с пометкой manifest.json . Это соответствует файлу в вашем проекте Unity, где вы можете указать Unity автоматически загружать и управлять пакетами и их обновлениями с GitHub и других источников.

В папке проекта Unity откройте папку «Пакеты» и откройте файл manifest.json в своем любимом текстовом редакторе (например, emacs). Будет объект JSON, который выглядит следующим образом:

По умолчанию здесь будет полно других вещей, но в основном вы можете их игнорировать, потому что Unity добавляет туда эти вещи сама. Перейдите в конец объекта и добавьте запятую в конец последнего значения в dependencies. Затем вставьте фрагмент manifest.json VRM на страницу выпуска. У вас должно получиться что-то вроде этого:

Точный выпуск плагина VRM основан на моменте, когда вы читали эту статью, но в целом он должен выглядеть примерно так.

Создайте первый VRM

При установке плагинов Unity VRM у вас должно появиться новое меню "VRM0" в строке меню Unity. Нажмите на нее и выберите «Экспортировать UniVRM-0.80.0».

Откроется новое окно под названием «Экспорт VRM».

Измените язык на "En" (английский), чтобы вы могли читать сообщения об ошибках и предупреждения. Затем заполните название, версию и информацию об авторе и экспортируйте свой аватар в файл VRM в папку на рабочем столе.

Строго говоря, вам НЕ НУЖНО использовать свой рабочий стол, однако для подобных вещей я помещаю туда промежуточные файлы.

На самом деле заставьте ваш VRM сиять

Строго говоря, я не знаю, нужно ли это делать, но я обнаружил, что надежнее всего делать отдельный проект Unity для управления своим аватаром VRM. Откройте Unity Hub и создайте отдельный проект, а затем повторно импортируйте подключаемый модуль VRM.

После того, как вы это сделаете, импортируйте необработанный VRM в новый проект Unity, щелкнув меню «VRM0» и выбрав «Импорт из VRM 0.x». Выберите необработанный VRM из предыдущего, а затем сохраните его как префаб в своей папке. Unity заблокируется на мгновение, пока все будет работать, и у вас будет новый блестящий префаб в вашем проекте.

Перетащите этот сборный элемент в сцену, а затем нажмите на него, чтобы открыть его инспектор.

Сбросьте его положение на 0,0,0, чтобы он находился в центре мира.

Шейдеры

Теперь вам нужно зайти и исправить все шейдеры для вашего аватара. Это должен быть либо шейдер MToon, либо шейдер UniUnlit. MToon должен быть вашим выбором по умолчанию, так как он дает вам ощущение мультяшного аниме, которое вы видите во многих японских VTubers на YouTube. Это потребует некоторых проб и ошибок в том раздражающем способе «нарисовать остальную часть совы».

Формы смешения

Теперь у вас будет базовый аватар, но если вы импортируете его в такие программы, как VSeeFace, вы заметите, что аватар не двигает ртом, когда вы что-то говорите. Это потому, что вам нужно исправить блендшейпы аватара. Blendshapes — это подсказки, которые формат VRM использует, чтобы узнать, как манипулировать костями вашей модели аватара, чтобы она выглядела так, как будто аватар говорит.

К сожалению, формат аватара ограничен наличием blendshapes только для гласных звуков. На практике это не имеет большого значения (имейте в виду, что этот формат изначально был разработан для японского рынка), но это может означать, что вам нужно немного больше произносить гласные, чтобы быть уверенным, что программа улавливает то, что вы говорите, и корректирует ваши губы аватара соответственно. Есть способы улучшить отслеживание, например использовать датчик FaceID iPhone для Perfect Sync, но пока достаточно только гласных.

При импорте VRM создается папка blendshapes в папке вашего проекта. Откройте эту папку, и вы увидите набор файлов, названных в честь различных анимаций VRM, которые вы можете настроить.Самые большие — это части речи A, I, U, E и O. Они составят основу вашей атмосферы на VTuber.

Начните с А . Это коррелирует с гласной IPA /a/, которая образуется при довольно открытом рту и прижатом языке к нижней части рта. Откройте форму смешивания A и разверните раскрывающийся список «Тело». Ползунок vrc.v_aa соотносится с этим звуком, поэтому установите его на 100.

Остальные гласные должны быть настроены таким же образом, вот небольшая таблица того, как они называются в папке blendshapes, IPA для них и ползунок, который я использую:

Имя IPA Ползунок
A /a/ vrc. v_aa
E /e/ vrc. v_e
I /i/ vrc. v_ih
O /o/ vrc. v_oh
U /u/ vrc. v_ou

Это должно дать вам приблизительное гласное звучание, чего должно хватить для начала работы с VTubing.

Еще одна полезная вещь, на которую стоит обратить внимание, — это моргание. Когда ваш аватар бесконечно смотрит в глаза вашей аудитории, это отличный способ заставить людей чувствовать себя некомфортно и отвлечься. Это не лучший способ увеличить число поклонников вашего контента.

Для мерцания есть три формы смешивания. Один для моргания обоими глазами, один для моргания левым глазом и один для моргания правым глазом. Настройте их так же, как вы настроили другие формы смешивания, но ищите вещи, которые заставляют глаза вашего аватара двигаться. Некоторые модели могут не поддерживать моргание только одним глазом. Если это так, просто сделайте так, чтобы все блендшейпы моргали обоими глазами.

Вы также можете настроить настроение для таких выражений, как гнев, но я пока пропущу это. Поэкспериментируйте с ним, и вы сможете получить что-то приличное.

Тестирование

Теперь у нас должен быть приличный файл VRM. Экспортируйте его, перейдя в меню «VRM0» и выбрав «Экспорт в VRM 0.x», как вы делали в прошлый раз. Сохраните его на рабочем столе в виде файла VRM.

Откройте свое любимое программное обеспечение VTubing, такое как VSeeFace, и импортируйте свой аватар. Затем посмотрите в свою веб-камеру и произнесите предложение вроде этого: «Алиса закрыла дверь со всей серьезностью». Следите за тем, как двигаются губы аватара, когда вы это говорите. Когда вы говорите, будет небольшая задержка, но в целом все должно примерно совпадать.

Если вам не нравится, как все получилось, зайдите и повозитесь с ползунками. Это потребует много экспериментов, чтобы все выглядело красиво. Это нормально.

После того, как вы доведете его до состояния, в котором вы будете довольны, сохраните свой VRM в нескольких местах, чтобы убедиться, что его резервная копия выполнена надлежащим образом. Я бы предложил использовать DropBox, Google Drive, iCloud Drive или что-то еще, если у вас есть как минимум три копии. Вы можете воссоздать свой аватар из проекта Unity, если вам это нужно (или в худшем случае вернуться к этому руководству с нуля), но я бы посоветовал избежать этого, создав надлежащие резервные копии. Обратитесь к правилу 3-2-1, чтобы узнать, как и где создавать резервные копии.

Самое главное, получайте удовольствие от своей новой жизни в качестве VTuber! Это захватывающая новая граница.

Особая благодарность LithiumFox и lesliepone за проверку содержания этой статьи перед публикацией.

Поделиться на Mastodon

Эта статья была опубликована 01 февраля 2022 года. Факты и обстоятельства могли измениться с момента публикации. Пожалуйста, свяжитесь со мной, прежде чем делать поспешные выводы, если что-то кажется вам неправильным или неясным.

Теги: vrchat vrm туториал

Изображение Мары нарисовал Селикр.

Рисование для Cadey было выполнено студией ArtZora Studios.

Авторское право 2012-2022 Xe Iaso (Кристин Додрилл). Любые и все мнения, перечисленные здесь, являются моими собственными и не представляют моих работодателей; будущее, прошлое и настоящее.

Читайте также: