Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

VisualInstance3D

Hérite de : Node3D < Node < Object

Hérité par : Decal, FogVolume, GeometryInstance3D, GPUParticlesAttractor3D, GPUParticlesCollision3D, Light3D, LightmapGI, OccluderInstance3D, OpenXRVisibilityMask, ReflectionProbe, RootMotionView, VisibleOnScreenNotifier3D, VoxelGI

Le parent de tous les nœuds visuels 3D.

Description

La VisualInstance3D est utilisée pour connecter une ressource à une représentation visuelle. Tous les nœuds 3D visuels héritent de VisualInstance3D. En général, vous ne devriez pas accéder aux propriétés de la VisualInstance3D directement car elles sont accédées et gérées par les nœuds qui héritent de VisualInstance3D. VisualInstance3D est la représentation en nœud de l'instance RenderingServer.

Propriétés

int

layers

1

float

sorting_offset

0.0

bool

sorting_use_aabb_center

Méthodes

AABB

_get_aabb() virtual const

AABB

get_aabb() const

RID

get_base() const

RID

get_instance() const

bool

get_layer_mask_value(layer_number: int) const

void

set_base(base: RID)

void

set_layer_mask_value(layer_number: int, value: bool)


Descriptions des propriétés

int layers = 1 🔗

  • void set_layer_mask(value: int)

  • int get_layer_mask()

The render layer(s) this VisualInstance3D is drawn on.

This object will only be visible for Camera3Ds whose cull mask includes any of the render layers this VisualInstance3D is set to.

For Light3Ds, this can be used to control which VisualInstance3Ds are affected by a specific light. For GPUParticles3D, this can be used to control which particles are effected by a specific attractor. For Decals, this can be used to control which VisualInstance3Ds are affected by a specific decal.

To adjust layers more easily using a script, use get_layer_mask_value() and set_layer_mask_value().

Note: VoxelGI, SDFGI and LightmapGI will always take all layers into account to determine what contributes to global illumination. If this is an issue, set GeometryInstance3D.gi_mode to GeometryInstance3D.GI_MODE_DISABLED for meshes and Light3D.light_bake_mode to Light3D.BAKE_DISABLED for lights to exclude them from global illumination.


float sorting_offset = 0.0 🔗

  • void set_sorting_offset(value: float)

  • float get_sorting_offset()

La quantité par laquelle la profondeur de cette VisualInstance3D sera ajustée lors du tri par profondeur. Utilise les mêmes unités que le moteur (qui sont généralement des mètres). L'ajuster à une valeur plus élevée fera que les VisualInstance3D se dessinent de manière fiable sur les autres VisualInstance3D qui sont sinon positionnées au même endroit. Pour s'assurer qu'elle se dessine toujours au-dessus des autres objets autour d'elle (non positionnés au même endroit), définissez la valeur pour qu'elle soit supérieure à la distance entre cette VisualInstance3D et les autres VisualInstance3D à proximité.


bool sorting_use_aabb_center 🔗

  • void set_sorting_use_aabb_center(value: bool)

  • bool is_sorting_use_aabb_center()

Si true, l'objet est trié en fonction du centre de l'AABB. L'objet sera trié en fonction de la position globale sinon.

Le tri basé sur le centre de la AABB est généralement plus précis pour les modèles 3D. Le tri basé sur la position permet à la place de mieux contrôler l'ordre de dessin lorsqu'on travaille avec GPUParticles3D et CPUParticles3D.


Descriptions des méthodes

AABB _get_aabb() virtual const 🔗

There is currently no description for this method. Please help us by contributing one!


AABB get_aabb() const 🔗

Renvoie la AABB (aussi connue comme la boîte délimitante) pour cette VisualInstance3D.


RID get_base() const 🔗

Renvoie le RID de la ressource associée avec cette VisualInstance3D. Par exemple, si le nœud est une MeshInstance3D, cela renvoie le RID du Mesh associé.


RID get_instance() const 🔗

Renvoie le RID de cette instance. Ce RID est le même que le RID renvoyé par RenderingServer.instance_create(). Ce RID est nécessaire si vous voulez appeler les fonctions de RenderingServer directement sur cette VisualInstance3D.


bool get_layer_mask_value(layer_number: int) const 🔗

Renvoie si la couche spécifiée de layers est activée ou non, compte tenu d'un numéro de couche layer_number entre 1 et 20.


void set_base(base: RID) 🔗

Définit la ressource qui est instanciée par cette VisualInstance3D, ce qui modifie la façon dont le moteur gère la VisualInstance3D en interne. Équivalent à RenderingServer.instance_set_base().


void set_layer_mask_value(layer_number: int, value: bool) 🔗

Selon value, active ou désactive la couche spécifiée dans layers, selon un numéro de couche layer_number entre 1 et 20.