跳转至

GIProbe

继承

VisualInstance

简要描述

实时全局照明(GI)探针。

描述

GIProbe用于为场景提供高质量的实时间接光。它们可以预先计算发光对象的效果以及静态几何图形的效果,以实时模拟复杂光的行为。 GIProbe必须先烘焙才能使用,但是一旦烘焙,动态物体就会从它们那里接收光。 此外,灯光可以是完全动态的,也可以是烘烤的。

在场景中使用GIProbe可能会很昂贵,可以在ProjectSettings中调整参数[成员ProjectSettings.rendering/quality/voxel_cone_tracing/high_quality]降低探针的质量,以换取更好的性能。

成员

类型 属性名 默认值
float bias 1.5
bool compress false
GIProbeData data
int dynamic_range 4
float energy 1.0
Vector3 extents Vector3( 10, 10, 10 )
bool interior false
float normal_bias 0.0
float propagation 0.7
int subdiv 1

方法

返回值类型 方法名称
void bake(from_node: Node = null, create_visual_debug: bool = false)
void debug_bake()
##枚举
enum Subdiv:
- SUBDIV_64 = 0

使用64个细分。这是最低质量设置,但最快。 如果可以,请使用它,尤其是在低端硬件上使用它。

  • SUBDIV_128 = 1

使用128个细分。这是默认的质量设置。

  • SUBDIV_256 = 2

使用256个细分。

  • SUBDIV_512 = 3

使用512个细分。但最慢的设置。 在低端硬件上,这可能会导致GPU停止运行。

  • SUBDIV_MAX = 4

表示Subdiv枚举的大小。


常量

成员说明

  • float bias
Default 1.5
setter set_bias(value)
getter get_bias
  • bool compress
Default false
setter set_compress(value)
getter is_compressed
  • GIProbeData data
setter set_probe_data(value)
getter get_probe_data
  • int dynamic_range
Default 4
setter set_dynamic_range(value)
getter get_dynamic_range
  • float energy
Default 1.0
setter set_energy(value)
getter get_energy
  • Vector3 extents
Default Vector3( 10, 10, 10 )
setter set_extents(value)
getter get_extents
  • bool interior
Default false
setter set_interior(value)
getter is_interior
  • float normal_bias
Default 0.0
setter set_normal_bias(value)
getter get_normal_bias
  • float propagation
Default 0.7
setter set_propagation(value)
getter get_propagation
  • int subdiv
Default 1
setter set_subdiv(value)
getter get_subdiv

方法说明

  • bake bake(from_node: Node = null, create_visual_debug: bool = false)

从标记为GeometryInstance.use_in_baked_light的所有GeometryInstance和标记为Light.BAKE_INDIRECTLight.BAKE_ALLLight烘焙效果。 如果create_visual_debugtrue,则在烘烤光后,将生成一个MultiMesh,该MultiMesh包含一个代表每个实体单元的立方体,每个立方体都以该单元的反射率颜色着色。 这可用于可视化GIProbe的数据并调试可能发生的任何问题。


  • debug_bake debug_bake()

调用bake时启用create_visual_debug