抗锯齿(Anti-Aliasing) 是指在原本应该平滑的边缘和对象上删除锯齿状或阶梯状线条。抗锯齿的方法有很多种,可以减少这些类型的视觉瑕疵。有些方法用于特定渲染器和平台,而有些则非常适合提高性能和保真度。


抗锯齿方法
目前已经开发出来的抗锯齿方法多种多样。虚幻引擎提供了多种方法,你可以根据项目需要和要求进行选择。你可以为台式机/主机和移动平台选择合适的抗锯齿方法。
虚幻引擎为你的项目提供了以下抗锯齿方法。
| 抗锯齿方法 | 台式机/主机:延迟渲染器 | 台式机/主机:正向渲染器 | 移动:延迟渲染器 | 移动:正向渲染器 |
|---|---|---|---|---|
| 时间超级分辨率(TSR) | Y | Y | N | N |
| 时间抗锯齿上采样(TAAU) | Y | Y | Y | N |
| 快速近似抗锯齿(FXAA) | Y | Y | Y | N |
| 多重取样抗锯齿(MSAA) | N | Y | N | Y |
使用以下图像滑块,可在无抗锯齿和可用抗锯齿方法之间切换,比较两者的结果。这些是显示静态场景的单帧捕获。要查看抗锯齿的最清晰结果,你应该在你有不同类型资产和材质并且可以自由四处移动的场景中进行测试。
图像序列 NO AA、TSR、TAA、FAA、MSAA

使用无抗锯齿、TSR、TAA、FAA或MSAA(正向渲染器)时,拖动滑块以查看场景。
抗锯齿可扩展性设置
抗锯齿设置在 引擎可扩展性设置(Engine Scalability Settings) 中有自己的可扩展性组,用于缩放与每种方法的抗锯齿质量直接相关的GPU成本。可扩展性组将控制每种相应抗锯齿方法的控制台变量。
你可以从 引擎可扩展性设置(Engine Scalability Settings) 下的 设置(Settings) 下拉菜单访问 抗锯齿(Anti-Aliasing) 可扩展性设置。
你可以选择 低(Low) 到 过场动画(Cinematic) 之间的某个选项来控制质量,或使用 自动(Auto) 让编辑器测试你的系统并选择最佳选项。或者,也可以调整抗锯齿或阴影等特定功能的质量。
每个引擎可扩展性设置条目对应于 DefaultScalability.ini 文件中的一组可配置控制台变量。你可以基于你想要的质量设置来编辑这些条目,更好地适应你的项目。
请参阅可扩展性设置,详细了解如何设置和配置控制台变量。这是一个高级工作流程。
选择抗锯齿方法
从 窗口(Window) 下的主菜单打开 项目设置(Project Settings) 。在项目设置中,抗锯齿设置位于 引擎(Engine)> 渲染(Rendering) 设置中。
对于 台式机/主机(Desktop / Console) 平台,抗锯齿设置位于 默认设置(Default Settings) 分段下。
对于 移动(Mobile) 平台,抗锯齿设置位于 移动(Mobile) 分段下。
时间超级分辨率
时间超级分辨率 (简称TSR)是与平台无关的时间上采样器,使用的算法主要专注于为每个帧投入更多GPU周期,提高时间上采样质量,节省总GPU帧成本。其做法是渲染比虚幻引擎4中的时间抗锯齿上采样显著更低的内部分辨率。
TSR提供了原生高质量上采样技术,通过Nanite微多边形几何体所能实现的细节和保真度,满足次世代游戏的需求。
以下比较演示了在原生4K分辨率渲染的捕获帧与1080p上采样至4K之间的质量和性能差异。利用TSR,可以实现接近4K分辨率的图像质量,同时将GPU帧时缩短一半。


按原生4K分辨率渲染的4K帧 -- 帧时:57.50毫秒 / 按1080p分辨率渲染的4K帧(r.ScreenPercentage=50) -- 帧时为33.37毫秒
在以上比较中,每个图像是限制为此页面宽度的4K图像。要按完全未压缩的分辨率查看,请右键点击任一图像并将其保存到计算机,或在新的浏览器窗口中打开。
时间超级分辨率具有以下属性:
- 在输入分辨率低至1080p的情况下,渲染帧接近原生4K的质量。
- 相比于采用虚幻引擎4的默认时间抗锯齿方法,高频率背景上的可见"重影"瑕疵更少。
- *减少高复杂性几何体频闪。
- 在主机平台上支持动态分辨率缩放。
- 可在支持D3D11、D3D12、Vulkan、Metal、PlayStation 5和Xbox Series S | X的所有硬件上运行。
- 着色器专门针对PlayStation 5和Xbox Series S | X GPU架构进行了优化。
在渲染链中,TSR在景深之后发生,后续所有内容都会进行上采样。
GPU成本可扩展性
你可以在各个支持的平台上使用时间超级分辨率,但你需要基于项目的需要自定义每个平台的上采样设置。
探索以下小节,了解你可以在项目中检查TSR的一些方式,然后相应进行缩放。
控制台变量
引擎可扩展性设置可在所有平台中缩放TSR的质量。它们使用从 低(Low) 到 过场动画(Cinematic) 的预定义可扩展性组。每个组由影响抗锯齿的一组控制台变量定义。
你可以编辑 DefaultScalability.ini ,专门为你的项目配置可扩展性设置。你可以在不同的可扩展性质量组中编辑、添加和删除控制台变量。你可以在编辑器中打开控制台并搜索 r.TSR ,探索可配置的TSR控制台变量。
你可能需要为项目做出调整,例如,TSR包括一种空间抗锯齿算法,每当需要拒绝历史记录以避免可能为当前帧引入错误的陈旧数据时,都会使用该算法。若游戏项目仍需要按更高分辨率或帧率渲染,那么可能就不需要此选项,因为所显示的锯齿可能不会被拒绝。
TSR的历史记录拒绝通过使用控制台变量 r.TSR.RejectionAntiAliasingQuality 控制。
统计数据GPU
TSR的主要目标是上采样。其大部分GPU工作基于为其提供的分辨率进行缩放。
使用 stat GPU 从控制台打开GPU统计显示。将其打开后,你可以调整主屏幕百分比,查看按100%和50%屏幕百分比渲染时性能有什么不同,就像以下从《遗迹峡谷》示例项目获取的例子那样。
| 在r.ScreenPercentage=100时约0.79毫秒 | 在r.ScreenPercentage=50时约0.43毫秒 |
| 点击查看大图。 | 点击查看大图。 |
过场动画TSR
时间超级分辨率包含 过场动画(Cinematic) 可扩展性选项,用于将其分辨率设置为近似等于在TSR历史记录屏幕百分比设置为200时的输出分辨率的两倍。
自动视图纹理Mip偏差
屏幕百分比导致几何体在更低像素密度渲染,这意味着时间上采样需要 表面(Surface) 和 延迟贴花(Deferred Decal) 材质域中的更多纹理信息,以维持相同的输出清晰度。
在 材质图表(Material Graph) 中选择 Texture Sample 节点时,你可以使用其细节面板,支持使用 自动视图Mip偏差(Automatic View Mip Bias) 设置纹理是否应该以每个视图的Mip偏见取样,通过TSR和TAAU等时间抗锯齿方法获得更清晰的输出。
自动视图Mip偏差在与更低主屏幕百分比相结合时,可能会给有大量小型或高频细节的纹理带来问题,因为更清晰的细节可能会丢失。要进行补偿,你可以将 MipValueMode 设置为 MipBias ,以将某个值应用于纹理取样上的 偏差(Bias) 输入或细节面板上的 常量Mip值(Const Mip Value) ,也可以选择完全退出自动视图Mip偏差。
自动视图Mip偏差仅在启用了TAAU或TSR时发生。MSAA和FXAA等其他抗锯齿方法不会使用此设置。
TSR后的后期处理材质
后期处理材质必须从将要使用这些材质的地方选择 可混合的位置(Blendable Location) 。色调映射后(After Tonemapping) 和 替换色调映射器(Replacing the Tonemapper) 的选项在渲染链中TSR之后发生。这意味着,它们按完全分辨率运行,不同于视图大小。
视图属性(View Property) 表达式包含 视图大小(View Size) 和 渲染目标大小(Render Target Size) 的选项,后者返回TSR在管线中发生之前的视图分辨率,尽管它实际上是在TSR之后发生。要知道TSR之后的视图大小和纹素UV大小,请将 场景纹理(Scene Texture) 表达式用于带 Size 和 InvSize 的输出的 PostProcessInput0 。
如果你想从像素位置重新计算视口UV,请将 SceneTexture:PostProcessInput0 乘以 ScreenPosition ,如以下例子所示。
时间上采样的隐藏额外GPU成本
时间超级分辨率和其他任何时间上采样器在渲染器的后期处理链中间发生。这意味着,动态模糊或色调映射器等在TSR之后运行的通道不再使用主屏幕百分比缩放。在缺少带空间上采样器的辅助屏幕百分比的情况下,主屏幕百分比恰好按显示器分辨率而不是渲染分辨率运行。
默认启用TSR的情况下,大量工作专注于减少在TSR之后发生的通道隐藏时间上采样成本。
动态模糊
动态模糊优化在PlayStation 5和Xbox Series X上可带来3倍的动态模糊GPU性能成本改善,这些平台即使在较低分辨率的电视机上也始终显示2160p后台缓冲区。
- 使用
stat gpu时提高了TSR成本:- 比较启用和禁用动态模糊的情况时,TSR成本在使用
stat gpu时可能稍有增加。 - 启用动态模糊时,TSR会接管其通常按输入分辨率运行的 速度展平(Velocity Flatten) 通道。这使用控制台命令
r.MotionBlur.AllowExternalVelocityFlatten进行控制,并已默认启用。 - TSR输出半分辨率场景颜色,以减少大型定向模糊核中可能出现的内存带宽瓶颈。这使用控制台命令
r.MotionBlur.HalfResInput进行控制,并已默认启用。
- 比较启用和禁用动态模糊的情况时,TSR成本在使用
- 定向模糊上的半分辨率:
- 按显示器分辨率发生的定向模糊经过优化,可在发生非常大的移动时自动按半分辨率运行。启用此功能将降低动态模糊的VALU成本。
- 使用控制台命令
r.MotionBlur.HalfResGather 1启用此优化。
- 动态模糊半分辨率和四分之一分辨率:
- 动态模糊能够输出半分辨率或四分之一分辨率,这对于全都在动态模糊之后运行的高斯和卷积泛光、镜头光晕、眼部适应(自动曝光)和局部曝光很重要。
支持的平台
时间超级分辨率在支持Shader Model 5的所有台式机硬件中的台式机渲染器上可用。以下平台支持时间超级分辨率:
- Windows D3D11 SM5、D3D12 SM5、D3D12 SM6和Vulkan SM5
- Linux Vulkan SM5
- Mac Metal SM5
- PlayStation 5和Xbox Series S | X
TSR的上采样质量和行为在所有支持的平台中完全相同。但是,TSR已针对PlayStation 5和Xbox Series S | X主机中使用的AMD RDNA GPU专门进行优化,利用16位类型和打包指令。
时间抗锯齿上采样
时间抗锯齿上采样 (简称TAAU)在每个帧内对不同的位置采样,并使用过去的帧将采样混合在一起,去除并平滑锯齿状边缘。


TAAU的质量使用控制台变量 r.TemporalAA.Quality 进行控制。你可以从以下值选择:
- 0: 禁用输入筛选。
- 1: 启用输入筛选。
- 2: 启用输入筛选,并基于移动性进行抗重影(默认值)
你可以使用 引擎可扩展性设置(Engine Scalability Settings) 更改抗锯齿的质量。
在渲染链中,TAAU默认将时间上采样器配置用于屏幕百分比。
禁用时间上采样
要简化从虚幻引擎4迁移项目至虚幻引擎5的过程,可以禁用时间上采样,将空间上采样器用于主屏幕百分比。
为此,请在UE5项目设置的 引擎(Engine)> 渲染(Rendering)> 默认设置(Default Settings) 下禁用 时间上采样(Temporal Upsampling) 设置。
禁用该设置后,时间抗锯齿的渲染链将如下所示:
屏幕百分比的特定于TAAU的着色器排列
TAAU针对以下主屏幕百分比范围包含自己的着色器排列:
- 50 - 70 渲染更快,因为它在内存中使用更小的LDS图块。
- 71 - 100 很适合台式机和基础主机上的"普通"DPI渲染。
你可以在关卡编辑器的 视口选项(Viewport Options) 下拉菜单中设置主 屏幕百分比(Screen Percentage) 。
快速近似抗锯齿
快速近似抗锯齿 (简称FXAA)是一种仅限空间的抗锯齿技术,是一种后期处理效果,使用高对比度滤波器找到边缘,并通过在像素边缘之间混合(抖色)来平滑边缘。顾名思义,该技术能够快速渲染,非常适合低端设备和台式机。
虽然该技术的渲染速度很快,但相较于其他抗锯齿技术,最终图像可能会丧失一定保真度。


FXAA的抖色质量使用控制台变量 r.FXAA.Quality 进行控制。你可以设置多少取样用于抖色以去除锯齿状边缘。取样越多,高保真度越高,但GPU成本更高。
从以下选项中选择:
- 0: 主机
- 1: 使用3个采样的PC中等抖色
- 2: 使用5个采样的PC中等抖色
- 3: 使用8个采样的PC中等抖色
- 4: 使用12个采样的PC低抖色(默认值)
- 5: 使用12个采样的PC极端抖色。
你还可以使用 引擎可扩展性设置(Engine Scalability Settings) 更改抗锯齿的质量。
在空间和时间上采样链中,空间上采样器在主屏幕百分比的后期处理链末端发生。
多重取样抗锯齿
此抗锯齿技术仅在使用正向渲染器时在移动和台式机/主机上可用。
多重取样抗锯齿 (简称MSAA)是仅对帧的一些部分进行平滑处理的技术。MSAA主要查看容易出问题的地方,例如几何体的边缘。在边缘上可能出现锯齿问题的地方,MSAA会操控其颜色,使其处在构成边缘的两个像素的颜色之间。抖色效果会带来边缘更平滑的错觉。


MSAA的质量依赖于它将多少取样用于沿它确定有锯齿的边缘混合颜色。取样越多,视觉质量越好,但代价是GPU处理更多。
你可以在项目设置的 引擎(Engine)> 渲染(Rendering)> 默认设置(Default Settings) 下通过 MSAA取样数量(MSAA Sample Count) 设置来设置MSAA使用的取样数量。此设置将控制台式机/主机和移动设备的取样数量。或者,你可以使用控制台变量 r.MSAA.Quality 来设置质量。
在 2 、 4 和 8 个取样之间选择。

拖动滑块增加多重取样抗锯齿使用的取样数量。
不同于其他抗锯齿技术,MSAA 不 受引擎可扩展性设置控制,必须使用控制台变量或其项目设置进行设置。
在渲染链中,MSAA主要在空间上采样器之前沿边缘解决几何体锯齿。材质、纹理和透明表面中的锯齿不受MSAA影响。
