Гизмо (gizmos)

../../_images/modeling_geometry-nodes_gizmos_grid-with-gizmo.png

Сетка с гизмо в 3D-вьюпорте.

Гизмо позволяют изменять входы геометрических нод непосредственно в 3D-вьюпорте. Зачастую это более интуитивно понятно, чем управление входами в модификаторе или редакторе нод.

Использование гизмо

Входы ноды, которые могут управляться с помощью гизмо, имеют дополнительный значок. Гизмо этой ноды отображаются при её выделении. Щелчок по значку закрепляет гизмо, он будет отображаться, даже если нода не выделена. Изменение гизмо в 3D-вьюпорте – изменяет значение в сокете.

../../_images/modeling_geometry-nodes_gizmos_grid-with-gizmo-node.png

Пример группы нод, содержащей гизмо.

Примечание

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

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

../../_images/modeling_geometry-nodes_gizmos_propagation.png

Гизмо распространяется от входного сокета Size X к ноде Value.

Гизмо также могут быть распространены на ноду Group Input, в этом случае они также доступны на родительской нодовой группе. Если текущая группа используется модификатором напрямую – гизмо также будет доступен на модификаторе. Гизмо, которые распространены на модификатор, будут всегда отображаться при активном модификаторе, независимо от того, будет ли видна или выделена какая-либо нода.

Создание пользовательских гизмо

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

Чтобы добавить гизмо в группу нод, нужно использовать одну из нод Gizmo. Главный аспект, который, на первый взгляд, делает гизмо неинтуитивно понятными, заключается в том, что существует двунаправленная зависимость: изменение положения гизмо изменяет контролируемое значение и наоборот.

Самая простая настройка пользовательского гизмо показана ниже. Нода Linear Gizmo добавляет гизмо, который рисуется в 3D-вьюпорте. Гизмо управляет значением, которое в него вставляется. Практикуя рабочий процесс – вы заметите, что гизмо всегда возвращается в начало координат, в то время как значение – изменяется. Это происходит потому, что Position ноды гизмо пока не зависит от самого значения.

../../_images/modeling_geometry-nodes_gizmos_simplest-gizmo.png

Самая простая настройка пользовательского гизмо.

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

../../_images/modeling_geometry-nodes_gizmos_simple-gizmo-with-position.png

Простая настройка гизмо, где положение гизмо зависит от контролируемого значения.

Одновременно ко входу Value Gizmo-нод может быть подключено несколько значений. В этом случае все эти значения изменяются одновременно при перемещении гизмо. Если значения должны изменяться с разной скоростью – могут использоваться ноды умножения или деления.

Выход Transform нод Gizmo должны быть объединены с геометрией, которой управляет гизмо. Это помогает Blender’у понять, что гизмо должны быть трансформированы вместе с геометрией.

../../_images/modeling_geometry-nodes_gizmos_grid-with-gizmo-nodes.png

Пример, показывающий, как добавлять простые гизмо во встроенную ноду Grid.

Примечание

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