
Способы отображения сетки 3д моделей
Здравствуйте! В данном уроке я хотел бы рассказать о известных мне методах отображения сетки 3д моделей в программе Blender. Рассказывать о том, зачем нужна демонстрация сетки сцены в ваших работах, о различных нюансах, я не стану, поскольку можно рассуждать об этом долго и нудно. Примем это как давнюю традицию в среде людей, занимающихся трехмерным моделированием.
Wireframe modeСамый популярный среди новичков, это один из методов отображения сцены во вьюпорте, называемый Wireframe. Активировать этот режим можно через меню viewport shading > wireframe, либо нажав клавишу Z. Способ хоть и простой, но не очень эффектный. Из-за того, что мы видим все ребра, становится трудно понять структуру модели и качество её построения. То же самое, если выбрать в свойствах материала метод отображения Wire вместо Surface.

Отображение сетки через параметр Wire в свойствах объекта
Тут уже дела обстоят лучше. В этом случае мы видим объект как полигональную поверхность с затенениями, а поверх неё располагается сетка, причем только по лицевой поверхности. Для того чтобы была возможность отображать все ребра объекта в этом режиме, можете также активировать параметр All Edges, что находится в настройках вьюпорта (N-панель).

Визуализация сцены в сермате (серый материал) с применением текстуры сетки
Этот метод дает довольно интересный результат, особенно когда программа визуализатор поддерживает GI (глобальное освещение). На выходе мы получаем довольно реалистичную картинку с гипсовыми объектами, поверх которых нанесена сетка. Для применения данного метода, для начала нам нужно сбросить координаты развертки каждого объекта в сцене (выделяем объект, переходим в режим редактирования, затем нажимаем U и в списке выбираем Reset). После этого создаем материал, затем текстуру для него, тип текстуры Image, в качестве текстуры загружаем картинку клетки ,, которая может быть любого цвета, по вашему желанию, я же выбрал черно-белую. Метод проецирования текстуры — UV.

После этого нам придется применить материал ко всем объектам в сцене и, собственно, жать на кнопку рендеринга. Несмотря на интересный результат, этот метод не лишен недостатков. Во первых, мы тратим время на создание дополнительных слоев Uv-развертки для объектов, в случае если объекты затекстурированы методом Uv-проецирования. Во вторых, применяем один материал на все объекты сцены, сбивая все исходные материалы и объекты с мультиматериалами. Ну и в третьих, размер ребер сетки не будет равномерным, к примеру, на больших и низкополигональных объектах ребра будут толстыми, а на многополигональных тонкими, что в конечном счете выглядит не очень красиво.

Экспериментальный

Этот метод похож на предыдущий, только в нем мы сможем добиться равномерно тонких ребер. Итак, начнем. Для начала создайте новый материал, параметры белого цвета у этого материала выкрутите на всю катушку. Включите отображение сетки как во втором варианте, но только теперь перейдите в режим отображения вьюпорта Textured. В итоге вы должны увидеть белый объект без затенений, на котором отображается черная сетка.

Далее, нам нужно в настройках рендеринга переключиться на режим альфаканала для экспортируемого изображения на Premulated и выбрать формат экспортируемого изображения как PNG с RGBA каналами.
Сохраняем изображение, нажав кнопочку OpenGL render active viewport. Рендерим сцену с нормальными материалами и текстурами.
Переходим в ноды композитинга, где смешиваем отрендеренную сцену с недавно сохраненной картинкой через нод Mix с методом смешивания слоев Multiply. Это преобразует белый цвет в прозрачный канал и оставит только черную сетку.

Использование специального аддона
На момент окончания написания этой статьи, на сайте blendernation.com/ появилась новость о появлении нового скрипта, с помощью которого можно автоматически создать материал состоящий из микса двух типов материалов: Surface и Wire. Замечу, что раньше их нельзя было смешать, даже в нодах материалов. Скачать скрипт можно с этой страницы: blenderartists.org/forum/showt...php?239505-setup-a-wire-render
Далее, я опишу способ применения данного скрипта. Сохраните скрипт wire_mat_gui.py в папке блендера ”addons” , к примеру, у меня такой путь к папке: «blender-2.60-windows32\2.60\scripts\addons», Открываем нужную нам сцену в блендере, заходим в пользовательские настройки (Ctrl+Alt+U), переходим в раздел Addons и ищем в списке аддон ”Setup Wire Materials”.

После чего активируем его и закрываем пользовательские настройки. Теперь в нашей сцене, в Т-панели появятся новые параметры, которые предоставляет аддон Setup Wire Materials. Мы можем выбрать цвет сетки и основного материала и еще пару незначительных параметров. Нажимаем на кнопку Apply materials, в результате чего ко всем 3д объектам в сцене применится новый материал.

Рендерим нашу сцену и наслаждаемся результатом, или же, как в случае с моим чайником, не наслаждаемся. Видимо, скрипт еще не очень совершенен, потому как сетка чайника, который имеет толщину стенок, отобразилась и на внутренней поверхности.

Однако, случай этот весьма частный, так как в большинстве случаев скрипт работает на ура!

На этом все! Конечно, это далеко не все способы отображения сетки для ваших моделей, но о основных я вам рассказал. Пробуйте, экспериментируйте и делитесь с другими!
С уважением, Yani-X.
Материал подготовлен для сайта: blender3d.org.ua
Сохраняем изображение, нажав кнопочку OpenGL render active viewport. Рендерим сцену с нормальными материалами и текстурами.
