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.

VoxelGIData

Eredita: Resource < RefCounted < Object

Contiene i dati precalcolati riguardo ai voxel nell'illuminazione globale, per l'uso in un nodo VoxelGI.

Descrizione

VoxelGIData contiene l'illuminazione globale precalcolata con voxel, per l'uso in un nodo VoxelGI. VoxelGIData offre anche varie proprietà per regolare l'aspetto finale dell'illuminazione globale. È possibile regolare queste proprietà in fase di esecuzione, senza dover precalcolare nuovamente il nodo VoxelGI.

Nota: Per evitare che i file di scena basati su testo (.tscn) diventino troppo grandi, quindi lenti da caricare e salvare, salva un VoxelGIData sempre in un file di risorsa binaria esterna (.res)) invece di incorporarlo nella scena. Ciò può essere fatto cliccando sulla freccia a tendina accanto alla risorsa VoxelGIData, scegliendo Modifica, cliccando sull'icona del disco floppy nella parte superiore dell'ispettore e infine scegliendo Salva come....

Tutorial

Proprietà

float

bias

1.5

float

dynamic_range

2.0

float

energy

1.0

bool

interior

false

float

normal_bias

0.0

float

propagation

0.5

bool

use_two_bounces

true

Metodi

void

allocate(to_cell_xform: Transform3D, aabb: AABB, octree_size: Vector3, octree_cells: PackedByteArray, data_cells: PackedByteArray, distance_field: PackedByteArray, level_counts: PackedInt32Array)

AABB

get_bounds() const

PackedByteArray

get_data_cells() const

PackedInt32Array

get_level_counts() const

PackedByteArray

get_octree_cells() const

Vector3

get_octree_size() const

Transform3D

get_to_cell_xform() const


Descrizioni delle proprietà

float bias = 1.5 🔗

Il bias di normali da utilizzare per l'illuminazione e i riflessi indiretti. I valori più elevati riducono le autoriflessioni visibili nei materiali non rugosi, al costo di penetrazione della luce più visibile e di un'illuminazione indiretta più piatta. Se si preferisce nascondere l'autoriflessione piuttosto che mantenere qualità dell'illuminazione, imposta bias a 0.0 e normal_bias a un valore tra 1.0 e 2.0.


float dynamic_range = 2.0 🔗

  • void set_dynamic_range(value: float)

  • float get_dynamic_range()

La gamma dinamica da utilizzare (1.0 rappresenta una bassa gamma dinamica di luminosità della scena). I valori più elevati possono essere utilizzati per fornire un'illuminazione indiretta più luminosa, al costo di banding dei colori più pronunciato in aree scure (sia per l'illuminazione indiretta sia per i riflessi). Per evitare il banding dei colori, si consiglia di utilizzare il valore più basso che non risulta in un ritaglio di luce notabile.


float energy = 1.0 🔗

  • void set_energy(value: float)

  • float get_energy()

L'energia dell'illuminazione indiretta e delle riflessioni prodotte dal nodo VoxelGI. I valori più elevati risultano in un'illuminazione indiretta più luminosa. Se l'illuminazione indiretta sembra troppo piatta, prova a diminuire propagation e allo stesso tempo aumentare energy. Vedi anche use_two_bounces che influenza la luminosità effettiva dell'illuminazione indiretta.


bool interior = false 🔗

  • void set_interior(value: bool)

  • bool is_interior()

Se true, l'illuminazione dell'Environment è ignorata dal nodo VoxelGI. Se false, l'illuminazione dell'Environment è presa in considerazione dal nodo VoxelGI. L'illuminazione di un Environment si aggiorna in tempo reale, il che significa che può essere cambiata senza dover precalcolare nuovamente il nodo VoxelGI.


float normal_bias = 0.0 🔗

  • void set_normal_bias(value: float)

  • float get_normal_bias()

Il bias di normali da utilizzare per l'illuminazione e i riflessi indiretti. I valori più elevati riducono le autoriflessioni visibili nei materiali non rugosi, al costo di penetrazione della luce più visibile e di un'illuminazione indiretta più piatta. Vedi anche bias. Se si preferisce nascondere l'autoriflessione piuttosto che mantenere qualità dell'illuminazione, imposta bias a 0.0 e normal_bias a un valore tra 1.0 e 2.0.


float propagation = 0.5 🔗

  • void set_propagation(value: float)

  • float get_propagation()

Il moltiplicatore da usare quando la luce rimbalza su una superficie. I valori più elevati risultano in un'illuminazione indiretta più luminosa. Se l'illuminazione indiretta sembra troppo piatta, prova a diminuire propagation e allo stesso tempo aumentare energy. Vedi anche use_two_bounces che influenza la luminosità effettiva dell'illuminazione indiretta.


bool use_two_bounces = true 🔗

  • void set_use_two_bounces(value: bool)

  • bool is_using_two_bounces()

Se true, esegue due rimbalzi di illuminazione indiretta invece di uno. Questo rende l'aspetto dell'illuminazione indiretta più naturale e più luminosa a un piccolo costo di prestazioni. Il secondo rimbalzo è anche visibile nelle riflessioni. Se la scena appare troppo luminosa dopo aver abilitato use_two_bounces, regola propagation e energy.


Descrizioni dei metodi

void allocate(to_cell_xform: Transform3D, aabb: AABB, octree_size: Vector3, octree_cells: PackedByteArray, data_cells: PackedByteArray, distance_field: PackedByteArray, level_counts: PackedInt32Array) 🔗

Inizializza questo VoxelGIData con i dati specificati. octree_cells deve essere un multiplo di 32. octree_cells deve essere il doppio della dimensione di data_cells. I dati allocati si possono recuperare in seguito attraverso i vari metodi getter.


AABB get_bounds() const 🔗

Restituisce i limiti dei dati precalcolati dei voxel come un AABB, che dovrebbe corrispondere a VoxelGI.size dopo essere stato precalcolato (il quale contiene solo le dimensioni come un Vector3).

Nota: Se le dimensioni sono state modificate senza precalcolare i dati del VoxelGI, i valori di get_bounds() e di VoxelGI.size non corrisponderanno.


PackedByteArray get_data_cells() const 🔗

Restituisce i dati precalcolati delle celle per questo VoxelGIData.


PackedInt32Array get_level_counts() const 🔗

Returns the baked level counts for this VoxelGIData.


PackedByteArray get_octree_cells() const 🔗

Restituisce i dati delle celle dell'octree precalcolato per questo VoxelGIData.


Vector3 get_octree_size() const 🔗

Restituisce la dimensione dell'octree precalcolato per questo VoxelGIData. Che corrisponde al numero di suddivisioni per asse. È possibile visualizzare questo valore nell'editor passando il mouse sul pulsante Precalcola VoxelGI in cima la viewport dell'editor 3D quando è selezionato un nodo VoxelGI, nel campo Suddivisioni nel tooltip.


Transform3D get_to_cell_xform() const 🔗

Restituisce la trasformazione delle celle precalcolate per questo VoxelGIData.