Какие бывают нормали, и зачем нужны. Часть вторая: Вертексные нормали, и где они обитают.

В предыдущем выпуске: как работают карты нормалей и группы сглаживания.

Как мы уже разобрались, вертексные нормали неплохо справляются с обманом нашего зрения, и позволяют без тонны полигонов создавать "гладкие" поверхности. В случае с цилиндром это работает так (вид сверху) :

Какие бывают нормали, и зачем нужны. Часть вторая: Вертексные нормали, и где они обитают. Cgimedia, Урок, 3ds Max, 3D моделирование, Длиннопост

Голубая линия показывает то, как реагирует на освещение поверхность от подобного сглаживания. Выглядит как нам надо. Но что если применить группы сглаживания на куб с фасками? Увы, тут данное усреднение будет несколько ломать картину:

Какие бывают нормали, и зачем нужны. Часть вторая: Вертексные нормали, и где они обитают. Cgimedia, Урок, 3ds Max, 3D моделирование, Длиннопост

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

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

***

Нам нужно, чтобы скругленными притворялись только фаски, а значит нужно редактировать нормали вручную. В 3DS Max для этого служит модификатор Edit Normals.

И работать с ним можно разными способами:


1. Способ первый, ручной.


Выбираем нормали либо поштучно (Select By Normal), либо по принадлежности к одному ребру (Edge), грани (Face), или же вершине (Vertex).

Какие бывают нормали, и зачем нужны. Часть вторая: Вертексные нормали, и где они обитают. Cgimedia, Урок, 3ds Max, 3D моделирование, Длиннопост

Для усреднения значения выделенных нормалей используем Average//Selected. В нашем случае поочередно выделяем те грани "куба", которые должны оставаться без искажения (в режиме by face) и жмакаем на кнопку [selected]. Вы восхитительны!

Какие бывают нормали, и зачем нужны. Часть вторая: Вертексные нормали, и где они обитают. Cgimedia, Урок, 3ds Max, 3D моделирование, Длиннопост

Также можно разделять вершины, отключая группы выделением  by vertex и кнопкой [break], после чего копипастой перенести нужные значения на вершины фасок (клавиши [copy value] / [paste value]).


- Это ж сколько времени нужно копипастой обрабатывать сложнее кубиков, хотя бы на 1000 поли?!


Долго. Очень долго. Поэтому полностью ручной метод оставим мазохистам и тем, кому некуда девать свое время. Ладно, что-то длиннопост затягивается, разобью на несколько частей :)


В следующей части: Скрипты для автоматизации работы с Vertex Normals (только для 3ds max)

CGI Media

2.9K постов6.5K подписчиков

Добавить пост

Правила сообщества

• Посты должны соответствовать тематике cообщества.

• Не допускается спам и нарушение правил сайта pikabu.