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

Hereda: Resource < RefCounted < Object

Contiene datos procesados de iluminación global de vóxeles para usar en un nodo VoxelGI.

Descripción

VoxelGIData contiene datos procesados de iluminación global de vóxeles para usar en un nodo VoxelGI. VoxelGIData también ofrece varias propiedades para ajustar la apariencia final de la iluminación global. Estas propiedades se pueden ajustar en tiempo de ejecución sin tener que volver a procesar el nodo VoxelGI.

Nota: Para evitar que los archivos de escena basados en texto (.tscn) crezcan demasiado y se vuelvan lentos de cargar y guardar, guarda siempre VoxelGIData en un archivo de recursos binario externo (.res) en lugar de incrustarlo dentro de la escena. Esto se puede hacer haciendo clic en la flecha desplegable junto al recurso VoxelGIData, eligiendo Editar, haciendo clic en el icono del disquete en la parte superior del Inspector y luego eligiendo Guardar como....

Tutoriales

Propiedades

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

Métodos

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


Descripciones de Propiedades

float bias = 1.5 🔗

El sesgo normal que se utilizará para la iluminación indirecta y los reflejos. Los valores más altos reducen los autorreflejos visibles en materiales no rugosos, a costa de una mayor fuga de luz visible y una iluminación indirecta de aspecto más plano. Para priorizar el ocultamiento de los autorreflejos sobre la calidad de la iluminación, establece bias en 0.0 y normal_bias en un valor entre 1.0 y 2.0.


float dynamic_range = 2.0 🔗

  • void set_dynamic_range(value: float)

  • float get_dynamic_range()

El rango dinámico que se utilizará (1.0 representa un brillo de escena de bajo rango dinámico). Se pueden usar valores más altos para proporcionar una iluminación indirecta más brillante, a costa de bandas de color más visibles en áreas oscuras (tanto en la iluminación indirecta como en los reflejos). Para evitar las bandas de color, se recomienda usar el valor más bajo que no provoque el recorte visible de la luz.


float energy = 1.0 🔗

  • void set_energy(value: float)

  • float get_energy()

La energía de la iluminación indirecta y los reflejos producidos por el nodo VoxelGI. Los valores más altos dan como resultado una iluminación indirecta más brillante. Si la iluminación indirecta se ve demasiado plana, intenta disminuir propagation mientras aumentas energy al mismo tiempo. Véase también use_two_bounces, que influye en el brillo efectivo de la iluminación indirecta.


bool interior = false 🔗

  • void set_interior(value: bool)

  • bool is_interior()

Si es true, la iluminación Environment es ignorada por el nodo VoxelGI. Si es false, la iluminación Environment es tomada en cuenta por el nodo VoxelGI. La iluminación Environment se actualiza en tiempo real, lo que significa que se puede cambiar sin tener que volver a procesar el nodo VoxelGI.


float normal_bias = 0.0 🔗

  • void set_normal_bias(value: float)

  • float get_normal_bias()

El sesgo normal que se utilizará para la iluminación indirecta y los reflejos. Los valores más altos reducen los autorreflejos visibles en materiales no rugosos, a costa de una mayor fuga de luz visible y una iluminación indirecta de aspecto más plano. Véase también bias. Para priorizar el ocultamiento de los autorreflejos sobre la calidad de la iluminación, establece bias en 0.0 y normal_bias en un valor entre 1.0 y 2.0.


float propagation = 0.5 🔗

  • void set_propagation(value: float)

  • float get_propagation()

El multiplicador que se utilizará cuando la luz rebote en una superficie. Los valores más altos dan como resultado una iluminación indirecta más brillante. Si la iluminación indirecta se ve demasiado plana, intenta disminuir propagation mientras aumentas energy al mismo tiempo. Véase también use_two_bounces, que influye en el brillo efectivo de la iluminación indirecta.


bool use_two_bounces = true 🔗

  • void set_use_two_bounces(value: bool)

  • bool is_using_two_bounces()

Si es true, realiza dos rebotes de iluminación indirecta en lugar de uno. Esto hace que la iluminación indirecta se vea más natural y brillante con un pequeño coste de rendimiento. El segundo rebote también es visible en los reflejos. Si la escena aparece demasiado brillante después de habilitar use_two_bounces, ajusta propagation y energy.


Descripciones de Métodos

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

Initializes this VoxelGIData with the specified data. octree_cells must be a multiple of 32. octree_cells must be double the size of data_cells. The allocated data can be retrieved later using the various getter methods.


AABB get_bounds() const 🔗

Devuelve los límites de los datos de vóxeles procesados como un AABB, que debe coincidir con VoxelGI.size después de ser procesado (que solo contiene el tamaño como un Vector3).

Nota: Si el tamaño se modificó sin procesar los datos de VoxelGI, entonces el valor de get_bounds() y VoxelGI.size no coincidirán.


PackedByteArray get_data_cells() const 🔗

Returns the baked cell data for this VoxelGIData.


PackedInt32Array get_level_counts() const 🔗

Returns the baked level counts for this VoxelGIData.


PackedByteArray get_octree_cells() const 🔗

Returns the baked octree cell data for this VoxelGIData.


Vector3 get_octree_size() const 🔗

Returns the baked octree size for this VoxelGIData, which corresponds to the number of subdivisions per axis. This can be viewed in the editor by hovering the Bake VoxelGI button at the top of the 3D editor viewport when a VoxelGI node is selected and looking at the Subdivisions field in the tooltip.


Transform3D get_to_cell_xform() const 🔗

Returns the baked cell transform for this VoxelGIData.