Изучая полигональное моделирование, постоянно встречается упоминание о «нормалях». При этом увидеть их нигде не получается. Но благодаря модификатору Edit Normals эти скрытые элементы можно не только увидеть, но и редактировать.
1. Нормали и что они делают
Нормалями обладает каждая точка Vertex объекта. Точка может иметь одну или несколько нормалей. Количество нормалей зависит от числа полигонов, объединенных этой точкой. Нормали влияют на то, как поверхность объекта будет отражать свет.
Положение нормалей можно связать со сглаженностью объекта. Если точка имеет несколько нормалей, то каждая из них будет перпендикулярна одному из прилежащих полигонов. Когда у полигона все точки такие, то он получается жестким и несглаженным.
В случае, если точки имеют одну нормаль, то полигон будет сглаживаться. Причем, такая точка будет сглаживать все прилежащие полигоны, но не целиком.
Именно из-за правильного отражения света объект выглядит сглаженным или неровным даже при малом числе полигонов.
2. Edit Normals
Все указанные действия совершаются в модификаторе Edit Normals. Чтобы им пользоваться, нужно создать любой геометрический объект и перейти в Modify – Modifier List – Edit Normals. В зависимости от объекта и его сглаженности, нормали могут располагаться иначе.
Select By – режимы выбора нормалей.
Normal – выбор каждой отдельной нормали.
Vertex – выбор всех нормалей, принадлежащих одной точке.
Edge – выбор всех нормалей, принадлежащих одному ребру. Если у точки несколько нормалей, то выбираются не все.
Face – выбор всех нормалей, принадлежащих фейсам (Face). Если у точек несколько нормалей, то выбираются не все.
Ignore Backfacing – игнорирование задних нормалей при выделении.
Show Handles – отображение маркеров на вершинах нормалей.
Display Length – значение длины прямой, отображающей нормаль.
Unify – усредняет направление всех нормалей в точке. Общее направление задается относительно прилежащих полигонов. Включение функции Unify/Break to Average усредняет нормали по их среднему направлению. Полигоны в этом случае не влияют.
Break – разделяет одну нормаль на шесть. Все они будут направлены так, чтобы быть перпендикулярными своим полигонам. Включение функции Unify/Break to Average также разделяет нормали, но сохраняет их направление.
[banner-art]
Average – инструмент усреднения нормалей.
Selected – устанавливает все выбранные нормали в одно, общее положение.
Use Threshold – установка дистанции. За пределами этой дистанции нормали не будут усредняться, даже если были выбраны. Эта функция полезна, чтобы не перенаправить случайно выделенную нормаль.
Target – усреднение двух нормалей с помощью целевого выбора. Включив функцию Target, нажмите сначала на одну нормаль, затем на вторую. Обе нормали усредняются по общему для них значению.
Pixels – дальность в пикселях между курсором и нормалью. Это значение регулирует точность наведения курсора на нормаль в режиме Target.
Copy Value – копирование направления выбранной нормали.
Paste Value – присвоение скопированного направления новой, выделенной нормали.
Specify – присваивает нормали тип Specified.
Нормали такого типа не учитывают группы сглаживания, присвоенные объекту.
Reset – восстанавливает изначальное положение нормали.
Make Explicit – присваивает нормали тип Explicit.
Нормали такого типа задаются для того, чтобы можно было их перемещать и вращать.
3. Передвижение и вращение нормалей
Нормали, как и другие подобъекты, можно перемещать и вращать. Для этого их нужно просто выделить и воспользоваться инструментом Select and Move/Rotate на панели Main Toolbar. Тип Explicit, необходимый для подобных изменений, будет назначен автоматически.
Редактирование нормалей – инструмент тонкой настройки объекта. Обычно им пользуются косвенно через функцию или модификатор Smooth, через Smoothing Groups. Тем не менее, нормали несут очень важную информацию – способ отображения поверхности объекта. Поэтому даже если не приходится их редактировать, обязательно нужно понимать принцип их работы.