Способы отображения сетки 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. Это преобразует белый цвет в прозрачный канал и оставит только черную сетку.
Использование специального аддона.
На момент окончания написания этой статьи, на сайте
появилась новость о появлении нового скрипта, с помощью которого можно автоматически создать материал состоящий из микса двух типов материалов: Surface и Wire. Замечу, что раньше их нельзя было смешать, даже в нодах материалов. Скачать скрипт можно с этой страницы:

Далее, я опишу способ применения данного скрипта. Сохраните скрипт 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.
Материал был подготовлен для сайта:
Сообщений
8, на страницах:
1добавить сообщение