title: GUI-клипирование
GUI-ноды могут использоваться с целью клипирования других нод, то есть в качестве масок, влияющих на отображение других нод. В этом руководстве объясняется, как работает эта возможность.
Ноды Box, Text и Pie могут быть использованы для клипирования. Чтобы создать ноду клипирования, добавьте ноду в GUI, а затем задайте ее свойства соответствующим образом:
Clipping Mode : Режим, используемый для клипирования.
None --- рендерит ноду без какого-либо клипирования.Stencil --- заставляет ноду вписаться в текущую трафаретную маску.Clipping Visible : Отметьте, чтобы рендерить содержимое ноды.
Clipping Inverted : Отметьте, чтобы вписать инверсию формы ноды в маску.
Затем добавьте ноду(ы), которую нужно клипировать, в качестве дочерней к ноде клипирования.
{srcset="images/gui-clipping/[email protected] 2x"}
Клипирование работает за счет того, что ноды записывают данные в трафаретный буфер. Этот буфер содержит маски клипирования: информацию, которая сообщает видеокарте, должен ли пиксель быть отрендерен или нет.
Stencil, запишет свою форму (или ее инверсную форму) в новую маску клипирования, хранящуюся в трафаретном буфере.
{srcset="images/gui-clipping/[email protected] 2x"}
Здесь три ноды расположены в иерархической структуре:
Для этой иерархии возможны четыре комбинации нормальных и инвертированных клиперов. Зеленая область отмечает часть окружности, которая рендерится. Остальная часть маскируется:
{srcset="images/gui-clipping/[email protected] 2x"}
Слои можно использовать для управления порядком рендеринга (и пакетирования) нод. При использовании слоев и нод клипирования обычный порядок наслоения отменяется.
::: sidenote Нода клипирования и ее иерархия будут отрисованы первыми, если ей назначен слой, и в обычном порядке, если слой не назначен. :::
{srcset="images/gui-clipping/[email protected] 2x"}
Здесь нода клиппера "ocular" установлена в "layer3", а нода "bean" --- в "layer1". Поэтому текстура клиппера "ocular" отрисовывается поверх обрезанного bean'.
Ноде "shield" задано "layer2", но это не влияет на порядок рендеринга ноды по отношению к "ocular" или "bean". Чтобы изменить порядок рендеринга ноды "shield", измените индексный порядок дерева нод.