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

Eredita: Node3D < Node < Object

Ereditato da: Decal, FogVolume, GeometryInstance3D, GPUParticlesAttractor3D, GPUParticlesCollision3D, Light3D, LightmapGI, OccluderInstance3D, OpenXRVisibilityMask, ReflectionProbe, RootMotionView, VisibleOnScreenNotifier3D, VoxelGI

Il padre di tutti i nodi visivi 3D.

Descrizione

VisualInstance3D serve per connettere una risorsa a una rappresentazione visiva. Tutti i nodi visuali 3D ereditano da VisualInstance3D. In generale, non dovresti accedere direttamente alle proprietà di VisualInstance3D poiché sono accessibili e gestite dai nodi che ereditano da VisualInstance3D. VisualInstance3D è la rappresentazione nodo dell'istanza RenderingServer.

Proprietà

int

layers

1

float

sorting_offset

0.0

bool

sorting_use_aabb_center

Metodi

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)


Descrizioni delle proprietà

int layers = 1 🔗

  • void set_layer_mask(value: int)

  • int get_layer_mask()

Gli strati di rendering su cui è disegnato questo VisualInstance3D.

Questo oggetto sarà visibile solo per i Camera3D la cui maschera di cull include uno qualsiasi degli strati di rendering su cui è impostato questo VisualInstance3D.

Per i Light3D, ciò può essere usato per controllare quali VisualInstance3D sono influenzati da una luce specifica. Per i GPUParticles3D, questo può essere usato per controllare quali particelle sono influenzate da un attrattore specifico. Per i Decal, questo può essere usato per controllare quali VisualInstance3D sono influenzati da una decalcomania specifica.

Per regolare più facilmente i layers attraverso uno script, usa get_layer_mask_value() e set_layer_mask_value().

Nota: VoxelGI, SDFGI e LightmapGI terranno sempre in considerazione tutti gli strati per determinare cosa contribuisce all'illuminazione globale. Se questo è un problema, imposta GeometryInstance3D.gi_mode su GeometryInstance3D.GI_MODE_DISABLED per le mesh e Light3D.light_bake_mode su Light3D.BAKE_DISABLED per le luci per escluderle dall'illuminazione globale.


float sorting_offset = 0.0 🔗

  • void set_sorting_offset(value: float)

  • float get_sorting_offset()

La quantità in base alla quale la profondità di questo VisualInstance3D verrà regolata durante l'ordinamento per profondità. Utilizza le stesse unità del motore (che in genere sono metri). Aggiustandolo su un valore più alto, il VisualInstance3D sarà disegnato in modo affidabile sopra altri VisualInstance3D che sono altrimenti posizionati nello stesso punto. Per garantire che sia sempre disegnato sopra altri oggetti attorno a sé (non posizionati nello stesso punto), imposta il valore in modo che sia maggiore della distanza tra questo VisualInstance3D e gli altri VisualInstance3D vicini.


bool sorting_use_aabb_center 🔗

  • void set_sorting_use_aabb_center(value: bool)

  • bool is_sorting_use_aabb_center()

Se true, l'oggetto è ordinato in base al centro dell'AABB. Altrimenti, l'oggetto sarà ordinato in base alla posizione globale.

L'ordinamento basato sul centro dell'AABB è generalmente più accurato per i modelli 3D. L'ordinamento basato sulla posizione consente invece di controllare meglio l'ordine di disegno quando si lavora con GPUParticles3D e CPUParticles3D.


Descrizioni dei metodi

AABB _get_aabb() virtual const 🔗

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


AABB get_aabb() const 🔗

Restituisce l'AABB (noto anche come riquadro di delimitazione) per questo VisualInstance3D.


RID get_base() const 🔗

Restituisce il RID della risorsa associata a questo VisualInstance3D. Ad esempio, se il nodo è un MeshInstance3D, sarà restituito il RID della Mesh associata.


RID get_instance() const 🔗

Restituisce il RID di questa istanza. Questo RID è lo stesso del RID restituito da RenderingServer.instance_create(). Questo RID è necessario se si desidera chiamare le funzioni RenderingServer direttamente su questo VisualInstance3D.


bool get_layer_mask_value(layer_number: int) const 🔗

Restituisce se è abilitato o meno lo strato specificato di layers, fornito un layer_number tra 1 e 20.


void set_base(base: RID) 🔗

Imposta la risorsa istanziata da questo VisualInstance3D, che modifica il modo in cui il motore gestisce il VisualInstance3D internamente. Equivale a RenderingServer.instance_set_base().


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

In base a value, abilita o disabilita lo strato specificato nei layers, fornito un layer_number compreso tra 1 e 20.