※ 引述《kobe30418 (吾有上将潘凤)》之铭言:
: 抱歉原谅我的无知
: 玩游戏跟看影片后
: 我还是不懂光追到底为什么是目前的潮流
: 我真心感受不到光追的技术对我玩游戏的体验有增加多少
: 移动时我比较在意帧数跟花草树木的物理动态
: 剧情过场时只要画质好就好了
: 主要的注重的我看了半天,到底光追有什么革命性的效果啊?
: 怎么都在强调光追?
光线追踪的革命性效果是:
开发者用更少的努力在假造上就能达成玩家看起来会觉得高品质的结果。
不过消费者跟开发者的荷包会一起折损(?
可以简单用 SSD 传输速度能带来的帮助理解。
玩家不喜欢加载,游戏设计就开始为了降低硬性的加载,摆了一堆藏住加载的狭缝。为了
提升玩家体验而假造了无加载的体验,但迟早累积起来反而会变成干扰体验,如果曾经玩
过 FF7R 的话应该就知道 XD
https://youtu.be/I4o7eSKLN40?t=37771
简单类比就到此为止,以下试着写一篇长一点的文章解释,可以拿杯饮料来边喝边看。
如果玩过的游戏中觉得光线追踪没什么帮助的话,代表这些游戏本来就假造得够好。
而虽然所有光线追踪带来的体验都能用其他方式假造,但通常:
-很难假造到完美
-效能也称不上真的很好
-很容易引来特定情况下看起来很糟的结果
-要花专业人力的时间来假造
光线追踪存在的话,带来的帮助就是直接有完美的结果,不需要想着怎样假造,只需要想着
怎样让最后的结果好看,当然因为效能需求很高而现在只能用低分辨率跑是个问题,但解
析度的问题迟早会被强化的硬件解决。
再者就是用 DLSS、XeSS 跟 FSR2 帮忙假造......用假造来解决假造的问题?矛盾就是这
么朴实无华(X
光线追踪允许了以下几件事不需要假造:
-全域照明(任何光源都有多次弹跳的照明)
-Emissive Lighting(不知道怎翻,能让某些理论上该有光的地方真的照亮周围)
-反射(镜子真的会反射)
-影子(完美表现的影子)
以下我们就来看每个要素要怎么假造跟会有什么问题。
全域照明(Global Illumination)
物理世界的任何东西都可以无限地反射光,但常态的光线模拟不能做到这结果。
常见的假造方式有两种:手动微调假造跟光照贴图。
手动微调假造
如果只有最单纯的光线模拟的话会长这样:
https://imgur.com/0EsZpcT
天花板暗处超暗,没有接收到来自地面的反射光。
这时候可能就会派个人力去假造,例如说复制额外一份光源变成这样:
https://imgur.com/OSti3Ts
让场景看起来像是有反射光。
这样的做法考验的是设计师的人脑光线追踪品质(?),以及要花在微调上的时间。
光照贴图
简单来说就是我们先做一次光线追踪,然后贴在场景上,完工!
这样的确会有完美的反射光,但相对地整个场景都不能变动。PS4 世代的游戏缺乏物理互
动的理由多半跟这件事情有关,优先选择了画面的好看而牺牲掉可互动性。
当然上述两个问题都有对应的更多的假造方式来改善体验,但相较之下有了光线追踪,就
允许开发者只要打开引擎的一个勾勾就搞定一切问题。
https://imgur.com/0EsZpcT (原版)
https://imgur.com/OSti3Ts (人脑假造)
https://imgur.com/juhIPOw (光线追踪)
一键完成,而且品质比设计师的人脑光线追踪还要好。
好啦不是真的一键啦,要先有人把这功能写好 XD
Emissive Lighting
游戏中的小发光物件,例如说路边的霓虹招牌,通常材质设定上可以设定一个值来模拟发
出一个特定的光线的视觉。但是没有照亮周边的场景的话会很奇怪,所以通常得人工额外
塞一个光源进去。
然而常态光线模拟其实只擅长处理单点发出来的光源,所以设计师假造的时候也只能用有
限的单点光源去处理,例如说这样:
https://imgur.com/6RPJke7
相对的,光线追踪可以正确模拟从每一个点发出来的光线:
https://imgur.com/rQF4jzG
反射
反射的假造相当多元,其中最简单的方式就是从镜子的对面再绘制场景一次,不过这样做
当然很吃效能所以不常见,也因为这样大多数游戏都会故意让出现的镜子物品是破裂的状
态或是看起来很脏 XD
以下再介绍一些例子:
单纯复制一份场景在另一边
如果要在地面显示场景的反射的话,就直接把场景复制一份到地下就好啦!
https://imgur.com/BUqP6Du
https://imgur.com/hKj3Vx8
复制画面内的资讯
水平的时候效果很好,但萤幕内看不见反射物件的时候,就会很莫名其妙的反射消失。
https://imgur.com/DgpHUnu
https://imgur.com/A9Yzk3Y
大概对视觉影响最大的情况就是像这样,一扇金属的门:
https://imgur.com/m1IEsqx
没有光线追踪的情况下因为只能塞一个泛用的低分辨率反射而会看起来像是发光。有了光
线追踪之后就可以看起来很正常:
https://imgur.com/NVE3zCC
影子
由于游戏引擎渲染影子的限制,最常态的阴影只能被渲染成“完美的硬阴影”,同时阴影
的分辨率会受到限制。对于阴影的分辨率解法当然可以单纯调高分辨率,但同时还有着没
办法处理局部遮蔽的问题。
局部遮蔽的处理目前通常是用所谓的 SSAO,就是根据场景深度假造光线的遮蔽:
https://imgur.com/ddKPzzD
其实效果就会很好了,不过终究是假造的,会算出错误的结果。
除此之外影子没有什么方便假造的大招,所以光线追踪对影子品质的改善会很明显:
https://imgur.com/00nXkZB
https://imgur.com/EH8xtDU
总之大概是这样。
光线追踪可以自动解决很多让游戏看起来好看的技术问题,对大公司来说可以省人力,对
于本来就没那人力的小团队来说可以自动提升视觉品质。
理论上应该要是玩家跟开发者的双赢,不过我想在那之前应该是老黄的口袋先赢。
最后也不仿感念一下投注无数心力让我们不用仰赖光追就能看到好看光线的开发者们:
https://imgur.com/rfXjPTV
(通常大作都会有一大把独立的 Lighting Artist,小厂可能身兼多职看不出来)
以上提供参考,本文没有老黄赞助,老黄拜托请送我一张 4090。
参考资料(都引自 Digital Foundry):
Exclusive: Metro Exodus Enhanced Edition Analysis - The First Triple-A Game
Built Around Ray Tracing
https://youtu.be/NbpZCSf4_Yk
这部影片的 22:56 开始有解释原本假造全域照明的工作流程
Cyberpunk 2077 PC: What Does Ray Tracing Deliver... And Is It Worth It?
https://youtu.be/6bqA8F6B6NQ
DF Retro: Metal Gear Solid 2 - A Kojima Masterpiece
https://youtu.be/mH2ZVlOLPNI
Ghostwire Tokyo on PlayStation 5: The Digital Foundry Tech Review
https://youtu.be/Nda2nU5XbzY
Alan Wake 2 PC Path Tracing: The Next Level In Visual Fidelity?
https://youtu.be/tXfwvohROPA