Version: Unity 6.0 (6000.0)
语言 : 中文
反射探针的类型
向反射添加游戏对象

放置反射探针

可将反射探针 (Reflection Probe) 组件添加到场景中的任何对象,但标准做法是将每个探针添加到单独的空游戏对象。常规的工作流程如下:

  • 创建新的空游戏对象(菜单:__游戏对象 (GameObject)__ > 创建空游戏对象 (Create Empty)),然后将反射探针组件添加到该对象(菜单:__组件 (Component)__ > 渲染 (Rendering) > 反射探针 (Reflection Probe))。或者,如果在场景中已有现成的探针,可能直接复制该探针的做法更为方便(菜单:__编辑 (Edit)__ > 复制 (Duplicate))。
  • 将新探针放在所需位置并设置其__偏移 (Offset)__ 点及其效果区域的大小。
  • (可选)在探针上设置其他属性以自定义其行为。
  • 继续添加探针,直到分配完所有必需的位置。

要查看反射,还需要场景中至少有一个反射对象。可按如下方式创建一个简单的测试对象:

  • 将一个简单对象(如球体)添加到场景中(菜单:__游戏对象 (GameObject)__ > 3D 对象 (3D Object) > 球体 (Sphere))。
  • 创建新材质(菜单:__资源 (Assets)__ > 创建 (Create) > 材质 (Material))并保留默认的__标准 (Standard) __着色器。
  • 通过将__金属度 (Metallic)__ 和__平滑度 (Smoothness)__ 属性均设置为 1.0 使材质具有反射性。
  • 将新创建的材质拖动到球体对象上以进行分配。

球体现在可以显示从探针获得的反射。通过简单布置单个探针足以看到反射的基本效果。

最后,必须烘焙探针之后,反射才能可见。按下反射探针检视面板中的__烘焙 (Bake)__ 按钮以更新探针。

定位探针

探针的位置主要由其游戏对象的位置决定,因此只需将对象拖动到所需位置即可。完成此操作后,应设置探针的效果区域;这是一个轴对齐的盒体形状,其大小由__盒体大小 (Box Size)__ 属性设置。您可以直接设置大小值,也可在检视面板中启用大小编辑模式,然后在 Scene 视图中拖动盒体的两侧(有关详细信息,请参阅反射探针组件页面)。全套探针的区域应共同覆盖场景中反射对象可能通过的所有区域。

应将探针放置在场景中可明显反射的任何大型对象附近。中心和角点周围的区域是放置探针的良好候选位置。如果较小的对象具有强烈的视觉效果,可能需要靠近探针。例如,您可能希望反射篝火的火焰,即使对象本身很小甚至无关紧要的情况下,也是如此。

如果在所有适当的位置都有了探针,则需要为每个探针定义效果区域,为此可使用上面提到的__盒体大小 (Box Size)__ 属性来实现该目的。一面墙壁的大部分长度可能只需要一个探针区域(前提是它具有相当均匀的外观),但该区域在垂直于墙壁的方向上可能相对较窄;这意味着,墙壁只能被很接近的对象所反射。一个开放空间的外观在不同位置的变化很小,通常可以用一个探针覆盖。请注意,探针的区域与主世界轴(X、Y 和 Z)对齐,无法进行旋转。这意味着,如果一面均匀的墙壁不是轴对齐的话,有时可能需要沿该墙壁布设的一组探针。

默认情况下,探针的效果区域以其视点为中心,但这可能不是捕获反射立方体贴图的理想位置。例如,非常高的墙壁的探针区域可能会从墙壁延伸一段距离,但您可能希望从靠近的点而不是区域的中心捕获反射。您可以选择使用__盒体偏移 (Box Offset)__ 属性为视点添加偏移量(即,偏移量是游戏对象的局部空间中生成探针立方体贴图视图的位置)。使用此设置,您可以轻松地将视点放置在效果区域内或完全位于区域外的任何位置。

调整反射探针大小

反射探针__检视面板 (Inspector) 窗口顶部有两个按钮,用于直接在场景中编辑__大小 (Size) 和__探针原点 (Probe Origin)__ 属性。选择左边的按钮 (Size) 后,探针的效果区域将在场景中显示为黄色盒体形状,并带有控制柄用于调整盒体的大小。

右边的按钮 (Origin) 允许您相对于盒体拖动探针的原点。请注意,原点控制柄类似于变换位置控制柄,但这两个位置不同。此外,探针盒体无法进行旋转和缩放操作。

重叠探针区域

对相邻反射探针的区域进行定位时不让它们重叠是非常困难的,幸运的是,没有必要这样做。然而,这带来了在重叠区域中选择使用哪个探针的问题。默认情况下,Unity 计算反射对象的包围盒与每个重叠探针区域之间的交集;与包围盒具有最大交叉量的区域即为要选择的区域。

选择探针 A 的原因它与对象的交叉量更大
选择探针 A 的原因它与对象的交叉量更大

您可以使用探针的__重要性 (Importance)__ 属性来修改计算。重要性值较高的探针优先于重叠区域内重要性较低的探针。假如您有一个完全包含在较大区域内的小探针区域(即,角色的包围盒与较大包围区域的交集可能总是更大,因此永远不会使用小区域),那么该设置就会很有用。

反射探针的类型
向反射添加游戏对象