返回介绍

灯光探测器 (Light Probes)(仅限专业版)

发布于 2021-06-19 18:03:22 字数 2963 浏览 991 评论 0 收藏 0

光照贴图让场景变得很真实,但是有一个缺点,即场景中的非静态物体渲染时不太真实,结果看起来与场景脱节。虽然无法实时计算移动物体的光照贴图,但使用灯光探测器 (light probes) 有可能获得类似效果。原理为在场景中的战略点对照明进行采样,这些点以探测器的位置表示。之后,任何位置的光照可通过插入最近探测器抽取的样本之间来大致估计。游戏期间插值过程非常快,有助于避免场景中移动物体与静态烘培物体之间的照明连续性断开。

添加灯光探测器 (Light probes)

灯光探测器组 (Light Probe Group) 组件(菜单:组件 (Component) -> 渲染 (Rendering) -> 灯光探测器组 (Light Probe Group))可添加到场景中的任一对象。该检视器可给该组添加新探测器。场景中的探测器显示为黄色球体,可用与游戏对象 (GameObject) 相同的方式放置。选定探测器还可通过常用键盘快捷键复制 (ctrl+d/cmd+d)。

选择灯光探测器 (Light Probe) 的位置

记得将探测器放在想要对灯光或黑暗抽样的位置。场景中的探测器须达到一定数量,以便适当执行空间细分。

最简单的定位方法是排成常规的三维网格样式。虽然设置简单高效,但很可能消耗大量内存(从采样点来看,每个灯光探测器基本上是一个球形的全景 HDR 图像)。值得注意的是,只有播放器、NPC 或其他动态物体真正移动到的区域才需要用到探测器。同时,由于照明条件插入到探测器之间的位置,在灯光变化不是太大的区域没必要使用过多的探测器。例如一大块均匀的阴影不需要太多探测器,远离反射物体的明亮区域也是如此。照明条件突然变化的地方一般需要有探测器,如阴影区域边缘或颜色不同的背景块。

有些情况下,游戏的基础设置可用来选择灯光探测器的位置。例如,赛车游戏一般会在赛道上使用路标,用于 AI 或其他用途。这些路标很可能是不错的探测器位置参考点,也可以直接从编辑器脚本中设置这些点。同样,导航网格一般定义玩家可以到达的区域,也可以利用这些来自动定义探测器位置。

在此,我们在游戏角色走过的表面烘培了灯光探测器,但只对光照变化比较有意思的地方进行捕捉:

二维平面

就像现在这样,灯光探测器系统无法烘培完整的平面探测器集。因此,即使所有角色只在平面上移动,至少仍需要在较高位置细心放置一些探测器,从而形成一定量,使插值正常进行。


好 (Good):原始探测器布置。角色可沿着坡道往上,到达盒子顶部,以便在上面更好地对照明采样。
好 (Good):假设角色只能在平面上移动。仍有几个探测器放得高一点,以便达到一定量,避免出现细长的插值空间。
差 (Bad):探测器放得太平,产生细长的插值空间,使插值结果不直观。

使用灯光探测器 (Light Probes)

为使网格接收探测器系统发出的照明,应启用网格渲染器 (Mesh Renderer) 中的使用灯光探测器 (Use Light Probes) 选项。

探测器插值要求空间中有一个点,表示接收灯光的网格位置。默认为网格限位框的正中位置,但可以通过将转换 (Transform) 拖到网格渲染器 (Mesh Renderer) 的定位替代 (Anchor Override) 属性中,替代该默认值(转换 (Transform) 的位置将用作插值点)。当对象包含两个单独的相邻网格时这比较有用;如果两个网格根据其限位框位置单独照明,那么照明会在两者相连的地方断开。可使用相同的转换 (Transform)(例如父对象或子对象)作为两个网格渲染器 (Mesh Renderer) 的插值点,防止出现这种情况。

当使用灯光探测器的对象在灯光探测器场景视图 (Light Probes Scene View) 模式中为活动的选定对象时,其插值探测器将在顶部渲染以供预览。插值探测器用于渲染对象,并通过 4 条蓝色细线(超过探测器的覆盖范围将显示 3 条)连接到被插入中间的探测器:

双重光照贴图 (Dual Lightmaps) 模式与单光照贴图 (Single Lightmaps) 模式

单光照贴图 (Single Lightmaps) 模式中所有静态灯光(包括设为“自动 (Auto)” 光照贴图模式的灯光)都被烘培到灯光探测器中。

在双重光照贴图 (Dual Lightmaps) 模式中,灯光探测器将以与“近端 (Near)” 光照贴图相同的配置保存光照,如天光的全局照明、自发光材质、区域灯光和“仅限烘培 (Baked Only)” 模式的灯光,但只有“自动 (Auto)” 模式灯光的间接照明。因此对象可用“自动 (Auto)” 模式的灯光实时照明,并利用实时阴影等动态元素,同时将接收添加到场景中的这些灯光的间接照明。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文