Сдвиг дерева нодов в начало координат рабочей области

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

Чтобы сместить все нодовое дерево к началу координат без искажений, мы будем отталкиваться от текущего активного нода. Сместим его в начало координат рабочей области, точку (0.0, 0.0). Все остальные ноды сместим относительно него на точно такое же расстояние.

Shader Editor

Возьмем текущий активный нод

Получим его координаты

Это и есть тот вектор смещения, на который нам нужно сдвинуть все ноды.

Используем copy() чтобы получить статическую копию значений, иначе, когда нод сместится в начало координат, нужные значения будут потеряны.

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

Полный код скрипта:

Выполним этот скрипт для каждого материала и централизуем окно рабочей области редактора нажатием клавиши с точкой  (Del) на цифровой части клавиатуры.

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

Geometry Nodes Editor

Для рабочей области Geometry Nodes все работает точно так же.

Активный нод:

Статическая копия вектор смещения:

Сдвигаем каждый нод на полученное смещение:

Полный код скрипта:

5 1 голос
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии