反射环境
环境反射的工作原理是,在场景中的一些位置上获取静态画面并重新投影到简单形状,比如球型尚。美术人员在场景中放置 ReflectionCapture Actors 确定获取点的位置。在编辑过程中反射的效果是实时更新的,但游戏运行时是静态的。将这些获取的场景投影到简单的形状上能够得到大致的反射视差效果。每个像素在不同的 cubemap 之间混合计算得到最终值。较小的 ReflectionCapture Actor 将会覆盖较大的,因此可以根据区域来改进反射视差的精度。比如,可以在一个房间的中间放一个捕获点,并在房间的角落再放一个较小的捕获点来改善反射效果。
如需获得关于反射环境和反射捕获的更多信息,请参阅环境反射。
反射捕获Actors
反射捕获Actors是策略性地放置在整个关卡中并将反射数据装入反射环境中的对象。
目前有两种反射获取形状:球型和盒型。形状很重要,它决定了场景中的什么部分会被获取到 cubemap 中,场景会投影到什么样的形状上,以及场景中什么部分将会收到来自于这个 cubemap 中的反射效果(影响区域)。
如需获得关于反射环境和反射捕获的更多信息,请参阅环境反射。
屏幕空间反射
屏幕空间反射是辅助放置对象到平面(如地面)的引擎特性。 它们被默认开启,并会和反射环境的结果相混合,从而使得反射具有更为完整的感觉。
屏幕空间反射默认在虚幻引擎4中开启,但可以使用控制台命令 r.SSR.Quality 3 或 r.SSR.Quality 0 (根据设置不同而不同)来开关。以下是反射示例场景的结果,一个开启了屏幕空间反射(r.SSR为1),另一个关闭了屏幕空间反射(r.SSR为0)。
反射考虑要素
在使用反射来构建环境时,我们的美工要考虑以下几个问题:
对比
反射在总体光照和阴影对比强烈的区域或更为显著和明显。 正如真实世界那样,反射会趋向于“出现”在本身较暗或其所在处较暗的地方,但会在强光处消失。 这就是为何我们在此例中选取地铁场景。 作为地下场景,不存在真实的自然光来源。 这几个灯具的位置摆放松散并相对较亮。 这样对于观看者或玩家来说,阴影和暗处将成为出现反射的主要位置。
真实世界反射表面
除了对比外,还有很重要的一点是在创建真实反射时,需要考虑在真实世界中创建反射的表面类型。 本演示中,我们对地面选择了潮湿混凝土,在墙面选择了瓷砖。 在场景中的大多数位置处,水都在不停滴下并流得到处都是,这样就使得场景中的大部分位置可以产生反射。 当然,这样也意味着为使得场景更具观赏性,我们在创建材质时认真花功夫至关重要。
如需获得有关材质创建的更多信息,请查看材质 以及 基于物理的材质文件。
放置反射捕获
获取正确反射的关键是在您的场景中放置反射捕获Actors。 您首先可能会想把这些Actors放到您场景的不同位置,直到您获得较好的效果。 不过,在使用这些Actors时,要牢记一些规则:
Screen Space (屏幕空间)-每个反射捕获Actor都会产生系统性能消耗,根据该Actor占据您屏幕空间的半径而产生不同的性能消耗。 这样的话,它们类似于粒子或动态光照。 这意味着您不能让捕获Actor的半径过大。
Overlap (重叠)- 反射捕获Actor的半径会产生重叠。 由于重叠的Actors会增加反射产生的每帧的性能消耗。 如果再加上由于屏幕空间的加大而造成的系统性能损耗,可能很快您就因性能消耗过大而无法在场景中放置更多的大半径的反射捕获Actors了。
Hierarchical Placement (分层放置)- 为节省资源且仍有不错的反射捕获Actors布局,使用分层布局将让您在重叠最小的情况下有好用的反射设置。 在此系统中,大半径的捕获Actors被放置在从背景获取捕获的位置,随后一系列较小的捕获Actors获取细节周围的反射。
红色
大半径。 反射关卡和背景中的大多数内容。
蓝色
更为本地化的反射。 捕获单个空间。
绿色
小半径的细节反射。 放置在需要小的重要细节的区域处。相关主题
环境反射
照亮环境
材质