суббота, 21 марта 2020 г.

Собственные Matcap в Blender.

 Matcap (маткап) – это материал, дающий наглядное (или не очень) представление вашей модели имитируя материал и настройки окружения с помощью всего одного изображения.

До выхода Blender версии 2.66 можно было воспользоваться маткапами лишь сторонних приложений (таких как Zbrush или Sculptris) или собственного производства методами, которые мы рассмотрим в данном уроке. Во всем этом было (и есть) три главных недостатка:

  • Самостоятельно создавать маткапы относительно долго и не всегда хочется.
  • Они создают дополнительную нагрузку на процессор и память, как во время скульптинга, так и при полигональном моделировании.
  • В режиме скульптинга у вас нет возможности использовать маску поверх созданного вами материала (тут на помощь приходит аддон OpenGL Lights, но сегодня не об этом).
Но с выходом версии 2.66 у нас появилось 24 встроенных маткапа, лишенные данных недостатков.

Коротко о том, как это работает…

При использовании маткапа на модели будет отображаться лишь определенная часть изображения в зависимости от направления нормали грани. Рассмотрим на простом примере:

На превью маткапа мы видим голубую сферу, которая освещена справа и слева. При чем легко заметить, что справа свет идет немного сверху, а слева он светит строго или практически в центр сферы. Теперь посмотрите на Сюзанну. Точно такая же история :) Выглядит она так, как будто они со сферой имеют идентичный материал и находятся в одинаковых условиях освещения. Если назначить маткап на сферу, она вовсе 100% будет соответствовать превью маткапа.

Встроенные маткапы лишены всех недостатков созданных самостоятельно, потому как они полностью обходят весь код Blender по созданию шейдеров и вместо этого используют несколько строк GLSL кода и одно изображение с разрешением 512х512, которое занимает около мегабайта оперативной памяти и практически никак не замедляет процессор. Превью маткапа имеет разрешение 128х128 пикселей и также храниться в оперативной памяти, но вряд ли это замедлит ваш ПК.

С теорией, пожалуй, закончим и перейдем к практике. Сначала я покажу как использовать уже готовые изображения, которые вы можете найти по всему интернету сотнями, а затем покажу два способа создания собственных непосредственно в Blender.

Настройка Matcap в Cycles.

Берем координаты нормалей меша (Texture Coordinate), преобразовываем их в координаты камеры (Vector Transform) и изменяем масштаб и положение текстуры. Получившийся вектор используем в качестве вектора изображения нашего маткапа. В качестве шейдера может выступать, как Emission, так и Diffuse. В окне 3D-вида включаем режим отображения Material. Все, наслаждаемся собственным маткапом.

Настройка Matcap в BI.

Для тех, кто все еще использует BI процесс выглядит практически также, только без использования нодов. Shadeless (аналог Emission), координаты нормалей и текстура маткапа. Работает уже все не в режиме Material, а в режиме Textured и необходимо изменить тип шейдинга на GLSL.

Создаем Matcap самостоятельно с помощью сферы.




Добавьте в сцену UV-сферу, примените к ней модификатор Subdivision Surface в уровень 2 или даже 3 и шейдинг Smooth. Добавьте в сцену камеру, установите разрешение 512х512 и расположите камеру перед сферой так, чтобы камера выступала касательной для всех 4-х сторон сферы (View → Align View → Align Active Camera to Selected).

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

Создаем Matcap самостоятельно с помощью нодов пост-обработки.



Возьмите любое изображение 512х512 пикселей и подключите его к дереву нодов, как показано выше. Сначала мы заблюрим изображение с помощью нода Blur, затем придадим ему четкие грани с помощью нода Lens Distortion и в завершении немного увеличим получившийся результат, чтобы избежать появления артефактов на модели ввиду. 





Комментариев нет:

Отправить комментарий