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) 🔗

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


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 🔗

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


PackedInt32Array get_level_counts() const 🔗

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


PackedByteArray get_octree_cells() const 🔗

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


Vector3 get_octree_size() const 🔗

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


Transform3D get_to_cell_xform() const 🔗

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