您需要 登录 才可以下载或查看,没有账号?注册
x
本期内容
虚幻引擎的光照工具功能强大且用途广泛,旨在适应各种室内和室外环境。为了实现这种灵活性,引擎提供了多种照明解决方案和许多可定制的参数。其中最重要的一项是移动灯光
在“变换”类别下,所有虚幻引擎都具有定义灯光生成方式的属性,在静态、固定或可移动的之间进行选择,将对灯光的运行时间能力和性能成本产生重大影响
本文将分解每种移动类型的优缺点,并提供实用指南,帮助您选择适合您特定艺术和游戏要求的移动类型。与游戏开发中的常见情况一样,性能和图形保真度之间总是需要权衡取舍。您可能需要确定哪些照明功能对您来说最重要,并准备好在其他方面做出妥协
为什么我需要为我的灯选择移动类型?你可能会问自己,为什么你必须做出这个决定。为什么你不能一直使用最好的照明解决方案?
嗯,关于那个……
在计算机图形学中,有许多不同的技术可用于在虚拟环境中模拟逼真的照明,并且随着新技术的出现,它们正在不断地被研究和改进。虚幻本身使用了几种不同的方法,每种方法都有自己的长处和短处。不幸的是,对于这个问题没有万能的解决方案
实际上,这使得虚幻引擎中可用的三种移动类型成为为开发人员提供三种不同选项以适应最广泛的用例的最佳尝试
快速参考指南下面简要介绍了 Unreal 提供的三种移动解决方案、每种解决方案中可用的运行时功能以及它们的实现方式。如果这对您没有多大意义,请不要担心。我们将在接下来的部分中更详细地讨论这一点
| 静态
| 固定
| 移动
| Changing location/rotation | NO | NO | Yes | Intensity | NO | Yes | Yes | Light Color | NO | Yes | Yes | Light Functions | NO | Yes | Yes | Precomputed indirect lighting (Lightmass)
| Yes | Yes | NO
|
| 静态
| 固定 | 移动
| 静态几何
| 光照贴图
| 光照贴图 | 全场景动态阴影(仅限直接光照)
| 可以移动几何
| 体积照明
| 距离场阴影 | 全场景动态阴影(仅限直接光照) |
每种光照移动类型的运行时特性(顶部),以及每种用于根据网格角色的移动设置生成光照信息的技术
https://docs.unrealengine.com/5.0/en-US/actor-mobility-in-unreal-engine/
静态移动性三种移动选项中最简单的一种,静态光照是性能最高但灵活性最低的。顾名思义,具有静态移动性的灯光完全在编辑器中预先计算,并且在游戏运行时无法更改 好处
| 缺点
| 非常高校
| 不灵活 | 完全预先计算,”免费“提供高治疗的间接照明
| 对于高质量的直接照明光照贴图有相关的成本
|
使用Unreal Engine 的预计算光照工具集Lightmass生成静态光照信息,并在称为烘焙的过程中分配给世界几何体。对于静态几何体,Lightmass 会生成光照贴图;包含覆盖在每个适用网格上的阴影和间接照明信息的纹理。静态光也有助于 Lightmass 为动态/可移动演员捕获的体积照明样本 用于可移动角色的 Lightmass 生成的体积照明样本
光照质量很大程度上取决于生成的光照贴图的分辨率、Lightmass Importance Volume的位置以及关卡 World Settings的Lightmass 部分中的值
由于静态光照信息是预先计算的,因此一旦烘焙这些光照就不会对性能产生进一步影响。这意味着您可以在场景中放置的静态灯光数量几乎是无限的
注:虽然静态光照在运行时实际上是免费的,但应该注意光照贴图肯定会产生影响。像任何其他纹理一样,它们需要加载到内存中,并且拥有大量高分辨率光照贴图可以比您想象的更快地烧穿您的纹理流池
静态灯的其他显着特点预计算间接照明静态光照充分利用了 Lightmass 提供的间接(或反射)光照功能。这包括天光反弹、世界反照率的间接照明贡献和烘焙环境光遮蔽
点光源的柔和阴影静态点光源的一个特点是它们的Source Radius参数也会影响其阴影的柔和度。数字越小,阴影越清晰
源半径-0
源半径-2
源半径-8
源半径-16
源半径-32 固定灯光
固定灯代表了静态照明的不灵活性和可移动灯提供的完全动态解决方案之间的折衷。他们使用多种技术来提供高保真动态阴影和 Lightmass 生成的间接照明。 优点 | 缺点 | 最高的照明保真度,将动态阴影投射的灵活性与Linghmass的间接照明功能相结合
| 比静态照明贵的多
| 支持对光强度和颜色的运行时更改
| 每个网格最多只能有4个重叠的阴影灯
|
与具有静态移动性的灯光不同,固定灯光的某些参数可以在运行时更改,包括它们的颜色和强度。它们还支持光功能,可用于遮蔽/动画投影光的材料。由于固定灯光对可移动的角色使用动态照明,但其他一切都依赖 Lightmass,因此运行时更改不会影响间接照明。这可能导致不准确的照明结果
在此示例中,固定光源的颜色从蓝色变为粉红色。间接照明保持蓝色,因为它是预先计算的,为了恢复准确的照明,场景需要重新烘焙
固定光源的直接光照信息存储在称为阴影贴图的纹理中。最多有四个通道,这意味着在系统无处存储信息之前,每个网格最多可以受到四个重叠灯光的影响。如果发生这种情况,灯光将默认为整个场景的动态阴影,有效地成为可移动灯光(我们稍后将讨论)
引擎会告诉您它是否无法通过在有问题的灯光上放置一个红色 X 来分配阴影贴图通道。您可以使用优化视图模式StationaryLightOverlap突出显示重叠发生的位置。场景中的网格会在被重叠的固定灯照亮时从绿色变为红色。任何红色色调都表明您有超过四个重叠的灯光,并且其中一个(或多个)默认为完全动态的解决方案
固定灯的其他显着特点区域阴影
用于较柔和阴影的固定光解决方案,复选框参数为固定光使用区域阴影将导致阴影边缘越远离施法者越柔和
重要的是要记住,如果启用了对固定光源使用区域阴影,则需要更高的光照贴图分辨率来保持相同的阴影保真度
半透明阴影动态对象的半透明阴影对于静态照明来说非常便宜,因为它使用在运行时应用的预先计算的深度图,这种阴影方法非常快,但只能精确到米。有关如何调整阴影深度贴图分辨率的更多信息
https://docs.unrealengine.com/5.0/en-US/stationary-light-mobility-in-unreal-engine/
可移动的移动性
Movable 是迄今为止最灵活的照明移动选项,但它也是最昂贵的。完全在运行时生成,几乎所有可移动灯光的值都可以动态更改。与固定灯不同,这还包括其位置和旋转
优点
| 缺点 | 完全动态
| 性能最低的照明移动类型
|
| 对预先计算的间接照明没有贡献
|
可移动灯光使用整个场景的动态阴影,随着灯光影响范围内的网格数量的增加,这种照明解决方案的成本会显着增加。影响半径大的可移动灯非常昂贵
由于是完全动态的,Lightmass 完全忽略了可移动灯光,以生成间接光照。如果您使用的是可移动灯,您可能会对使用屏幕空间全局照明感兴趣。有关 SSGI 的更多信息
https://docs.unrealengine.com/5.0/en-US/screen-space-global-illumination-in-unreal-engine/
可移动灯的其他显着特点
阴影贴图缓存点光源和聚光灯的一个特性,阴影贴图缓存将存储不移动的可移动光源的阴影信息,因此它不需要在每一帧都重新生成它
正如您可能想象的那样,这是一个强大的性能节省功能。有关如何校准阴影贴图缓存的更多信息,请查看此页面上的阴影贴图缓存部分
https://docs.unrealengine.com/5.0/en-US/movable-light-mobility-in-unreal-engine/
选择照明移动性的 techarthub 指南我希望这篇文章有助于加深对每种移动类型的理解,以及如何最好地利用每种类型。如果您仍然不确定哪一个适合您的特定用例 - 此蓝图可能会有所帮助。是时候问自己一些问题了
根结底,关卡中灯光的最佳移动设置将高度特定于您的项目要求
[tr][tr]作者:[tr]Nick Mower [tr]专栏地址: https://www.techarthub.com/lighting-companion-light-mobility-in-ue4-explained/
|