- PC平台
- MAC平台
- Linux平台
- 操作系统: Windows 7 SP1/8/10 (64位)
- 处理器: 2.2 GHz
- 内存大小: 4GB
- 显卡 DirectX 10.1级: AMD Radeon 77XX / NVIDIA GeForce GTX 660 (游戏支持的解析度最低为720P)
- 硬盘空间: 17 GB
- 操作系统: Windows 10/11 64位
- 处理器: 英特尔 Core i5
- 内存大小: 16 GB或更高
- 显卡 DirectX 11级或更高配置: Nvidia GeForce GTX1060 及更高,AMD Radeon RX 560 及更高
- 硬盘空间: 95 GB
- 操作系统: Mac OS Big Sur 11.0
- 处理器: 英特尔 Core i7 (不支持Intel Xeon系列)
- 内存大小: 6 GB
- 显卡: Intel Iris Pro 5100或同等的AMD/英伟达显卡(游戏支持的解析度最低为720P)
- 硬盘空间: 17 GB
- 操作系统: Mac OS Big Sur 11.0
- 处理器: Core i7 (不支持Intel Xeon系列)
- 内存大小: 8 GB
- 显卡: Radeon Vega II或更高,需要支持Metal
- 硬盘空间: 95 GB
- 操作系统: 大部分现代64位Linux系统发行版
- 处理器: 双核 2.4 GHz
- 内存大小: 4 GB
- 显卡: NVIDIA GTX660 及最新的显卡驱动(半年以内的版本) 或同等 AMD 显卡及最新的显卡驱动(半年以内的版本)。游戏支持的解析度最低为720P。显卡需要支持Vulkan API
- 硬盘空间: 17 GB
- 操作系统: Ubuntu 20.04 64位
- 处理器: Intel Core i7
- 内存大小: 16 GB
- 显卡: NVIDIA GTX 1060 及最新的显卡驱动(半年以内的版本) 或类似的 AMD 显卡(RX 560)及最新的显卡驱动(半年以内的版本)。
- 硬盘空间: 95 GB
今天的开发日志将详细介绍战争雷霆的动态模糊效果:这项技术究竟是如何运作的,开发团队具体是怎样实装这部分内容的,期间都克服了那些挑战?让我们深入炫丽画面背后的原理部分吧!
什么是动态模糊?
在电子游戏中,画面是从无到有逐帧渲染出来的,每一帧都对应着游戏中孤立的时间节点所出现的景象。
然而现实中的摄影设备以及人眼并不是以这样的方式去观察世界的。即使使用相机捕获光影,也会存在曝光时间,在快门开合这段时间内被摄录的对象并不是绝对静止的。如果被摄录的对象在这段时间里进行了移动,画面上便会呈现该物件在移动路径上的拖影。最终就形成了我们所说的“动态模糊”现象。
基础原理简析
为了模拟现实中存在的动态模糊,开发团队需要让游戏程序能够掌握每一个画面元素的当前和之前帧所处位置,细化到微观层面便是需要知晓每一个像素的变化。通常来说,这是动态模糊技术中最困难的一部分,但我们已经在先前开发全新抗锯齿技术时完成了该算法所需的技术储备!在这之后,少数无法适配上述技术的画面元素也很容易就能识别出来并修复,因为这部分细节在动态模糊的画面中十分显眼。
在此基础上,开发团队使用一种久经考验的技术来引入动态模糊效果,玩家可以参阅 这篇文章 具体了解。简单来说,程序会计算特定像素当前和上一个时间节点的位置,然后在两个位置之间加入模糊效果。
为了让这一计算过程更加高效,同时尽可能平滑边缘部分,程序还会预测前述特定像素的未来位置并同样引入模糊效果,增加效率的同时让边缘看起来更自然。为了进一步提升速度,某些情况下还会将范围更大的像素按照大致运动方向进行近似处理。
当然,区分游戏空间内视觉元素离镜头的远近也是重中之重,这让画面在渲染时可以清晰划分出背景和前景。有时,需要被模糊处理的背景元素应被前景中静止不动的画面主体优先覆盖,反过来情况也同样会发生。甚至还会出现多个不同画面元素的模糊效果出现在同一个像素上的情况,这时便需要用规则判断哪一方的移动速度过快,或是让两边的模糊效果一起呈现。
动态模糊实装至战争雷霆遭遇的技术挑战
当然,想让动态模糊技术在战争雷霆中以最理想方式呈现,势必要做出针对性的特化改进。前面说到,对画面元素的正确模糊化处理需要判断其移动速度并做出分类,那多于同一个物件出现在同一个点上又如何?举例来说,最大的一个麻烦就是模糊化所用的算法是“看不见”透明物件的!
在战争雷霆中,不难想象空战模式下出现这样的画面:战机以超高速低空翱翔在树冠之间,机上的光源和透明玻璃座舱清晰可见。要呈现正确的效果,程序需要能够分辨同一个位置的两个不同元素:有透明效果的座舱维持不动,而透过座舱所见的树林在快速移动。
与区分前景 – 背景的问题类似,开发团队的解决方法是设立规则来判断一个画面元素是否透过透明玻璃被观测:这两类画面元素各自的动态模糊效果不会互相影响,但同一类别内的多种元素则可以叠加形成模糊效果。
这样一来我们得以在游戏中实现前景中的座舱玻璃轮廓清晰可见,而透过座舱玻璃所见到的远景仍然保持动态模糊的效果。
注意:在撰写本文时,只有将动态模糊设为最高质量才会启用这一透明物体算法,不排除未来会加以改进优化。
当前技术存在的限制
在战争雷霆中引入动态模糊效果有不少技术上的难点。首先,每个像素只能被赋予一个移动速度,因此透明物体表面的反射效果 (如镜像) 无法被赋予动态模糊效果,只能根据背景中的元素反向计算出模糊效果。
为了打造完美的动态模糊效果,我们自然需要像素信息尽可能准确。然而即使程序能够计算一个像素在当前和上一帧的分别位置,也不一定能模拟出对应的画面元素在此期间的具体运动路径:虽然大部分时候画面元素都是直线运动,可以用一条线段来划分出需要模糊化的像素点,但车轮并不包括在内。圆形的轮子总是以回旋的方式移动,这种情况下以前后两帧的移动方向计算出的未来帧将会十分抽象。
目前该问题尚未得到解决,开发团队将会继续针对性地开发模拟旋转运动等复杂运动规律的动态模糊算法。
你这个动态模糊,它真实吗?
动态模糊不仅在画面元素移动时出现,视角本身移动也会带来这一效果。在电影中这一现象稀松平常,但人眼则通常会专注在一个物体上来让大脑保持空间平衡感。如果在游戏内也对视角移动不分青红皂白地加入动态模糊,最后看起来的效果也许在观感上会有大片感,却不太像人眼观察到的现实世界。
为了更好地模拟人眼所见的视觉效果,开发团队为战争雷霆的动态模糊功能加入了关闭视角移动模糊的选项。关闭视角移动模糊后,快速移动的战机、爆炸掀起的碎片等物体仍然会有真实的动态模糊效果,而背景画面主体仍将保持清晰,放大放大再放大,每一个敌人都看得清清楚楚!
同一情境在关闭视角移动模糊效果时的效果 (移动中的炮管仍然具备模糊效果)
动态模糊效果完全开启时转动炮塔的画面
开启动态模糊它有用吗?
围绕动态模糊功能一直存在这样的争论,开发团队内部也就双方意见:有的玩家更在乎动态模糊开启后画面的沉浸感和刺激感,有的玩家则认为开启动态模糊不利于快节奏战斗时分辨目标的效率。两种看法都不无道理,但最终还是让玩家自己来做出取舍:如果您追求竞技比拼和游戏内的每一分优势,动态模糊效果可能未必是您的菜;不过如果您已经成为了战争雷霆高手、想要在战局回放中录制炫酷的击杀集锦,亦或是想经历一把战机飞行员风驰电掣的感受等,请尽情体验我们新推出的动态模糊效果吧!
评论 (0)
评论将处于预审核状态提交举报