Создаем 3D модель бочки. ЧАСТЬ 3 — Оптимизация 3D модели и альтернативные способы построения поверхностей 3D моделей

В данной части урока затрагивается оптимизация 3D модели, в частности, оптимизация количества полигонов 3D модели в Blender и возможных способах построения поверхностей в 3D редакторах.

Создаем 3D модель бочки. ЧАСТЬ 1 — Создаем заготовку для 3D модели бочки.

Создаем 3D модель бочки. ЧАСТЬ 2 — Продолжаем создавать модель деревянной бочки в Blender

Создаем 3D модель бочки. ЧАСТЬ 3 — Оптимизация 3D модели и альтернативные способы построения поверхностей 3D моделей

Создаем 3D модель бочки. ЧАСТЬ 4 – UV развертка 3D модели. Продолжение

Создаем 3D модель бочки. ЧАСТЬ 5 — Детализация 3D модели. Создание middlepoly 3D модели в Blender

Создаем 3D модель бочки. ЧАСТЬ 6 — Продолжаем добавлять детали 3D модели — торцы бочки.

Создаем 3D модель бочки. ЧАСТЬ 7 — Альтернативный способ создания детализации 3D модели

Создаем 3D модель бочки. ЧАСТЬ 8 — Детализация модели, продолжаем: 3D normal map и ambient occlusion.

Создаем 3D модель бочки. ЧАСТЬ 9 — Заканчиваем создание среднеполигональной middlepoly 3D модели

Создаем 3D модель бочки. ЧАСТЬ 10 — Низкополигональная, lowpoly 3D модель из среднеполигональной

Создаем 3D модель бочки. ЧАСТЬ 11: very lowpoly 3D модель из lowpoly модели

Создаем 3D модель бочки. Часть 12 – Закрыть дыры в 3D модели. Поверхности в Blender в примерах

Создаем 3D модель бочки. Часть 13 — Финализация 3D модели бочки и импорт в Unity3D 3D модели

Кто-то скажет, что полигонаж крышки бочки (и ее дна) не является оптимальным и количество треугольников, из которых они состоят, можно уменьшить, и будет отчасти прав. Но в данном случае количество “отыгранных” треугольников составит всего 2 штуки на каждую крышку, так что для красоты и удобства создания 3D моделей оставим крышку и дно бочки именно в таком (изначальном) виде.

variants circle grid Blender optimisation
На рисунке показаны варианты заполнения полигонами крышки бочки (сетки крышки бочки).

Итак, оптимизация 3D модели. Давайте создадим uv развертку для нашей заготовки модели бочки. Почему мы создаем uv развертку на заготовке, а не будущей middle-poly модели бочки? Мы можем и не создавать Uv развертку сейчас, а лишь отметить ребра бочки в качестве швов (seams), по которым пройдут разрезы uv развертки бочки. Но для того чтобы убедиться, что швы проходят в нужных местах и развертка не перекосилась и не наложилась друг на друга, стоит все-таки посмотреть на uv развертку. Зачем нам нужны швы сейчас? Все дело в том, что при копировании вершин, ребер и полигонов Blender умеет копировать и все их свойства, включая швы uv развертки. Такой функционал нам понадобится при создании middle-poly 3D модели бочки из существующей заготовки, как вы убедитесь чуть позже.
Создание uv развертки, как правило, начинается с процесса создания швов uv-развертки. Об одном из способов создания uv-развертки без швов вы можете прочитать в одной из предыдущих статей Запекаем карты нормалей в текстуру и ленивое текстурирование 3D модели через авторазвертку и запекание текстуры в Blender для игрового движка Unity3D

Итак, перейдите в режим редактирования меша бочки (если вы из него выходили) и установите ребра модели в качестве элементов редактирования (Ctrl+Tab -> Edge). Создание швов (seams) есть ни что иное, как маркирование рёбер 3D модели, по которым пройдут разрезы, которые позволяют «распластать» поверхность 3D модели (или поверхностей 3D моделей или мешей, из которых состоит 3D модель) на плоскости, координаты которой задаются буквами U и V (отсюда и название — uv развертка). Буквы U и V являются репрезентацией букв X и Y, соответствующих осям с одноименным названиями. Отличающееся обозначение букв для осей было выбрано для того, чтобы избежать путаницы с двумя осями из трех, существующих в трехмерном пространстве, а то получилась бы и там xy плоскость, и здесь xy плоскость. А так — uv развертка размещается на uv плоскости, еще называемой uv пространством (UV space).
Если по существу, то наша задача заключается в том, чтобы «развернуть» 3D модель на uv плоскость, «разрезав» швами 3D модель бочки так, чтобы:
— острова uv развертки не накладывались друг на друга;
— uv развертка не имела критических стяжек или разряженный/растянутых областей;
— uv развертка имела минимально необходимое количество разрезов;
— uv развертка занимала максимально возможное пространство uv плоскости;
-uv развертка была удобна для текстурирования, включая удобные ориентацию и группировку uv островов.
Узнать про наложение островов uv развертки друг на друга и узнать, чем они могут быть не только вредны, но и полезны, вы можете, если заглянете в статью Создание 3D модели с оптимизированной uv разверткой. Из Blender в Unity 3D.
Про “растяжки” и “скукоживания” uv развертки вы можете подсмотреть в статье Простое и быстрое раскрашивание рёбер 3D модели в стиле hand painted texturing и мультяшного текстурирования для создания стилизованной 3D модели.
Про минимализм и важность количества швов и островов uv развертки вы можете узнать в статье Продублированные вершины, лишние вершины, разрывы и разрезы в 3D моделях и артефакты на картах нормалей.

uv in Blender 3d model
На рисунке показаны три варианта uv развертки для заготовки бочки из множества существующих вариантов. Крайний слева — продукт автоматической развертки.

В последнее время с появлением в 3D редакторах инструментов раскрашивания и текстурирования моделей прямо в самом редакторе, а также с появлением специализированных приложений, таких как Substance Painter от Allegorithmic, качеству uv развертки стали уделять меньше внимания, но только не профессиональные 3D художники и 3D моделлеры. Как показывает практика, слабо аргументированная чрезмерность количества швов и островов uv развертки может оказывать дополнительную нагрузку на графический процессор, вызывая «проседание» FPS (количество кадров в секунду, отображаемых на экранах устройств). Особенно сильно это становится заметно при использовании 3D моделей с несколько завышенным количеством полигонов для целевой платформы, например, нацеленных на слабые бюджетные компьютеры или мобильные устройства предыдущих поколений.

Автор Максим Голдобин (Maxim Goldobin aka MANMANA)

Добавить комментарий