版本:Unity 6 (6000.0)
语言:English
光照探针和移动的游戏对象
使用脚本放置光照探针

使用编辑器放置光照探针

切换到脚本

要在场景中放置光照探针,必须使用附加了光照探针组组件的游戏对象。您可以从菜单中添加光照探针组组件:组件 > 渲染 > 光照探针组

您可以在场景中的任何游戏对象上添加光照探针组组件。但是,最佳实践是创建一个新的空游戏对象(菜单:游戏对象 > 创建空对象)并将其添加到其中,以降低意外将其从项目中移除的可能性。

放置光照探针

要在光照探针光照探针存储有关光线如何穿过场景空间的信息。在一个给定空间内排列的光照探针集合可以改善该空间内移动物体和静态LOD场景的照明。 更多信息
参见 术语表
组中移动、添加或移除光照探针,请执行以下操作

  1. 在层次结构窗口或场景场景包含游戏环境和菜单。将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置您的环境、障碍物和装饰,本质上是分段设计和构建您的游戏。 更多信息
    参见 术语表
    视图中选择光照探针组。
  2. 场景视图您正在创建的世界的一个交互式视图。您使用场景视图选择和放置场景、角色、摄像机、灯光以及所有其他类型的游戏对象。 更多信息
    参见 术语表
    中,在工具叠加层中,选择编辑光照探针组工具。

编辑光照探针组时,您可以以类似于游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、摄像机、路径点等。游戏对象的函数由附加在其上的组件定义。 更多信息
参见 术语表
的方式操作各个光照探针。但是,光照探针不是游戏对象;它们是光照探针组组件中的一组点。

当您开始编辑新的光照探针组时,您将从一个默认的八个探针立方体排列开始,如下所示

The default arrangement of Light Probes.
光照探针的默认排列。

您可以使用编辑光照探针组工具中的控件向组中添加新的探针位置。探针在场景中显示为黄色球体,您可以像游戏对象一样对其进行定位。您还可以使用复制(Ctrl+DCmd+D)或复制粘贴的键盘快捷键选择和复制单个探针或组中的探针。

选择光照探针位置

光照贴图预渲染的纹理,包含场景中光源对静态对象的影响。光照贴图覆盖在场景几何体上以创建照明效果。 更多信息
参见 术语表
通常在对象表面上具有连续分辨率不同,光照探针信息的解析度取决于您选择放置光照探针的紧密程度。

为了优化光照探针存储的数据量以及游戏运行期间执行的计算量,您通常应尝试放置尽可能少的探针。但是,您还应放置足够的光照探针,以便将一个空间到另一个空间的光线变化记录在您认为可以接受的水平上。这意味着您可以在光线复杂或对比度很高的区域以更密集的模式放置光照探针,并且可以在光线变化不大的区域以更分散的模式放置光照探针。

Light Probes placed with varying density around a simple Scene
在简单场景周围以不同密度放置的光照探针

在上图示例中,光照探针在建筑物附近和之间(对比度和颜色变化更大)放置得更密集,在道路上(光照变化不大)放置得更稀疏。

放置光照探针最简单的方法是将它们排列成规则的3D网格图案。虽然此设置简单有效,但它可能会比必要的消耗更多的内存,并且您可能会有很多冗余的光照探针。例如,在上图场景中,如果在道路上放置了很多光照探针,那将是浪费资源。光线沿道路长度变化不大,因此许多光照探针将存储与其相邻光照探针几乎相同的光照数据。在这种情况下,在更少、更分散的光照探针之间插值此光照数据效率更高。

光照探针本身不会存储大量信息。从技术角度来看,每个探针都是一个球形全景HDR高动态范围
参见 术语表
样本点的视图图像,使用球谐函数L2编码,存储为27个浮点值。但是,在具有数百个光照探针的大型场景中,它们可能会累积,并且不必要地密集打包的光照探针会导致游戏中浪费大量内存。

创建体积

即使您的游戏玩法发生在二维平面上(例如,汽车在路面上行驶),您的光照探针也必须形成一个三维体积。

这意味着您在光照探针组中至少应有两个垂直“层”的点。

在下面的示例中,您可以在左侧看到光照探针仅排列在地面上。这不会产生良好的照明效果,因为光照探针系统无法从光照探针计算出合理的四面体体积。

在右侧,光照探针排列在两层,一些靠近地面,另一些较高,因此它们一起形成一个由许多单独的四面体组成的3D体积。这是一个很好的布局。

The left image shows a bad choice of Light Probe positions, because there is no height to the volume defined by the Light Probes. The right image shows a good choice of Light Probe positions.
左图显示了光照探针位置的不佳选择,因为光照探针定义的体积没有高度。右图显示了光照探针位置的良好选择。

用于实时全局照明的探针放置

Enlighten 实时全局照明一组模拟直接和间接照明以提供逼真照明效果的技术。
参见 术语表
使移动光源能够在静态游戏对象上投射动态反射光。

当您将光照探针与EnlightenUnity 中使用的 Geomerics 照明系统,用于 Enlighten 实时全局照明。 更多信息
参见 术语表
实时全局照明一起使用时,移动光源也可以在移动游戏对象上投射动态反射光。生成的照明质量取决于光照探针的放置方式,因此仔细放置光照探针非常重要。

光照探针捕获其空间位置的间接光照。为了忠实地捕获照明环境,您必须在预期照明变化较大的区域放置更多探针。例如,您可能需要在有移动光源或许多遮挡物的地方放置许多探针。在照明变化很小或没有变化的区域,您可以放置较少的探针以节省内存和计算资源。

通常,在大型静态光照区域只需要几个光照探针。但是,如果您计划在此静态光照区域内使用移动光源,并且希望移动对象接收来自这些移动光源的准确反射光,则需要在此区域内使用密集的光照探针网络以提供足够的精度。光源的大小和范围、这些光源移动的速度以及接收动态光的移动对象的大小决定了您如何间隔光照探针。

LightProbeGroup

光照探针和移动的游戏对象
使用脚本放置光照探针