跳到主要内容

GIProbe

继承

VisualInstance

简要描述

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

描述

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

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

成员

类型属性名默认值
floatbias1.5
boolcompressfalse
GIProbeDatadata
intdynamic_range4
floatenergy1.0
Vector3extentsVector3( 10, 10, 10 )
boolinteriorfalse
floatnormal_bias0.0
floatpropagation0.7
intsubdiv1

方法

返回值类型方法名称
voidbake(from_node: Node = null, create_visual_debug: bool = false)
voiddebug_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
Default1.5
setterset_bias(value)
getterget_bias
  • bool compress
Defaultfalse
setterset_compress(value)
getteris_compressed
  • GIProbeData data
setterset_probe_data(value)
getterget_probe_data
  • int dynamic_range
Default4
setterset_dynamic_range(value)
getterget_dynamic_range
  • float energy
Default1.0
setterset_energy(value)
getterget_energy
  • Vector3 extents
DefaultVector3( 10, 10, 10 )
setterset_extents(value)
getterget_extents
  • bool interior
Defaultfalse
setterset_interior(value)
getteris_interior
  • float normal_bias
Default0.0
setterset_normal_bias(value)
getterget_normal_bias
  • float propagation
Default0.7
setterset_propagation(value)
getterget_propagation
  • int subdiv
Default1
setterset_subdiv(value)
getterget_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