[Руководство] Децимация/оптимизация моделей

  • Автор Kult
  • Дата публикации
  • Article read time 3 min read
Что такое децимация? Это оптимизация модели, путём ужимания количества вертексов и полигонов.
Зачем это нужно?
• Оптимизация -> меньшая нагрузка на клиента
• Некоторые модели невозможно скомпилировать/запустить на CSS V34

План:

1. Ссылки и разжёвывание того, почему необходимо читать нудятину.
2. Процесс для Blender 3D.
3. Процесс для Milkshape 3D.


И так, для децимации нам потребуется декомпилировать нашу модель. Что это такое? Читаем тут -> Тык
ВНИМАНИЕ! Далее будут использованы термины с указанных тут статей, их пояснять повторно я не стану. Я разместил тут ссылки на статьи для того, чтобы вы уже ознакомились с материалом и мы могли непосредственно приступить к следующему шагу.
Прочитали, произвели декомпиляцию, нам потребуется основной референс модели. Их может быть несколько. Как это, если модель одна? Иногда для удобства и взаимодействия с компилятором мы "режем" модели. Если это модель персонажа, то отдельно будут руки, ноги, голова, плащ и прочее. Совместить это совсем не трудно, не переживайте. Но для движения дальше придётся прочитать теорию тут -> Тык
Для понимания будет достаточно знаний о вершинах, полигонах и прочего в этом столбике.

Milkshape 3D
Произвели декомпил нужной нам модели, открываем нужный нам .smd, если их несколько, то импортируем все. Кроме анимаций, физики и подобного.
Далее жмакаем Tools -> Show model statistics и смотрим результат.
1675523886219.png
1675523907879.png
В результате мы видим 30934 вертекса и 64539 полигонов. Это довольно много, 34 такое даже адекватно не вопримет, так как имеет ограничение в полигональности (не помню сколько).
Для начала стоит очистить модель от мусора. Нажимаем Tools -> Model cleaner.
Что это и зачем? Этим шагом мы убираем "пустые дубликаты". Это дубликаты полигонов и вертексов, которые не несут физической нагрузки, а являются копией основных. Считайте, что мёртвый груз, который впустую нагружает модель.
Далее жмакаем Tools -> DirectX Mesh Tools и трогаем ползунок.
1675524424844.png
P.S. - у меня милкшейпу плохо и данный метод у меня не так давно перестал работать. У вас скорее всего будет, у меня много чего в милкшейпе перестало работать :D
Сходу ползунок убирать в левый конец до упора не стоит, так как вы просто удалите нужные вам полигоны и получите "картошку". Хорошо, если хотя бы "картошка" останется, а не пара треугольников.
Ползунок следует вести аккуратно, чтобы не удалить нужные полигоны и не создать артефакты на модели. После завершения всех манипуляций экспорт и компиляция.

Blender 3D.

Для работы в Blender 3D с моделями формата .smd нам нужно скачать специальный плагин тут ->Тык

Импортируем и получаем примерно такую картину ->
1675524852939.png
Далее нужно в верхней панели выбрать сам референс, а не скелет (арматуру). После чего нажать на гаечный ключ, добавление нового модификатора Decimate ->
1675525115584.png
1675525140439.png
Далее просто теребим ползунок Ratio. Для наглядности, покажу почему не стоит слишком увлекаться с децимацией.
1675525236517.png
Ползунок следует вести аккуратно, чтобы не удалить нужные полигоны и не создать артефакты на модели. После завершения всех манипуляций экспорт и компиляция.
1675525402728.png
По сути всё, теперь только компиляция =)

Что мы имеем в итоге?

Исходный размер:
30934 вертекса
64539 полигонов
После оптимизации:
12031 вертекс
23203 полигона

1675807237955.png
1675807258142.png
1675807382600.png
1675807429727.png
Как вы можете заметить, визуальное качество не пострадало абсолютно, но мы сильно оптимизировали модель, разгрузили сервер и клиент.

Эпилог:
Вы получили подробный гайд и пояснение как, что и чем работать. По такой системе можно делать и для UE4 и тд (другие форматы моделей).
От вас же требуется написать ваше мнение о гайде в комментариях и поставить + в репутацию. Возможно, что скоро будут гайды по рисованию.
  • Мне нравится
Реакции: 666FoX666 и Max Rhine
Об авторе
Kult
Модератор smash-cs.ru

Оказываю услуги в сфере моделлирования и текстурирования, услуги в настройке серверов и помощи, озвучке.

Комментарии

Информация о статье

Автор
Kult
Article read time
3 min read
Просмотры
259
Комментарии
2
Последнее обновление

Ещё в Source SDK

Больше от Kult

Поделиться этой статьёй

Сверху Снизу