Instances (экземпляры)

../../_images/modeling_geometry-nodes_instances.png

Три типа экземпляров.

В дополнение к хранению реальных данных, таких как сетка или кривая, геометрия может хранить экземпляры, которые сами по себе могут ссылаться на другую геометрию, объект или коллекцию. Цель создания экземпляров — позволить включить в результат гораздо больше геометрии, не дублируя фактические данные. Это связано с тем, что средство визуализации, такое как Cycles, может обрабатывать одни и те же данные геометрии во многих разных местах лучше, чем когда данные дублируются.

Каждый экземпляр отслеживает, какой геометрии он соответствует, и and a Transform. Экземпляры также могут хранить атрибут id, используемый для правильного размытия движения при движении экземпляров в анимации.

Основным узлом, используемым для создания экземпляров в узлах геометрии, является Узел Instance on Points.

Предупреждение

В настоящее время создание экземпляров из узлов геометрии нельзя смешивать с созданием экземпляров из панели Instancing в редакторе свойств.

Вложенный экземпляр

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

../../_images/modeling_geometry-nodes_instances-nested.png

A node group that creates nested instancing by chaining Instance on Points nodes.

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

../../_images/modeling_geometry-nodes_instances-nested-tree.png

Дерево экземпляров геометрии для приведённого выше примера.

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

Предупреждение

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

Обработка экземпляра

Почти все узлы, которые обрабатывают геометрию, делают это, обрабатывая каждую уникальную геометрию в своём входном дереве экземпляров отдельно. Например, если узел Узел Subdivision Surface был размещён в конце приведенного выше примера, ему нужно было бы разделить только три меша, а не каждый экземпляр меша. Другим важным примером является обработка с выходом узла Узел String to Curves (строка в кривые), где каждый уникальный символ должен быть обработан только один раз.

Этот метод может значительно повысить производительность, но это означает, что результат операции будет одинаковым для каждого экземпляра определённой геометрии. Чтобы получить уникальные результаты для каждого экземпляра, можно использовать узел Узел Realize Instances.