Instances

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

Les trois types d’instances.

En plus de stocker des données réelles comme un maillage ou une courbe, une géométrie peut stocker des instances, qui elles-mêmes peuvent référencer plus de géométrie, ou un objet, ou une collection. Le but de l’instanciation est de permettre d’inclure beaucoup plus de géométrie dans le résultat, sans dupliquer les données réelles. En effet, un moteur de rendu comme Cycles peut mieux gérer les mêmes données géométriques dans de nombreux emplacements différents que lorsque les données sont dupliquées.

Chaque instance garde une trace de la géométrie à laquelle elle correspond et une Transform. Les instances peuvent également stocker l’attribut id, utilisé pour corriger le flou de mouvement lorsque les instances se déplacent dans une animation.

Le nœud principal utilisé pour créer des instances dans les nœuds géométriques est le Nœud Instance on Points.

Avertissement

Actuellement, l’instanciation des nœuds de géométrie ne peut pas être mélangée avec l’instanciation du panneau Instanciation dans l’éditeur de propriétés.

Instanciation imbriquée

Étant donné que les instances peuvent stocker une géométrie et qu’une géométrie peut contenir des instances, l’instanciation imbriquée est possible. En d’autres termes, il est possible d’instancer une instance, voire une collection d’instances. Par défaut, le Nœud Instance on Points créera des instances imbriquées en instanciant sur les points la géométrie réelle et la géométrie instanciée.

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

Un groupe de nœuds qui crée une instanciation imbriquée en chaînant le instance on points

Ici, l’instanciation imbriquée est utilisée pour distribuer la géométrie qui contient à la fois un maillage et des instances. La géométrie en sortie contient un maillage « réel » et un groupe d’instances. Chaque instance contient un maillage de sphère et de nombreuses instances d’une géométrie de cône.

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

L’arbre de la géométrie instanciée pour l’exemple ci-dessus.

Ce qui rend cette méthode utile, c’est que la géométrie de sortie ne contient que trois maillages uniques: le plan, la sphère et le cône. Cela rendrait les performances bien meilleures si les maillages étaient plus compliqués.

Avertissement

Only eight levels of nested instancing are supported for rendering and the viewport currently. Though deeper trees of instances can be made inside geometry nodes, they must be realized at the end of the node tree.

Traitement des instances

Presque tous les nœuds qui traitent la géométrie le font en traitant séparément chaque géométrie unique dans l’arbre d’instances de leur entrée. Par exemple, si un Nœud Subdivision Surface était placé à la fin de l’exemple ci-dessus, il n’aurait à subdiviser que trois maillages, plutôt que chaque instance d’un maillage. Un autre exemple important est le traitement avec la sortie du Nœud String to Curves, où chaque caractère unique ne doit être traité qu’une seule fois.

Cette méthode peut améliorer considérablement les performances, mais cela signifie que le résultat d’une opération sera le même pour chaque instance d’une certaine géométrie. Afin d’avoir des résultats uniques pour chaque instance, le Nœud Realize Instances peut être utilisé.