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, les objets peuvent stocker des instances, qui elles-mêmes peuvent référencer davantage de géométrie, ou un objet ou une collection. Le but de l’instanciation est de permettre de dupliquer la géométrie et de la stocker dans un objet, sans dupliquer les données réelles. Cette optimisation permet aux moteurs de rendu comme Cycles de 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 de la manière dont l’instance est transformée par rapport à sa géométrie source. Les instances peuvent également stocker l’attribut id, qui est utilisé pour corriger le flou de mouvement lorsque les instances se déplacent dans une animation.

Des instances peuvent être créées avec des nœuds géométriques à l’aide du 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 Instancing 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 exemple, par défaut, le Nœud Instance on Points créera des instances imbriquées en instanciant des instances sur les points la géométrie réelle .

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

Un groupe de nœuds qui crée une instanciation imbriquée en chaînant des nœuds Instance on points.

Ici, l’instanciation imbriquée est utilisée pour distribuer une 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

Seuls huit niveaux d’instanciation imbriquée sont pris en charge pour le rendu et l’affichage dans la fenêtre. Bien que des arbres d’instances plus profonds puissent être créés à l’intérieur des nœuds géométriques, ils doivent être réalisés à la fin de l’arborescence des nœuds.

Réaliser des instances

Le terme “réaliser” des instances fait référence à la conversion des instances en une géométrie unique. Lorsque les instances sont réalisées, elles occuperont plus de mémoire et la manipulation de la géométrie devra être traitée individuellement plutôt qu’une fois par instanciation de la géométrie.

Pour réaliser une instance, utiliser le fichier Nœud Realize Instances.

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 plutôt qu’en traitant la géométrie réalisé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é.