Displacement на Geometry Nodes

Разберем на примере, как работает дисплейс (displacement) – выдавливание неровностей, в Blender на нодах геометрии “Geometry Nodes”.

Добавим в сцену цилиндр (диаметр 0.1, без верхнего и нижнего закрывающих полигонов): shift+a – Mesh – Cylinder.

Перейдем в режим редактирования (tab) и добавим промежуточных ребер так, чтобы сетка получилась равномерной: ctrl+r – 100 – Enter.

Читать далее «Displacement на Geometry Nodes»

Орто освещение

При освещении сцены источниками света типа “Spot” и “Point” лучи от таких источников света распространяются не параллельно. Это приводит к заметным искажениям, например, при освещении текстурой.

 

Распространение лучей перпендикулярно плоскости освещения (ортогонально) от источника света обеспечивает источник типа “Sun”, однако такой источник не поддерживает освещение текстурами.

Читать далее «Орто освещение»

Расчет Bounding Sphere для объектов

Чаще всего для быстрых упрощенных расчетов с геометрией объектов используются их Bounding Box – минимальный параллелепипед, в который вписан данный объект. Однако. иногда большую точность и простоту в расчетах может дать Bounding Sphere – минимальная сфера, в которую можно вписать объект. И если размеры и расположение Bounding Box доступно в Blender для любого объекта сразу, Bounding Sphere необходимо рассчитывать самостоятельно.

Напишем функцию, которая на основании переданного объекта вернет нам координаты центра и радиус описывающей его Bounding Sphere.

Читать далее «Расчет Bounding Sphere для объектов»

Как установить аддон в Blender

Для того, чтобы установить сторонний аддон в Blender:

Если аддон предоставляется в виде zip-архива – не нужно его распаковывать!

Читать далее «Как установить аддон в Blender»

Локализация аддонов Blender – через API

Классический способ локализации аддона Blender (перевода аддона на разные языки) удобен тем, что для него требуется всего лишь одно обращение к Blender python API – получение текущей используемой локали. Он хорош своей независимостью, однако Blender не был бы Blender-ом, если бы не предоставил пользователям возможность локализации аддонов через свой API.

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

Читать далее «Локализация аддонов Blender – через API»

Локализация аддонов Blender – классическая

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

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

Читать далее «Локализация аддонов Blender – классическая»

Blender – сто советов по моделированию

Видео-подборка с более чем сотней советов по моделированию в Blender.

Автор перевода: Bad Polygon

Читать далее «Blender – сто советов по моделированию»

Векторный Displacement

Урок в двух частях о том, как работает Vector Displacement в Blender, как его применять на практике, и как создавать геометрию при помощи нод из Shader Editor.

Часть 1:

Часть 2:

Автор: Erin Woodford

Читать далее «Векторный Displacement»

Еще один способ добавить автокомплит к коду при разработке аддонов Blender в Visual Studio Code

Для повышения удобства разработки аддонов Blender с помощью Microsoft Visual Studio Code в этой IDE можно подключить автодополнение кода для стандартных типов API Blender.

Метод подключения автодополнения кода предложен Zen3515.

Читать далее «Еще один способ добавить автокомплит к коду при разработке аддонов Blender в Visual Studio Code»

Часы в Blender при помощи нодов

Урок по созданию часов в Blender только с помощью нодов. В результате получается процедурный реал-тайм шейдер часового циферблата со стрелками.

Автор урока  Dr Blender

Процедурная эрозия и износ

Урок по созданию и использованию процедурных шейдеров эрозии и износа в Blender 2.9.

Автор: Erin Woodford

Читать далее «Процедурная эрозия и износ»

Как получить координаты точек рендера в композитинге

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

Получить фактор распределения координат по высоте или ширине рендера можно с помощью текстурных нод.

Читать далее «Как получить координаты точек рендера в композитинге»

Mantaflow – решение наиболее часто встречающихся проблем

Урок по симулятору жидкости и дыма “Mantaflow”. В нем рассматриваются самые часто встречающиеся проблемы и даются подсказки, как с ними справится.

Автор: Blender Made Easy

Прольем свет на цветовые пространства

Урок, рассказывающий о цветовых пространствах, используемых в Blender.

Автор Михаил Солуянов

Краткое содержание:

  • 0:00 – Об особенностях зрения
  • 1:18 – Что такое sRGB?
  • 2:02 – Разница между Linear и sRGB
  • 2:30 – Почему Blender использует Linear вместо sRGB?
  • 3:03 – Нормали и Non-color data

 

Основы освещения в Blender EEVEE

Урок, посвященный разбору различных аспектов освещения в рендер-движке Blender EEVEE.

Автор урока: Brainy Man

Читать далее «Основы освещения в Blender EEVEE»

Нормально о нормалях

Урок о том, что представляют из себя карты нормалей.

Автор Михаил Солуянов.

Краткое содержание:

  • 0:08 Проверьте себя: попробуйте найти ошибку
  • 0:34 Что такое Нормаль?
  • 1:12 В чем отличие карт нормалей DirectX и OpenGL?
  • 2:05 Как использовать DirectX карты в Blender?
  • 2:26 Инверсия карты нормалей на вывернутых полигонах
  • 2:53 Бонус

Выравнивание элементов пользовательского интерфейса по колонкам

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

Выровнять размеры кнопки и поля ввода здесь напрашивается само собой.

Читать далее «Выравнивание элементов пользовательского интерфейса по колонкам»

Eeve шейдер органики – вирус под электронным микроскопом

Два урока по созданию шейдера вируса под электронным микроскопом для рендер-движка Blender EEVEE.

nCoV-2019 Electron Microscope shader
 

SARS-CoV-2 2019-nCoV
Автор: Виталий Сокол

Рендер из консоли только на определенных GPU-картах

Иногда для эффективного распределения нагрузки на “железо” бывает нужно запустить рендер из Blender только на определенных видеокартах их нескольких имеющихся.

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

Читать далее «Рендер из консоли только на определенных GPU-картах»

Назначение вертексам дополнительных свойств

При работе с геометрией меша может появится необходимость назначить каждому вертексу дополнительные свойства или данные, которые должны записываться в blend-файл при сохранении, и к которым нужно иметь доступ.

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

Читать далее «Назначение вертексам дополнительных свойств»

Как сохранить данные меша в текст

Иногда бывает необходимо сохранить данные для создания меша (массивы его вертексов и индексов полигонов) в текст, например, для дальнейшего использования в скрипте или аддоне.

Можно экспортировать меш в один из открытых форматов, например в *.obj, но если нужны только данные по вертексам и полигонам, можно использовать следующий несложный скрипт:

Читать далее «Как сохранить данные меша в текст»

Создание кастомного свойства

API Blender предоставляет для использования набор простых типов свойств, описанных в bpy.props (IntProperty,  BoolProperty и т.д.). Но базовых типов не всегда хватает, иногда нужны более сложные. API Blender позволяет группировать простые свойства, создавая таким образом более сложные.

Рассмотрим создание такого свойства на примере матрицы 3х3.

Читать далее «Создание кастомного свойства»