Обновление модулей для автокомплита fake-bpy-modules для Blender Python API

Обновление модулей автокомплита Blender Python API от Nutti — добавлена ветка для Blender 2.81a.

Последний релиз от 2020.01.11.

GitHub автора: https://github.com/nutti/fake-bpy-module

Файлы отдельно (без установки через pip) https://github.com/Korchy/blender_autocomplete

Настройка выделения точек в Blender 2.8x

В Blender 2.79 точки меша выделялись в режиме выделения «tweak» зажатой клавишей «shift» и небольшим движением курсора с нажатой правой кнопкой мышки. Это позволяло быстро добавлять вертексы к выделению не выцеливая каждый вертекс со снайперской точностью.

В Blender 2.8x в связи с переходом на выделение левой кнопкой мышки этот способ стал недоступен. Для тех пользователей, которые остались «на правой кнопке» ничего не изменилось, все работает, как и раньше, выделение «твиком» поломалось только у тех, кто перешел на выделение левой кнопкой мышки.

Для того, чтобы использовать выделение «твиком» на левой кнопке, нужно внести следующие изменения в настройки сочетаний клавиш:

Читать далее «Настройка выделения точек в Blender 2.8x»

Аддон Blender «Neoner» v. 1.1.0.

Обновление аддона Blender «Neoner» до версии 1.1.0.

  • Добавлена автоматическая обработка мешей (переключатель FLAT/VOLUME Shape)
  • На панель вынесены часть настроек «Bloom»
  • Улучшен материал трубок

Gumroad

Куда в Blender 2.8x переместилась кнопка блокировки трансформаций объектов

В Blender 2.8 кнопка блокировки трансформаций мешей (Manipulate center points) перемещена в N-панель во вкладку «Tool» (Options — Transform — Affect only — Locations) и ее вид изменен с кнопки на чекбокс.

Почему нужно платить за аддон

На самом деле — все очень просто. Оплачивая аддон, вы платите совсем не за тот аддон, который покупаете. Этот аддон уже написан. Разработчик уже потратил на него свое время и силы. Касательно именно этого аддона — будет он оплачен или нет, уже совершенно без разницы. За что же тогда платить? Вы платите в будущее. Вы оплачиваете те аддоны, которые разработчик пишет сейчас и напишет в будущем. Если аддон покупается, разработчик имеет возможность продолжать разработку. Если нет — он займется чем-нибудь другим и новых аддонов, а также усовершенствования и портирования на новые платформы уже написанных, вы не получите. Оплачивая аддон, вы обеспечиваете, в первую очередь — себе, возможность получать новые аддоны и техническую поддержку старых. Оплачивайте аддоны и делайте донат в бесплатные — это принесет пользу в первую очередь вам самим.

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

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

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

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

Как разделить и объединить окна в Blender через python API

Для манипуляций с размерами и положением интерфейсных окон в Blender предусмотрен ряд операторов.

Чтобы разделить текущее (с текущим context) окно на два в заданном соотношении, нужно выполнить оператор:

Где:

  • direction указывает на направление разбиения — по горизонтали ‘HORIZONTAL’ или по вертикали ‘VERTICAL’
  • factor — процентное соотношение разделенный окон по выбранному направлению

Читать далее «Как разделить и объединить окна в Blender через python API»

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

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

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

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

Генератор шаблонов для создания аддона v.1.1.0

Генератор шаблонов для создания аддона Blender обновлен до версии 1.1.0.

  • Добавлен шаблон для Blender 2.81.
Gumroad

 

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

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

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

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

Как узнать текущую версию Blender через Python API

Для того, чтобы получить текущую версию Blender, нужно выполнить команду:

или

Читать далее «Как узнать текущую версию Blender через Python API»

Рисование в окне вьюпорта

API Blender предоставляет возможность рисовать в окне вьюпорта (3D Viewport) при помощи модуля gpu.

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

Читать далее «Рисование в окне вьюпорта»

Создание компьютерной платы нодами

Стрим от Simon Thommes по созданию печатной платы шейдерными нодами в nodevermber челлендже.

 

 

BIS: обновление материалов под Blender 2.81

В связи с изменениями в структуре нодов в последнем релизе Blender 2.81 все открытые материалы в BIS обновлены под эту версию Blender. Совместимость с младшими версиями Blender могла быть потеряна (зависит от используемых в материале нодов).

Как привязать к нажатию кнопки вызов функции, а не оператора

К нажатию кнопки в пользовательском интерфейсе обычно привязывают вызов нужного оператора. Однако часто действия, которые нужно выполнить при нажатии на кнопку, достаточно просты и не требуют оформления в виде отдельного оператора. Да и забивать стек зарегистрированных операторов множеством специфических операторов, рассчитанных на выполнение одной конкретной узкоспециализированной функции не имеет смысла. Гораздо удобнее было бы связать нажатие кнопки с вызовом отдельной функции, однако API Blender позволяет связывать кнопки только с вызовом оператора.

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

Читать далее «Как привязать к нажатию кнопки вызов функции, а не оператора»