Структура (structure)#
Структура любого меша состоит из вершин, рёбер и граней.
Вершины (vertices)#
Самой элементарной частью меша является вершина (множественное число вершины), которая представляет собой одну точку или позицию в 3D-пространстве. Вершины представлены в 3D-вьюпорте в режиме редактирования в виде маленьких точек. Вершины объекта хранятся в виде массива координат.
Совет
Не принимайте за вершину ориджин объекта. Он может выглядеть примерно так же, но он больше и не может быть выделен.
Рёбра / Края (edges)#
Ребро всегда соединяет две вершины прямой линией. Рёбра выглядят как «проволока», когда вы смотрите на меш в каркасном режиме. Они обычно не видны на визуализированном изображении. Рёбра участвуют в построении граней.
Грани (faces)#
Грани образуют фактическую поверхность объекта. Они остаются видимыми при рендере меша. Если область не содержит грани, то она будет прозрачна или отсутствовать в рендеринге изображения.
Грань образуется между тремя (треугольник), четырьмя (четырёхугольник) или бо́льшим числом (N-угольник) вершин с рёбрами на каждой стороне. Часто такие грани называют сокращенно tris, quads & n-gons.
Треугольники всегда являются плоскими и поэтому легко вычисляются. С другой стороны, четырёхугольники «более пластичные», что предпочтительно для анимации и при технике моделирования подразделением.
Нормали (normals)#
В геометрии, нормаль – это направление или линия, перпендикулярная чему-либо, обычно треугольнику или поверхности, но может быть и относительно линии, касательной к точке на кривой или касательной плоскостью к точке на поверхности.
Нормали помогают определять шейдинг меша и многое другое.
На рисунке выше каждая синяя линия представляет собой нормаль к грани тора. Линии перпендикулярны грани, на которой они лежат. Визуализация может быть активирована в режиме редактирования на панели отображения наложений во вьюпорте.
Шейдинг (shading)#
Нормали поверхности играют фундаментальную роль в определении того, как свет взаимодействует с 3D-объектами, и, таким образом, сильно влияют на затенение этих объектов. Нормали могут быть с гладким затенением или плоским.
Когда для меша используется плоское затенение – грани рендерятся и отображаются равномерно. Обычно это желательно для объектов с плоской поверхностью, таких как куб или пирамида.
Когда меш использует гладкое затенение – нормали интерполируются через вершины полигонального меша, чем можно добиться плавных переходов между соседними полигонами, что приводит к более реалистичному виду.
По умолчанию нормали граней имеют плоское затенение, однако это можно настроить как для всего объекта, так и для каждой грани.
Чтобы настроить шейдинг всего объекта, используйте:
Гладкое затенение (shade smooth) – Чтобы пометить весь объект, как сглаженный
Гладкое авто затенение (shade auto smooth) – Чтобы пометить части объекта как сглаженные
Чтобы вернуться к плоскому затенению, используйте Плоское затенение (shade flat)
Шейдинг объектов также может быть настроен для каждой грани, ребра или вершины.
Настраиваемые разделённые нормали (custom split normals)#
Custom Split Normals – это способ подстроить шейдинг, направив нормали в другие стороны, а не в те, которые вычисляются автоматически по умолчанию. В основном используется в разработке игр, где помогает компенсировать некоторые проблемы, возникающие при использовании низкополигональных объектов (наиболее распространённые примеры – низкополигональные деревья, кусты, трава и т. д., и „закруглённые“ углы).
Blender поддерживает пользовательские нормали на основе „smooth fan“, определяемого как набор соседних углов граней, имеющих одну и ту же вершину и „связанных“ сглаженными рёбрами. Это означает, что вы можете задавать нормали на углы грани, на набор соседних углов грани или на вершины.
Совет
Вычисление настраиваемых разделённых нормалей может быть отключено для повышения производительности. Эту опцию можно найти в разделе упрощения в настройках рендера.
Редактирование настраиваемых разделённых нормалей#
Ссылка
- Режим (mode):
Режим редактирования (edit mode)
- Меню:
- Горячая клавиша:
Alt-N
Существует ряд инструментов для редактирования пользовательских разделённых нормалей. Инструменты редактирования пользовательских нормалей меша могут влиять на все нормали (по умолчанию) или только на выделенные. Чтобы выделить пользовательскую нормаль, связанную с определённой вершиной и гранью:
Установите режим выделения для элементов «вершина» и «грань» вместе (используйте Shift-ЛКМ, чтобы заодно включать и второй режим).
Выделите одну или несколько вершин, затем выделите грань. Это можно повторить, чтобы выделить больше вершин и других граней, и так далее. Легче всего увидеть эффект от этих инструментов, если включить опцию наложений режима редактирования меша – отображать нормали к граням в виде линий.
См.также
Импорт настраиваемых разделённых нормалей#
Некоторые инструменты, особенно используемые в CAD, склонны генерировать неправильную геометрию при тесселяции своих объектов в меши (очень тонкие и длинные треугольники и т.д.). Автовычисление нормалей для такой геометрии часто даёт артефакты, поэтому важно иметь возможность импортировать и использовать нормали, сгенерированные самим CAD-инструментом.
Примечание
В настоящее время только импорт FBX и импорт Alembic способны импортировать пользовательские нормали.
Топология (topology)#
Петли (loops)#
Петли рёбер и граней – это наборы граней или ребёр, которые образуют непрерывные «петли», как показано на рис. Петли рёбер и граней..
На изображении выше, циклическими петлями являются те, которые не прерываются полюсами (1 и 3). Они начинаются и заканчиваются в одной и той же вершине и делят модель на две части. Петли могут быть быстрым и мощным инструментом для работы с определёнными, непрерывными областями меша и являются необходимым условием для анимации органических персонажей. Подробное описание того, как работать с петлями в Blender, см. в разделе: «выделение петли рёбер».
Примечание
Обратите внимание, что петли (2 и 4) не опоясывают модель полностью. Петля остановилась на так называемых полюсах, где возникла неоднозначность в выборе пути для продолжения построения петли. Полюс – это вершина, которая соединена тремя, пятью или бо́льшим числом рёбер. Соответственно вершина, соединённая одним, двумя или четырьмя рёбрами, не является полюсом.
Петли рёбер (edge loops)
Петли (1 и 2) на рисунке выше – это петли рёбер. Они образуются соединением вершин, так что каждая из них в петле имеет ровно двух соседей, которые не принадлежат к петле и располагаются по обеим сторонам петли (за исключением начальной и конечной точек в случае с полюсами).
Петли рёбер – важная концепция, особенно в области моделирования живых существ (подповерхность органики) и анимации персонажей. При правильном использовании они позволяют вам создавать модели с относительно небольшим количеством вершин, которые выглядят очень естественно при использовании поверхностей с подразделениями и очень хорошо деформируются в анимации.
Если посмотреть на рисунок Петли рёбер и граней. как на пример моделирования живого существа: петли рёбер следуют естественным контурам и линиям сгибов кожи и лежащих под ней мышц, более плотны в областях, которые деформируются когда персонаж двигается, например на плечах или коленях.
Более подробную информацию о работе с петлями рёбер можно найти в разделе «выделение петли рёбер».
Петли граней (face loops)
Они являются логическим расширением петель рёбер, поскольку состоят из граней между двумя петлями рёбер, как показано на петлях (3 и 4) рисунка Петли рёбер и граней.. Обратите внимание, что у незамкнутой петли (4) – грань, примыкающая к полюсам, не включена в петлю граней.
Более подробную информацию о работе с петлями граней можно найти в разделе: «выделение петли граней».
Полюсы (poles)#
Смотрите N-полюсы & E-полюсы.
Неразвёртываемое (non-manifold)#
Смотрите «неразвёртываемое».