Какие бывают нормали, и зачем нужны. Часть вторая: Вертексные нормали, и где они обитают.
В предыдущем выпуске: как работают карты нормалей и группы сглаживания.
Как мы уже разобрались, вертексные нормали неплохо справляются с обманом нашего зрения, и позволяют без тонны полигонов создавать "гладкие" поверхности. В случае с цилиндром это работает так (вид сверху) :
Голубая линия показывает то, как реагирует на освещение поверхность от подобного сглаживания. Выглядит как нам надо. Но что если применить группы сглаживания на куб с фасками? Увы, тут данное усреднение будет несколько ломать картину:
Как мы видим, при общей группе сглаживания, куб как бы "замыливается". Ведь нормали сглаживают посредством усреднения, а значит каждая грань начинает притворятся скругленной поверхностью.
***
Кстати, обратите внимание, что для несглаженной грани у вершины своя нормаль, а на гладких участках они общие для соседних граней. На самом деле каждая вершина имеет одну нормаль, и жесткое разделение групп сглаживание создает нам копию вершины в тех же координатах, но с другой нормалью. Об этом в комментарии к предыдущему посту уже писал @SuperMopsek.
***
Нам нужно, чтобы скругленными притворялись только фаски, а значит нужно редактировать нормали вручную. В 3DS Max для этого служит модификатор Edit Normals.
И работать с ним можно разными способами:
1. Способ первый, ручной.
Выбираем нормали либо поштучно (Select By Normal), либо по принадлежности к одному ребру (Edge), грани (Face), или же вершине (Vertex).
Для усреднения значения выделенных нормалей используем Average//Selected. В нашем случае поочередно выделяем те грани "куба", которые должны оставаться без искажения (в режиме by face) и жмакаем на кнопку [selected]. Вы восхитительны!
Также можно разделять вершины, отключая группы выделением by vertex и кнопкой [break], после чего копипастой перенести нужные значения на вершины фасок (клавиши [copy value] / [paste value]).
- Это ж сколько времени нужно копипастой обрабатывать сложнее кубиков, хотя бы на 1000 поли?!
Долго. Очень долго. Поэтому полностью ручной метод оставим мазохистам и тем, кому некуда девать свое время. Ладно, что-то длиннопост затягивается, разобью на несколько частей :)
В следующей части: Скрипты для автоматизации работы с Vertex Normals (только для 3ds max)
CGI Media
2.9K постов6.5K подписчиков
Правила сообщества
• Посты должны соответствовать тематике cообщества.
• Не допускается спам и нарушение правил сайта pikabu.