Структура (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)

Custom split normals are a way to tweak/fake shading by pointing normals towards other directions than the default, auto-computed ones. It is mostly used in game development, where it helps counterbalance some issues generated by low-poly objects (the most common examples are low-poly trees, bushes, grass, etc. and the „rounded“ corners).

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

Custom split normal data is stored as the custom_normal Attribute on the face corner Domain.

Совет

The computation of custom split normals can be disabled to improve performance. This option can be found in the Simplify Rendering Settings.

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

Ссылка

Режим (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)

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