GIProbe verwenden

Einführung

Bemerkung

Diese Features ist nur bei Verwendung des GLES3-Backends verfügbar. Gebackene LightMaps kann alternativ bei Verwendung des GLES2-Renderers verwendet werden.

Genau wie bei Reflexions-Probes und wie im 3D Materialien (Spatial) angegeben, können Objekte reflektiertes oder diffuses Licht zeigen. GI-Probes ähneln Reflexions-Probes, verwenden jedoch eine andere und komplexere Technik um indirektes Licht und Reflexionen zu erzeugen.

Die Stärke von GI-Probes ist sehr gutes indirektes Echtzeitlicht. Während die Szene für die verwendeten statischen Objekte ein schnelles Vorbacken benötigt, können Lichter hinzugefügt, geändert oder entfernt werden und dies wird in Echtzeit aktualisiert. Dynamische Objekte, die sich innerhalb einer dieser Probes bewegen, erhalten automatisch auch indirektes Licht von der Szene.

Just like with ReflectionProbe, GIProbe can be blended (in a bit more limited way), so it is possible to provide full real-time lighting for a stage without having to resort to lightmaps.

Die hauptsächlichen Nachteile von GIProbe sind:

  • A small amount of light leaking can occur if the level is not carefully designed. This must be artist-tweaked.

  • Performance requirements are higher than for lightmaps, so it may not run properly in low-end integrated GPUs (may need to reduce resolution).

  • Reflections are voxelized, so they don't look as sharp as with ReflectionProbe. However, in exchange they are volumetric, so any room size or shape works for them. Mixing them with Screen Space Reflection also works well.

  • They consume considerably more video memory than Reflection Probes, so they must be used with care in the right subdivision sizes.

Einrichtung

Just like a ReflectionProbe, simply set up the GIProbe by wrapping it around the geometry that will be affected.

../../_images/giprobe_wrap.png

Afterwards, make sure to enable the Use In Baked Light property on the geometry instances in the inspector. This is required for GIProbe to recognize objects, otherwise they will be ignored:

../../_images/giprobe_bake_property.png

Once the geometry is set up, push the Bake button that appears on the 3D editor toolbar to begin the pre-baking process:

../../_images/giprobe_bake.png

Warnung

Meshes should have sufficiently thick walls to avoid light leaks (avoid one-sided walls). For interior levels, enclose your level geometry in a sufficiently large box and bridge the loops to close the mesh.

Beleuchtung hinzufügen

Unless there are materials with emission, GIProbe does nothing by default. Lights need to be added to the scene to have an effect.

The effect of indirect light can be viewed quickly (it is recommended you turn off all ambient/sky lighting to tweak this, though, as shown below):

../../_images/giprobe_indirect.png

In some situations, though, indirect light may be too weak. Lights have an indirect multiplier to tweak this:

../../_images/giprobe_light_indirect.png

Und da die GIProbe-Beleuchtung in Echtzeit aktualisiert wird, ist dieser Effekt sofort spürbar:

../../_images/giprobe_indirect_energy_result.png

Reflexionen

For very metallic materials with low roughness, it's possible to appreciate voxel reflections. Keep in mind that these have far less detail than Reflection Probes or Screen Space Reflections, but fully reflect volumetrically.

../../_images/giprobe_voxel_reflections.png

GIProbes can be easily mixed with Reflection Probes and Screen Space Reflections, as a full 3-stage fallback-chain. This allows to have precise reflections where needed:

../../_images/giprobe_ref_blending.png

Innen oder Außen

GI Probes normally allow mixing with lighting from the sky. This can be disabled when turning on the Interior setting.

../../_images/giprobe_interior_setting.png

The difference becomes clear in the image below, where light from the sky goes from spreading inside to being ignored.

../../_images/giprobe_interior.png

Da in komplexen Gebäuden Innen- und Außenbereiche miteinander vermischt werden können, funktioniert die Kombination von GIProbes für beide Teile gut.

Optimieren

GI Probes unterstützen einige Parameter für die Feineinstellung:

../../_images/giprobe_tweaking.png
  • Subdiv Subdivision used for the probe. The default (128) is generally good for small- to medium-sized areas. Bigger subdivisions use more memory.

  • Ausmaße Größe der Probe. Kann vom Gizmo aus optimiert werden.

  • Dynamic Range Maximum light energy the probe can absorb. Higher values allow brighter light, but with less color detail.

  • Energy Multiplier for all the probe. Can be used to make the indirect light brighter (although it's better to tweak this from the light itself).

  • Ausbreitung Wie viel Licht sich intern durch die Probe ausbreitet.

  • Bias Value used to avoid self-occlusion when doing voxel cone tracing, should generally be above 1.0 (1==voxel size).

  • Normal Bias Alternative type of bias useful for some scenes. Experiment with this one if regular bias does not work.

  • Innenraum Ermöglicht das Mischen mit der Himmelsbeleuchtung.

  • Komprimieren Derzeit defekt. Nicht verwenden.

  • Data Contains the light baked data after baking. If you are saving the data it should be saved as a .res file.

Qualität

GIProbes are quite demanding. It is possible to use lower quality voxel cone tracing in exchange for more performance.

../../_images/giprobe_quality.png