41

Как запилить свой аватар в VRChat из MMD

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


Шаг 1. Подготовка.


Во-первых, если вы играете через Steam, использовать свои аватары вы вроде бы не сможете, нужен именно аккаунт VRChat. Зарегистрироваться и войти с ним вы можете в самой игре, тыкнув "Logout" в меню "System", или же перейдя по этой ссылке: https://vrchat.net/register


Далее нужно скачать и установить Blender и Unity:

- Blender (не ниже 2.79): https://www.blender.org/download/

- Unity (подойдет в минимальной комплектации, не ниже 5.6.3p1): https://store.unity.com/ru/download?ref=personal


Для Blender'а есть два оч-чень полезных плагина:

- mmd_tools: https://github.com/sugiany/blender_mmd_tools/archive/master....

- CATS: https://github.com/michaeldegroot/cats-blender-plugin/archiv...


Из первого архива нужна только папка mmd_tools, второй архив нужно распаковать целиком. Обе папки копируем в C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons (возможно, у вас будет другая версия Blender'а, но думаю найдете). Запускаем Blender от имени администратора (важно!), тыкаем File -> User Preferences -> Add-ons, ищем "Object: mmd_tools" и "3D View: Cats Blender Plugin" и проставляем галочки у обоих, после чего жмем кнопку "Save User Settings".


Подготовка Blender на этом закончена, открываем Unity. Входите, если у вас уже есть аккаунт, или тыкайте "create one", если еще нет. После того, как войдете, жмите "New" и создавайте новый 3D-проект.


К Unity тоже нужен один плагин:

- VRChat SDK: https://vrchat.net/download/sdk


Просто запустите его после скачивания и тыкните "Import" в появившемся окошке Unity. Через какое-то время оно установится и в меню появится новый пункт: "VRChat SDK". Зайдите в него, нажмите "Settings" и в появившемся окошке введите свои логин и пароль. После входа нужно нажать "Edit" и выбрать exe-файл VRChat'а (для Steam-версии это обычно будет C:\Program Files (x86)\Steam\steamapps\common\VRChat\VRChat.exe). После совершения всех манипуляций окошко можно закрыть.


Шаг 2. Обработка модели.


Для начала нужно найти модельку. Пишете в гугле "download mmd model" - и тысячи их! Только осторожнее с авторскими правами. Для примера возьмем эту замечательную модель авторства HarukaSakurai: https://harukasakurai.deviantart.com/art/MMD-PDF-2nd-Border-... Как будет видно дальше, эта моделька не идеальна и имеет свои косяки при переносе, но это даже лучше - можно показать нестандартные ситуации.


Крайне советую не брать модели с большим количеством деталей (например, сложные костюмы или волосы) и с детализированными текстурами. У VRChat есть определенные ограничения на сложность модели, и в процессе обработки такая модель скорее всего запорется и станет некрасивой.


В Blender удалим стартовый белый куб клавишей Delete на клавиатуре, после чего найдем слева внизу вкладку "CATS" и тыкнем "Import Model":

Слева внизу во вкладке "Import Model file (.pmd, .pmx)" в поле "Scale" укажите значение 0.08 и найдите .pmx файл модели. После того, как он откроется, нажмите кнопку "Fix Model" слева, разверните пункт "Translation" и протыкайте в нем все четыре кнопки по очереди.


Если вы совсем новичок в Blender, то управлять камерой можно при помощи вращения колесика мышки (приблизить-отдалить), зажатого колесика мышки (поворот вокруг фигуры) и зажатого колесика мышки с клавишей Shift на клавиатуре (перемещение камеры).


Следующее, что нам нужно сделать, это упростить модель. Если развернуть окно Blender'а на весь экран, то в самом верху будет строчка с количеством точек, вершин, треугольников и т. п. Нам нужно, чтобы количество треугольников (Tris) было меньше 20 000 - это ограничение VRChat'а.

К счастью, у этой модельки их уже довольно мало. Однако встречаются модели с количеством треугольников под 100 000 и выше - и их довольно сложно упростить.


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


Для упрощения модели вручную нажмите кнопку "Separate by Materials". Это разобьет цельную модель на несколько более мелких объектов: волосы, глаза, одежда и т. п. Справа вверху, в дереве объектов, раскройте пункт "Armature" и выберите любой из объектов с иконкой треугольника (например, "Material 0"). Затем нажмите на такую же иконку треугольника чуть ниже:

Дело в том, что крайне нежелательно упрощать те части модели, которые участвуют в анимациях. Если в поле "Shape Keys" у вас написано только "Basis", значит эта часть в анимациях не участвует, и мы ее можем смело упрощать.


Для упрощения перейдите в пункт с иконкой гаечного ключа, нажмите "Add Modifier" и выберите "Decimate". Значение "Ratio" показывает, насколько сильно будет упрощена модель, по шкале от нуля (полностью упрощена) до 1 (оставить все как есть). Кроме того, есть режим "Planar", который автоматически упрощает схожие треугольники. Пробуйте разные способы, чтобы и треугольников стало поменьше, и внешность не сильно запоролась.


Для данной модели я решил упростить волосы (которые прятались под именем "Material 14"), после чего количество треугольников снизилось до 19 925.

В конце, после ручного упрощения модели, нажмите кнопку "Join Meshes", чтобы объединить обратно все части.


Итак, модель упростили. Следующее, что нужно сделать, это настроить лицевую анимацию. Раскрываем пункт "Eye Tracking" и проверяем, правильно ли стоят значения. Конкретно у данной модели есть косяк - не указаны глаза, а вместо них определились волосы ("Ahoge"). В таком случае отключаем движение глаз галочкой "Disable Eye Movement". У "Blink Left" и "Blink Right" должно стоять что-то типа "Wink" - тут все правильно. Жмем "Create Eye Tracking".


Для анимации рта раскрываем "Visemes" и проверяем: должны стоять "Ah", "Your", "There". Жмем "Create Visemes".

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


Последним, что нужно сделать, это объединить все текстуры в одну. Открываем пункт "Optimization", ставим "Margin" чуть побольше (где-то от 0.02 до 0.05 - по вкусу) и жмем "Create Atlas". В результате в папке, куда вы сохранили файл Blender'а, будет создана скомбинированная текстура модели. Если текстуры слишком сильно запортачились, удалите этот файл, в Blender'е нажмите Ctrl-Z на клавиатуре и попробуйте увеличить "Texture Size" и включить "Pack Islands".

Последнее, что нужно сделать в Blender'е, это экспортировать модель. В самом верху жмем кнопку "Export Model" и слегка настраиваем экспорт в панельке "Export FBX". С зажатой клавишей Shift убираем "Camera" и "Lamp" на вкладке "Main", на вкладках "Geometries", "Armatures" и "Animation" снимаем все галочки. Должно получиться как-то так:

Сохраняем файл куда-нибудь и переходим к Unity.


Шаг 3. Настройка модели в Unity.


В самом начале ваше окошко Unity должно выглядеть как-то так:

В правом верхнем углу откроем вкладку "Inspector", а внизу создадим папку с названием аватара и перетащим туда из проводника файл .fbx и текстуру. При этом может быть автоматически создана папка "Materials".

Справа от персонажа есть иконка со стрелкой. Нажмите ее и в развернувшемся поле выберите первое "Body" (выглядящее точно так же, как основная иконка). Справа во вкладке "Inspector" будут показаны использованные в модели материалы. В идеале должен быть всего один материал, который мы развернем, поставим "Rendering Mode" в "Opaque" и перетащим мышкой текстуру на квадратик рядом с полем "Albedo".


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

Далее нам нужно настроить скелет. Жмем по основному файлу модели, справа в инспекторе ставим "Animation Type" в "Humanoid", тыкаем "Apply" и "Configure":

Здесь нужно проверить, соответствует ли каждая кость из модели кости скелета Unity. Иногда они могут неправильно определиться - например, в разделе "Head" косичка определилась как правый глаз. Но у нашей модели нет отдельных глаз, так что щелкаем по кружочку справа и выбираем "None".


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


По окончанию редактирования скелета жмем кнопки "Apply" и "Done" внизу, после чего перетаскиваем мышкой модель в дерево слева. Моделька покажется где-то вдалеке, можно приблизить ее колесиком мышки.


Отрегулируем высоту аватара. Правой кнопкой мышки тыкнем по пустому месту в дереве слева, выберем 3D Object -> Cube, передвинем этот кубик куда-нибудь рядом и укажем у него в свойствах: "Position Y" = 0.75, "Scale Y" = 1.5. Итого кубик полтора метра высотой. Как видно, наш аватар чуть выше - давайте для примера чуть укоротим его. Для этого выберите его и во всех трех полях "Scale" пропишите 0.9. Куб после этого можно удалить.

Далее, нам нужно добавить для аватара специальный компонент. Выделите аватар, нажмите кнопку "Add Component" и в окошке поиска введите "Avatar Descriptor". Компонент добавится.


В настройках компонента нужно указать пол ("Default Animation Set" - у нас будет "Female") и позицию камеры ("View Position"). На последнее указывает небольшой серый шарик, обычно появляющийся чуть выше головы. Советую установить его примерно на уровне носа, изменяя координаты Y и Z и проверяя.

В поле "Lip Syns" выбираем "Viseme Blend Shape" и проставляем соответствующие значения в каждое из появившихся полей.


Настройка завершена, сохраняем куда-нибудь текущую сцену и переходим к загрузке.


Шаг 4. Загрузка.


Тыкаем в меню VRChat SDK -> Show Build Control Panel, в появившемся окошке жмем "Build & Publish" и ждем. Через какое-то время нам выведется форма "New Avatar", в которой нужно проставить название и описание, согласиться с правилами VRChat'а и залить аватар.

По завершении довольно долгой операции ваш аватар сразу же будет доступен в VRChat. Well done, now you know da way!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества