Недеструктивная оптимизация аватаров без мам, пап и блендеров
- Версия: v0.2.2
- Дата обновления: 30.11.25г
Введение
Данный гайд рассчитан на оптимизацию компонентов аватара с минимально необходимыми для этого изменениями за небольшое время.
Гайд преимущественно работает с недеструктивной работой над аватарами через Modular Avatar (точнее с помощью пакетов, основанных на Non-Destructive Modular Framework). Что это значит? Изначальный аватар/модель на сцене не изменяется, а все изменения применяются автоматически при загрузке аватара или переходе в Play Mode для тестирования в юнити.
Используемые пакеты не выполняют оптимизацию компонентов VRCFury, при их наличии и загрузке аватара будет выводиться соответствующее предупреждение. Некоторые компоненты VRCFury в определенных ситуациях скорее всего могут быть проигнорированы.
Не пугайтесь размера гайда, здесь много картинок. Аватар можно оптимизировать на более-менее приличном уровне в среднем за час-два времени.
Структура гайда довольно простая, в разделах кратко описано:
- Чем является оптимизируемая характеристика аватара
- Что сделать, чтобы оптимизировать ее с минимальными усилиями
- С какими проблемами можно столкнуться и как решать.
Всеми тонкостями могу не владеть и в чем-то ошибаться, поправьте если знаете. Также буду благодарен если сообщите о любых проблемах, возникших у вас при следовании гайду (VRChat, Discord, ТГ, везде - @evgem1us).
Для многих аватаров, следуя данному гайду, можно получить как минимум Poor-рейтинг для всего, кроме треугольников (полигонов), что уже будет неплохо для производительности. Medium тоже достижим при должных усилиях (например, если нет юбки с большим кол-вом PhysBone-костей), а для Good уже скорее требуется еще решить несколько проблем (например, нужен какой-нибудь пакет для недеструктивного создания атласов текстур для оптимизации по количеству материалов), тут уже зависит от базы аватара. Оптимизация по треугольникам (полигонам) сильно зависит от используемых ассетов, но при правильном подборе без 3D-редактора можно получить нужные 70к полигонов с учетом удаления и сжатия полигонов, описываемых далее в статье.
В целом гайд применим и для создания Android-версий аватаров, но это будет тема отдельной статьи когда-нибудь.
Чем это полезно в рамках оптимизации аватара:
- Для оптимизированной версии аватара не нужно загружать отдельную модель, обрезанную по полигонам, блендшейпам, костям и переносить на нее компоненты оригинального аватара
- Для всех вариантов аватара можно иметь один общий префаб; изменения в один вариант аватара легко перенести во все аватары (изменения добавляются в префаб)
Многие описанные здесь вещи можно сделать и вручную (например, объединить несколько PhysBones в один), но это займет больше времени. А часть вещей без используемых пакетов нельзя сделать кроме как в 3D-редакторе (например, Blender).
Содержание
📄️ Краткая версия гайда
1. Добавьте на корень аватара компонент AAO Trace and Optimize, компонент объединит меши и удалит ненужное
📄️ Подготовка к работе
Особенности недеструктивной работы с аватарами
📄️ Обязательные компоненты на основной аватар
На корень аватара (префаб аватара на сцене) накидываем компонент AAO Trace and Optimize. Настройки обычно достаточно оставить по умолчанию.
🗃️ Оптимизация ранга производительности
15 элементов
🗃️ Оптимизация прочих вещей (не менее важная)
4 элемента
📄️ Пример оптимизации
TODO В следующих версиях пример будет дополнен остальными пунктами оптимизации
📄️ Список изменений
v0.2.2