Nœuds Occluder

En plus de l'occlusion via Salles et Portails, Godot a également la capacité de fournir une occlusion de base en utilisant de simples nœuds géométriques Occluder. Il s'agit de formes géométriques qui sont affichées dans l'éditeur à l'aide de gizmos, mais qui sont invisibles au moment de l'exécution.

Tout objet qui est entièrement occulté par la forme (derrière ou dans certains cas à l'intérieur) sera éliminé au moment de l'exécution. Ils sont conçus pour être simples à utiliser et peu coûteux à l'exécution, mais le compromis est qu'ils peuvent ne pas être aussi efficaces que Salles et Portails. Néanmoins, ils peuvent améliorer considérablement les performances dans certaines situations.

Note

Il est important de comprendre que les occulteurs géométriques fonctionnent en testant la boîte de délimitation alignée sur l'axe (AABB) de l'occulté contre l'occulteur. L'AABB doit être complètement occultée pour être éliminée. Cela a pour conséquence que les petits objets ont plus de chances d'être effectivement occultés que les grands objets.

Un avantage majeur des nœuds Occluder est qu'ils sont entièrement dynamiques. Par exemple, si vous placez un nœud Occluder en tant qu'enfant d'un vaisseau spatial, il se déplacera lorsque vous déplacerez l'objet parent.

La raison pour laquelle les nœuds Occluder sont si peu coûteux en termes de performance est que le moteur choisit dynamiquement les Occluders les plus pertinents au moment de l'exécution, en fonction du point de vue actuel de la caméra. Cela signifie que vous pouvez souvent avoir des centaines d'Occluders présents dans la scène. Seuls les plus pertinents seront actifs à un moment donné.

Le nœud Occluder lui-même est un support pour une ressource OccluderShape, qui détermine la fonctionnalité. Pour commencer, ajoutez un nœud Occluder à votre arbre de scène.

Astuce

Vous verrez un triangle d'avertissement jaune qui vous indique que vous devez définir une OccluderShape à partir de l'inspecteur avant que le Occluder devienne fonctionnel.

OccluderShapeSphere

La sphère est l'un des occludeurs les plus simples et les plus rapides, et elle est facile à configurer et à positionner. L'inconvénient est que la sphère n'a de sens que dans certains niveaux de jeu, et qu'elle est plus adaptée au terrain ou à la géométrie organique de l'arrière-plan.

Une fois que vous avez ajouté un OccluderNode et choisi d'ajouter un nouveau OccluderShapeSphere dans l'inspecteur, cliquez sur l'OccluderShapeSphere dans l'inspecteur pour faire apparaître les paramètres.

../../_images/occluder_shape_sphere_inspector.png

Contrairement à de nombreux nœuds, l' OccluderShapeSphere peut stocker plusieurs sphères dans le même objet. Cela est plus efficace pour le moteur et permet de garder votre SceneTree plus clair. Vous n'êtes pas obligé de stocker toutes vos sphères dans un seul Occluder car cela pourrait devenir délicat à gérer, mais il est parfaitement raisonnable d'ajouter une dizaine de sphères ou plus. Elles sont très bon marché, et souvent, plus vous en placez, meilleure sera la correspondance avec votre géométrie.

Pour pouvoir stocker plusieurs sphères, elles sont stockées dans un Array. Si vous cliquez sur l'Array dans l'inspecteur, vous pouvez augmenter la taille du Array pour en ajouter une.

../../_images/occluder_shape_sphere_terrain.png

La sphère apparaîtra comme un petit objet sphérique rose dans la fenêtre de l'éditeur. Il y a deux poignées sur chaque sphère. La poignée du milieu, plus grande, vous permet de déplacer la sphère dans l'espace local de l'Occluder, et la petite poignée vous permet d'ajuster le rayon.

Bien que vous puissiez modifier la position de la sphère à l'aide de la transformation du nœud Occluder dans l'inspecteur, cela déplace l'ensemble du tableau de sphères. Lorsque vous voulez utiliser plusieurs sphères dans un seul occluteur, les poignées font ce travail. Afin de permettre le positionnement en 3D, le gizmo ne déplacera la position 3D que dans les deux axes principaux en fonction du point de vue dans l'éditeur. Il est plus facile de s'y retrouver en l'essayant qu'en l'expliquant.

Astuce

Il y a une autre fonction pratique dans l'éditeur lorsque vous utilisez plusieurs sphères. Si vous cliquez sur le bouton Center Node de la barre d'outils, il recalculera les positions locales des sphères par rapport à la moyenne de l’ensemble du nœud, et changera la transformation du nœud Occluder. Il s'agit d'une fonction pratique pour faciliter leur placement.

Au moment de l'exécution, les sphères peuvent être activées ou désactivées, ce qui modifie la visibilité du nœud Occluder, et le Nœud peut être déplacé, mis à l'échelle, tourné, etc.

Un cas d'utilisation courant des sphères d'occlusion consiste à fournir une occlusion sur un terrain montagneux ou vallonné. En plaçant des sphères à l'intérieur des montagnes, vous pouvez empêcher le rendu des arbres, des plantes, des bâtiments et des objets derrière les montagnes. Avec un peu de créativité, elles peuvent également être utilisées pour les objets en mouvement, tels que les grands vaisseaux spatiaux, les planètes, etc.