Оптимизация
Чтобы маска быстро загружалась и плавно работала у всех пользователей, её нужно оптимизировать.
Cкачайте пример, в котором содержатся две версии одного и того же проекта — до оптимизации и после.
Шаг 1. Оптимизируйте текстуры
Объедините однородные лицевые текстуры эффекта facemodel
в одну. Большое количество текстур не только утяжеляет маску, но и замыливает поверхность лица и создаёт дрожащий эффект.
Затем сохраните текстуры в минимально возможном разрешении, когда они ещё сохраняют свою детализацию при просмотре маски.
Шаг 2. Пересохраните цветовую таблицу
Пересохраните цветовую таблицу, если её вес превышает 600 Кбайт.
Некоторые программы добавляют к цветовой таблице излишнюю глубину цвета и цветовой профиль, что увеличивает вес файла. Во многих графических редакторах можно убрать цветовой профиль в процессе экспорта. Например, так: Файл → Экспортировать → Снимите галочку с пункта Встроить цветовой профиль.
Шаг 3. Сожмите файлы изображений
Сожмите все текстуры и иконку, если она весит больше 60 Кбайт.
Для сжатия мы рекомендуем использовать программу Pngyu. Также можно использовать опцию Сохранить для Web в вашей любимой программе для работы с изображениями.
Шаг 4. Удалите лишние файлы
Удалите лишние ресурсы — файлы и папки, которые остались в проекте, но никак не используются.
Шаг 5. Оптимизируйте структуру проекта
Разложите файлы по папкам. Чем больше файлов в папке, тем тяжелее в них ориентироваться. Чтобы упростить работу с маской и процесс её модерации, создайте в корневой папке проекта ещё несколько папок и распределить файлы между ними, как описано ниже.
Папка для 3D-моделей
Models
— папка для 3D-моделей. Содержит файлы .mdl
(файлы 3D-моделей) и .ani
(хранят информацию об анимации 3D-моделей). Другие зависимые файлы (материалов и текстур) 3D-моделей располагайте в соответствующих им папках.
Models
Cap.mdl
Cap.ani
...
Materials
Cap.xml
...
Textures
Cap
Cap_diffuse.png
Cap_normal.png
Cap_specular.png
...
...
...
Папка для текстур
Textures
— папка для текстур. Содержит как текстуры эффектов patch
и facemodel
, так и развёртки текстур 3D-моделей в формате PNG. В отдельной папке лежат:
- •Анимированные текстуры, которые состоят из нескольких изображений (или атласов анимации):
Textures
Ear
Ear.png
Ear1.png
Ear2.png
...
Nose
Nose.png
Nose1.png
Nose2.png
...
...
...
- •Текстуры одного смыслового объекта. Например, маска с волосами может состоять из нескольких слоёв эффектов:
Textures
Hair
Hair_back.png
Hair_front.png
Hair_pigtail.png
...
...
...
- •Развёртки 3D-моделей. Наименование папки такое же, как и у самой 3D-модели, которой принадлежат текстуры. Например, если в маске используется 3D-модель головного убора, то структура должна выглядеть следующим образом:
Models
Cap.mdl
...
Textures
Cap
Cap_diffuse.png
Cap_normal.png
Cap_specular.png
...
...
...
Все остальные единичные текстуры и атласы анимации расположите в корне папки Textures
.
Textures
Nose.png
Heart.png
...
...
Папка для материалов
Materials
— папка для файлов описания материалов. Предназначена только для файлов формата XML. Если объект содержит несколько материалов, то их стоит разместить в отдельной папке.
Models
Cap.mdl
Glasses.mdl
...
Materials
Cap.xml
Glasses
Glasses_glass.xml
Glasses_body.xml
...
...
...
Папка для шейдеров
Shaders
— папка для шейдеров. Содержит две подпапки: GLSL
(шейдеры для устройств с поддержкой OpenGL) и HLSL
(для устройств с поддержкой DirectX). Все шейдеры разложите по этим двум папкам.
Shaders
GLSL
...
...
...
HLSL
...
...
...
...
Прочие папки и файлы
- •
ColorFilter
— папка для файлов цветовых таблиц. - •
PostProcess
— папка для файлов описания постэффектов. - •
RenderPaths
— папка для файлов с данными маршрутов отрисовки (рендер-пассов). - •
Scripts
— папка для дополнительных скриптов и их конфигураций. - •
Plugins
— папка для плагинов. - •
Icon.png
— иконка маски. - •
main.as
— файл скрипта. - •
mask.json
— файл конфигурации маски.
Посмотрите также
- •
- •
- •