VRChat
66 평점
Загрузка аватара для нубов
RomkaZVO 님이 작성
Руководство для тех, кто хочет прокачать ранг быстрее или хочет залить готовый аватар, но не знает как это сделать.
   
어워드
즐겨찾기
즐겨찾기됨
즐겨찾기 해제
Введение
Итак, у тебя появился в руках аватар, но ты не знаешь что делать? Или же ты просто хочешь забустить ранг? Есть решение! Данное руководство сделано специально для тебя, ведь я сам был таким, пришлось разбираться, а потом решил помочь таким же нубасам как я.

В интернете есть руководства подобного содержания, но там версия Unity устарела, да и кое какие аспекты не были обозначены, авось тебе это понравится и ты начнешь ковырять аватары более углубленно.
Подготовка проекта
1. Требования
  • Нужно наличие VR Chat аккаунта, привязанные Steam и Oculus не подойдут, инструкций по миграции море, тут мы затрагивать это не будем.
  • Ранг должен быть выше Visitor
Тут стоит добавить, что сразу после миграции аплоад не сразу будет доступен, просто немного поиграй. Проверить возможность загрузки можно будет в Unity, но об этом ниже.

2. Unity
Не вздумай сгоряча лететь и ставить юнити, прочитав название пункта, это важно. Ассеты для игры, на момент написания гайда, делаются в версии 2022.3.22f1
Сначала загрузи Unity Hub[public-cdn.cloud.unity3d.com], а потом Unity[download.unity3d.com]
Все это устанавливается буквально в два клика, пояснять нет смысла.
А так же, можно установить через Creator Companion

3. SDK
Линк на SDK3[assets.vrchat.com]
Если будешь использовать второй способ запуска проекта, то скачивать SDK не нужно

4. Аватары
На вопрос: "где найти аватары?", прикладываю список того, что мне известно:
  • Sketchfab[sketchfab.com]
    Аватаров немного, но, может, чего найдешь себе
  • VRCMods[vrcmods.com]
    Мало аватаров на SDK3, главное не скачай SDK2 аватар
  • VRModels[vrmodels.store]
    Аватаров очень много, а если руки прямые, то еще и куча ресурсов для создания оных почти с нуля, НО! Есть NSFW и много
    P.S С подпиской аватаров еще больше, но там как правило слитые из следующего источника
  • Booth[booth.pm]
    Бесплатных мало, зато работы тут достойные. Нужно искать по тегу vrchat
  • Ripper Store [forum.ripper.store]
    Тут рассадник всего, что можно. Главное не начинай рипать аватары, это плохо и порицается
    Хотя если ты тут, то тебе до рипов еще очень далеко
  • Discord[discord.com] сервер VRChatRU.
    Аватары находятся в разделе #Бесплатные 3D модели

Для примера возьмем модельку Elaina[sketchfab.com]
Настройка проекта
Способ 1. Классический

Открываем Unity Hub и создаем проект по шаблону:

И после некоторого промежутка времени откроется окно:

В первую очередь импортируем SDK:
  • В поле Assets жмем правую кнопку мыши и импортируем custom package
  • Ищем нужный вам SDK и импортируем
  • Логинимся в VR Chat SDK


    Последний скриншот говорит о том, что аватар (мир) тебе загружать разрешено

Способ 2. Creator Companion
Данный способ появился недавно, не рекомендую использовать, если аватар не самый свежий, ибо скрипты могут просто развалиться.

  • Загружаем[vrcpm.vrchat.cloud] Creator Companion, устанавливаем и запускаем
  • Жмем на Create new project

  • И на Avatars

  • Опционально можно выбрать дополнительные пакеты, но для простой загрузки аватара они не нужны, так что достаточно нажать на Open Project

  • После некоторого промежутка времени откроется окно:

Немного про навигацию в Unity
  • Передвижение осуществляется стрелками
  • Вращение осуществляется по нажатию на правую кнопку мыши и шевелении ей
  • Колесо мыши для быстрого приближения
Работа с аватаром
Работаем с префабом Elaina
  • Просто перетягиваем префаб в зону ассетов:


  • Идем в папку с импортированным ассетом и открываем сцену:



  • Видим как у нас открылась моделька:


  • Данная модель требует Dynamic Bones она есть в Asset Store, так же импортируем

    Бесплатно тоже есть, но по очевидным причинам линк кидать не буду, ребята не глупые - найдете
    P.S
    1) Вообще Dynamic Bone тоже deprecated, на его замену пришли PhysBone, так что это требуется не каждой модельке. Читай описание к префабу, когда скачиваешь
    2) Советую сразу конвертировать DynamicBone в PhysBone, ибо кринж, правда тут проблема в том, что конвертирует плохо, а настроить PhysBone та еще задачка для неопытного пользователя. Как совет, найти аватар с уже настроенными PhysBone и подглядеть там, чтоб худо бедно понять, что тебе крутить
Стоит упомянуть про VRC AvatarDescriptor. В этом аватаре он настроен, но есть и аватары без него.
Нажми на модель и справа в инспекторе внизу будет кнопка Add Component и добавляешь этот скрипт. Тут тебе по координатам нужно выставить точку на уровне рта аватара.

В итоге проект должен выглядеть так:


Загружаем аватар
  • Проверь в инспекторе id аватара. Иногда там бывает прикрепленный с ним не даст загрузить

    Если тут есть Id то нажми на Detach

  • Снова идем в панель и открываем раздел VRChat SDK и жмем на пункт Builder

    Если все правильно сделали, то кнопка Build & Publish for Windows станет доступна

  • Жмем на Build & Publish for Windows и ждем сборку.
    Тут уже зависит все от вашего ПК, но моделька не серьезная, долго не будет собираться.

  • Если видите это окно, то аватар успешно собрался


    Немного пояснений про эту часть
    • Avatar Name все очевидно и понятно
    • Content Warnings это для NSFW аватаров
    • Sharing если хочешь, чтоб аватар был доступен только для тебя, то ставь галку на Private

      Настройка превьюхи аватара
      Жми на Scene и затем в объектах на VRCCam


      Теперь крути камерой и выбирай позицию для скрина, внизу будет показывать превью. Настроил превью? Жми на пункт Game и уже покажет нужное фото.

      P.S
      1. Тут есть прикольный баг, что в превью будет пустота, но если стоит галка, то картинка будет как на превью. В момент написания гайда это и случилось, поэтому без скрина.
      2. Если чуть разберешься с Unity, ты можешь создать 3D объект, plane например, и на плейн натянуть скрин с этим аватаром в игре и перетянуть камеру на этот плейн
      3. ЕСЛИ ЗАЛИВАЕШЬ NSFW АВАТАР, ТО ОБЯЗАТЕЛЬНО ЗАЛИВАЙ В ПРИВАТ.
      Иначе, это спидран бана.

  • Ставим галку в самом низу и жмем на Upload немножко ждем и готово!

Аватар уже в игре, остается открыть VRChat и тестировать

Небольшое дополнение, касаемо теста. Есть такая полезная кнопка:

При ее нажатии, аватар загрузит локально, а не на твой аккаунт, сам аватар будет находится в разделе Other и никто кроме тебя, его видеть не будет. Полезно, если надо просто что-то проверить, не ожидая загрузки на сервера VRChat, а они бывают довольно слоупочные.
Тест доступен только для PC версий аватаров, Quest версия по очевидным причинам загрузить нельзя
Про шейдеры
Бывает такое, что проект поставляется без шейдеров. Как правило, в описании написано какой рекомендовано использовать.

Настраиваем материал
  • Загружаем[github.com] Poiyomi Toon Shader скачиваешь и импортруешь шейдер в проект

    P.S Poiyomi взят в качестве примера, причем не лучшего, есть и другие. Но гайд все же не об этом
    Вообще рекомендую использовать lilToon[github.com]


  • Идешь сюда:

  • Сейчас тебе на каждом материале надо проставить Poiyomi Toon Shader:
       
    • Жмешь на Clothing и в инспекторе выставляешь шейдер:






      И вуаля! Одежда стала похожа на одежду


    • В результате должно выйти так:



Аватар под автономные шлемы
Данный раздел не 100% гайд по оптимизации, но кое что отсюда точно тебе поможет со сборкой, не сложные аватары, в целом, реально перенести в автономную версию VRChat.

Кстати, половина раздела будет с другим исходником, так как в Lucifer не нужна работа с PhysBone.

Разберем важные ограничения:
  • Только стандартные шейдеры из набора VRChat/Mobile
  • Отсутствие аудио источников у аватара
  • Не больше 8 динамических компонентов PhysBone


    P.S 1 Это не все ограничения, но одни из важных, все лимиты описаны в документации[docs.vrchat.com]

    P.S 2 Для телефонов на Android ограничения еще хуже, такими методами на телефонах аватар не сделать да и не нужно тащемта

Способы оптимизации

Способ 1. Ручной

Для начала тебе нужно сделать желательно дубликат аватара, для того что-бы не сломать PC аватар, да и так просто удобнее:
  • В иерархии нажми на аватар и жми CTRL+D
  • В инспекторе убери галку с PC версии аватара
    Для удобства переименуй квест версию, что-бы не запутаться

Дальше начинай работу именно с квест версией:
  • Шейдеры
    В качестве примера вернемся к проекту с Lucifer, ты же ведь еще не снес проект, так? Эта модель по костям входит в лимиты квестового VRChat.

    • Возвращайся в материалы и проставь каждому шейдер Toon Lit




      P.S
      1. Даже в сцене заметно, что аватар стал выглядеть попроще, но тут увы, ничего не сделать
      2. Вообще, если есть желание, то можешь поиграть с другими шейдерами из разедела VRChat/Mobile просто в данном случае подходит именно он


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

  • PhysBone
    Недавно мне в руки попал исходник известного в VRChat аватара Rusk
    В исходнике не было поддержки Quest, сменив шейдер на Toon Lit я увидел эту ошибку:

    Решение этой проблемы простое, нужно убрать компонент PhysBone с кости:
  • В иерархии дубликата (Quest версии) находишь кость, от которой ты хочешь избавиться, кости, как правило, находятся в разделе Armature

  • Для примера уберем кость у хвоста:

    Для этого в инспекторе удали компонент VRC Phys Bone

И так до тех пор, пока не станет возможным собрать аватар

Способ 2. VRCQuestTools
Это удобный способ по конвертированию аватара под Quest 2
  • Загружаем ассет[github.com] и импортируем в твой проект
  • Открываем тулзу

  • В открывшемся окне выбираем аватар и внизу нажимаем на convert

  • После оставляем галочки на тех компонентах PhysBone, которые вам нужны и жмем на кнопку

  • В результате в иерархии появится дубликат с тем же именем, но в скобках будет (Quest), основной аватар будет выключен
Готово, это проще, чем первый способ

Загрузка
  • Открываешь Builder, переключаешься на сборку Android версии:
    Ждешь и довольно долго
    P.S Если использовался способ с VRCQuestTools, то проект автоматом переключится на сборку мобильной версии

  • После ожидания снова возвращаешься в Builder и смотришь все ли в порядке:
    Анализ покажет, готова ли модель под квест и покажет степень оптимизации

  • Если кнопка Build & Publish for Android доступна, то аватар готов к сборке, нажимай на неё.

  • Если ты все это делал в этом же проекте, то значение Pipeline Manager уже имеет id аватара PC версии, поэтому параметры аватара уже должны погрузиться.


Послесловие
Гайд не претендует на идеальное пособие, делаю как сам знаю/научился, по конструктивной критике - добро пожаловать. Надеюсь, что новичкам смог помочь

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

Профиль[vrchat.com]
댓글 29
[浪人]KERRIGAN 2025년 4월 2일 오전 10시 39분 
чет в целом после таких длинных инструкций и тот, что уже есть начинает устраивать...
twz 2025년 3월 12일 오후 5시 35분 
возникла проблема в виде 2022.3.22f1 которая не хочет запускаться
✠ Autor[1]tät ✠ 2025년 2월 23일 오전 10시 24분 
если пишет crealing dlueprint id и не дает загрузить аватар но его по сути нету
Hlebushek 2024년 12월 23일 오전 2시 03분 
uploadexception: failed to upload file vrc.sdkbase.editor.api.vrcapi.uploadfile (system.string filename, system.string fileid, system.string friendlyfilename, system.action`2[t1,t2] onprogress, system.threading.cancellationtoken cancellationtoken) (at ./packages/com.vrchat.base/editor/vrcsdk/dependencies/vrchat/api/vrcapi.cs:973)
ПОМОГИТЕ ПЛЗ РЕШИТЬ!!!
Maikon Ravenhurst 2024년 9월 21일 오후 11시 31분 
На данный момент SDK3 требует версию Unity 2022.3.22f1.
sSHADOWSscar 2024년 5월 25일 오전 12시 01분 
Ребят, кто нибудь знает как сделать так чтобы лимит был больше, ну имею ввиду что если делать аватар под квест, то надо ровно 10 мегабайт, но хочется больше, например от 30-40 мегабайт. Да вы скажите нельзя никак но тогда нормально что у американских аватаров по 30-50 мегабайт но почему то он и под квест сделаны. Кто шарит киньте запрос в друзья в стиме и в лс напишите плз.... буду благодарен. :<
TermiDefi 2024년 4월 24일 오전 2시 11분 
При этом Юнити вообще не потребляет интернет для передачи, просто грузит аватар и все, даже жесткий диск не напрягает.
TermiDefi 2024년 4월 24일 오전 2시 03분 
Хм, я вот в Creation Companion скачал последнюю версию Юнити, все нужные файлы загрузил, закинул аватар, Юнити никаких претензий не кидал насчет него. Потом сделал как надо, нажимаю на самую нижнюю кнопку Build & Publish, все кнопки становятся неактивными, спустя час ничего не меняется.
RomkaZVO  [작성자] 2024년 4월 24일 오전 12시 45분 
Хотя, если я не ошибаюсь компаньон может притащить сдк под старый юнити
RomkaZVO  [작성자] 2024년 4월 24일 오전 12시 44분 
Нет, я свое перетащил без проблем. Либо же ищи старый сдк