Структура (structure)

Структура любого меша состоит из вершин, рёбер и граней.

../../_images/modeling_meshes_structure_example.svg

Пример структуры меша.

Вершины (vertices)

Самой элементарной частью меша является вершина (множественное число вершины), которая представляет собой одну точку или позицию в 3D-пространстве. Вершины представлены в 3D-вьюпорте в режиме редактирования в виде маленьких точек. Вершины объекта хранятся в виде массива координат.

Совет

Не принимайте за вершину ориджин объекта. Он может выглядеть примерно так же, но он больше и не может быть выделен.

../../_images/modeling_meshes_structure_cube-example.png

Вершина обозначена как «A»; ориджин объекта обозначен как «B».

Рёбра (edges)

Ребро всегда соединяет две вершины прямой линией. Рёбра выглядят как «проволока», когда вы смотрите на меш в каркасном режиме. Они обычно не видны на визуализированном изображении. Рёбра участвуют в построении граней.

Грани (faces)

Грани образуют фактическую поверхность объекта. Они остаются видимыми при рендере меша. Если область не содержит грани, то она будет прозрачна или отсутствовать в рендеринге изображения.

Грань образуется между тремя (треугольник), четырьмя (четырёхугольник) или бо́льшим числом (N-угольник) вершин с рёбрами на каждой стороне. Часто такие грани называют сокращенно tris, quads & n-gons.

Треугольники всегда являются плоскими и поэтому легко вычисляются. С другой стороны, четырёхугольники «более пластичные», что предпочтительно для анимации и при технике моделирования подразделением.

Нормали (normals)

В геометрии, нормаль – это направление или линия, перпендикулярная чему-либо, обычно треугольнику или поверхности, но может быть и относительно линии, касательной к точке на кривой или касательной плоскостью к точке на поверхности.

Нормали помогают определять шейдинг меша и многое другое.

../../_images/modeling_meshes_structure_viewport.png

Визуализация нормалей граней тора.

На рисунке выше каждая синяя линия представляет собой нормаль к грани тора. Линии перпендикулярны грани, на которой они лежат. Визуализация может быть активирована в режиме редактирования на панели отображения наложений во вьюпорте.

Шейдинг (shading)

Нормали поверхности играют фундаментальную роль в определении того, как свет взаимодействует с 3D-объектами, и, таким образом, сильно влияют на затенение этих объектов. Нормали могут быть с гладким затенением или плоским.

Когда для меша используется плоское затенение – грани рендерятся и отображаются равномерно. Обычно это желательно для объектов с плоской поверхностью, таких как куб или пирамида.

Когда меш использует гладкое затенение – нормали интерполируются через вершины полигонального меша, чем можно добиться плавных переходов между соседними полигонами, что приводит к более реалистичному виду.

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

Чтобы настроить шейдинг всего объекта, используйте:

Чтобы вернуться к плоскому затенению, используйте Плоское затенение (shade flat).

Шейдинг объектов также может быть настроен для каждой грани, ребра или вершины.

Настраиваемые разделённые нормали (custom split normals)

Настраиваемые разделённые нормали – это способ подстроить/подделать шейдинг, направив нормали в другие стороны, а не в те, которые вычисляются автоматически по умолчанию. В основном используется в разработке игр, где это помогает компенсировать некоторые проблемы, возникающие при использовании низкополигональных объектов (наиболее распространённые примеры – низкополигональные деревья, кусты, трава и т. д., и „закруглённые“ углы).

Blender поддерживает пользовательские нормали на основе „smooth fan“, определяемого как набор соседних углов граней, имеющих одну и ту же вершину и „связанных“ сглаженными рёбрами. Это означает, что вы можете задавать нормали на углы грани, на набор соседних углов грани или на вершины.

Данные о настраиваемых разделённых нормалях хранятся в качестве атрибута custom_normal на домене угла грани.

Совет

Вычисление настраиваемых разделённых нормалей может быть отключено для повышения производительности. Эту опцию можно найти в настройках упрощения рендеринга.

Редактирование настраиваемых разделённых нормалей

Ссылка

Режим (mode):

Режим редактирования (edit mode)

Меню:

Меш ‣ Нормали Mesh ‣ Normals

Горячая клавиша:

Alt-N

Существует ряд инструментов для редактирования пользовательских разделённых нормалей. Инструменты редактирования пользовательских нормалей меша могут влиять на все нормали (по умолчанию) или только на выделенные. Чтобы выделить пользовательскую нормаль, связанную с определённой вершиной и гранью:

  • Установите режим выделения для элементов «вершина» и «грань» вместе (используйте Shift-ЛКМ, чтобы заодно включать и второй режим).

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

Импорт настраиваемых разделённых нормалей

Некоторые инструменты, особенно используемые в CAD, склонны генерировать неправильную геометрию при тесселяции своих объектов в меши (очень тонкие и длинные треугольники и т.д.). Автовычисление нормалей для такой геометрии часто даёт артефакты, поэтому важно иметь возможность импортировать и использовать нормали, сгенерированные самим CAD-инструментом.

Примечание

В настоящее время только импорт FBX и импорт Alembic способны импортировать пользовательские нормали.

Топология (topology)

Петли (loops)

../../_images/modeling_meshes_structure_edge-face-loops.png

Петли рёбер и граней.

Петли рёбер и граней – это наборы граней или ребёр, которые образуют непрерывные «петли», как показано на рис. Петли рёбер и граней..

На изображении выше, циклическими петлями являются те, которые не прерываются полюсами (1 и 3). Они начинаются и заканчиваются в одной и той же вершине и делят модель на две части. Петли могут быть быстрым и мощным инструментом для работы с определёнными, непрерывными областями меша и являются необходимым условием для анимации органических персонажей. Подробное описание того, как работать с петлями в Blender, см. в разделе: «выделение петли рёбер».

Примечание

Обратите внимание, что петли (2 и 4) не опоясывают модель полностью. Петля остановилась на так называемых полюсах, где возникла неоднозначность в выборе пути для продолжения построения петли. Полюс – это вершина, которая соединена тремя, пятью или бо́льшим числом рёбер. Соответственно вершина, соединённая одним, двумя или четырьмя рёбрами, не является полюсом.

Петли рёбер (edge loops)

Петли (1 и 2) на рисунке выше – это петли рёбер. Они образуются соединением вершин, так что каждая из них в петле имеет ровно двух соседей, которые не принадлежат к петле и располагаются по обеим сторонам петли (за исключением начальной и конечной точек в случае с полюсами).

Петли рёбер – важная концепция, особенно в области моделирования живых существ (подповерхность органики) и анимации персонажей. При правильном использовании они позволяют вам создавать модели с относительно небольшим количеством вершин, которые выглядят очень естественно при использовании поверхностей с подразделениями и очень хорошо деформируются в анимации.

Если посмотреть на рисунок Петли рёбер и граней. как на пример моделирования живого существа: петли рёбер следуют естественным контурам и линиям сгибов кожи и лежащих под ней мышц, более плотны в областях, которые деформируются когда персонаж двигается, например на плечах или коленях.

Более подробную информацию о работе с петлями рёбер можно найти в разделе «выделение петли рёбер».

Петли граней (face loops)

Они являются логическим расширением петель рёбер, поскольку состоят из граней между двумя петлями рёбер, как показано на петлях (3 и 4) рисунка Петли рёбер и граней.. Обратите внимание, что у незамкнутой петли (4) – грань, примыкающая к полюсам, не включена в петлю граней.

Более подробную информацию о работе с петлями граней можно найти в разделе: «выделение петли граней».

Полюсы (poles)

Смотрите N-полюсы & E-полюсы.

Неразвёртываемое (non-manifold)

Смотрите «неразвёртываемое».