A9VG电玩部落论坛

 找回密码
 注册
搜索
楼主: jxnccn

谁能告诉我反射和光追有什么区别?

[复制链接]
该用户已被禁言

精华
0
帖子
8812
威望
0 点
积分
9096 点
种子
1522 点
注册时间
2022-9-13
最后登录
2025-1-5
发表于 2023-5-21 18:36  ·  广西 | 显示全部楼层
wo2200 发表于 2023-05-21 17:34


好吧,看来是我有了不切实际的期望。我本来想着,只要光追技术全面应用,游戏制作组就不可能限制得了玩家用反射来观察裙底。

要说光追给人最大的观感的话,还是那种漫反射,照亮了一个物体,然后那个物体又通过漫反射影响环境。但是这种的话,我记得神海4和最后生还者2里的一些场景里就有比较好的的展现了,应该是最后生还者2的一个房间吧,好像是红色窗帘,然后把一小个地方都照射出红色,我那时觉得这个场景太惊艳了,现在最顶级的2077光追也不过是实现了这种漫反射,结果却需要4090显卡来实现,这也太浪费了。


所以背后的人怎么想才是决定性的
他想限制就难办了
技术还是被人支配


你说的顽皮狗游戏就用烘焙的探针光照
存储之前光追预计算好的光照信息数据
用超多核CPU预计算来省实时计算算力
好莱坞影视游戏制作路线早就普遍用

现在实时动态光追全局光也用探针缓存
传递累积复用之前算好数据再部分计算即可

不必浪费大量算力一帧帧重复计算全局光照

那样太低效
发自A9VG Android客户端

精华
0
帖子
1552
威望
0 点
积分
1817 点
种子
917 点
注册时间
2010-6-8
最后登录
2025-2-4
发表于 2023-5-22 11:23  ·  日本 | 显示全部楼层
本帖最后由 liaosrx126 于 2023-5-22 11:27 编辑

反射是一个现象,光追是一个实现现象的方法,两个其实概念上就是不同的。
和光追对应的是传统实现反射的方法。

举个例子。
如果游戏有个角色拿着手电筒,然后他走到了一个镜子面前。

〇 传统
做个新的摄像机,从角色正面做个图,然后把图贴到镜子的位置
这样就能看到一个反射角色的效果,角色的亮度就是他在环境中的亮度(※实际影响的不止亮度,为了方便这里只说亮度)

〇 光追
虽然传统方法可以做到镜子的效果,还原形象和角色在环境中的亮度。
但是手电打到镜子上,镜子会反射手电的光,所以实际镜子种看到的角色的亮度应该是更加高的。
但是传统的方法上不会考虑这些 额外的 反射出的光线,而光追的效果就是回去捕捉这些 额外的 光线。
因为实在追踪每个光线的效果故叫做光线追踪,自然也会更加的真实。

因为最初的光追是追求 额外的 反射光线用,自然界里最明显的就是水面和镜子,所以最开始就是这些多。
后面也开始渐渐到光的互相反射了,所以你会看到黑暗+光+水+镜子这样的场景也会多起来。
没有这些,光追的细节提升大多数情况下是不好感受到的,传统贴图也能糊弄出来

以上是我的一点理解,仅供参考

精华
0
帖子
493
威望
0 点
积分
496 点
种子
48 点
注册时间
2018-4-20
最后登录
2023-12-25
发表于 2023-5-22 11:39  ·  吉林 | 显示全部楼层
本帖最后由 Tilerphy 于 2023-5-22 11:59 编辑

光线追踪是多次反反射(便于理解,后面简称为反射)的叠加结果,给材质和光线参数、给光的叠加设计一个公式,最终反射到摄像机的内容通过这些参数和公式叠加计算得到。
传统的反射,也就是光栅化反射,或者多次光栅化反射,相当于预设一个公式,通过直接计算获得摄像机应该显示的内容。

如果我们把摄像机能够看到的内容设为F(x),光追是通过F(x)=f1(x1)+f2(x2)+f3(x3)........这种多项式获取到的结果,计算量颇大。
光栅化则是程序员给出 G(x)=g(x) 这样的一个固定的公式。
实际上我们可以理解为光追是实时的在多个点生成光栅化公式,并且叠加计算,直至反射到摄像机

光追公式有一定的并行特性,可以通过专有芯片独立计算,所以带有光追计算单元的GPU能更好的处理光追计算。

但光追的多项式(反射次数)不是无限的,工程界有一定的小手段。比如用前一帧的光线状态来计算变化量:
第一帧时做出全局的光线反射状态,并且保存。当摄像机移动到某一个点时,提取之前算好的内容和光源信息,和光通量变化进行小范围计算更新即可(UE5 lumen)

关于“反反射”,在工程里,这个东西叫做Backword Tracing,在现实生活中,光是投射到物体上,然后经历多重反射后投射到你的眼睛里(摄像机),这时候我们需要遍历所有光源发出来的光线,因为真是光源可能会非常多,这计算量就超级大了。 所以引入了一个反向追踪确认光源的逻辑:假设光是从摄像机发出的,投射到所有摄像机可见的范围内的物体上,然后去寻找通过(前一帧计算的)反射途径找到可以通向的真实光源。然后计算这些涉及到的光源,降低计算量。


回到问题,假设你问的是广义的反射和光线追踪的区别,那就是没区别。实际上光线追踪反射是反射的一个子集。
假设你问的是光栅化反射和光线追踪的区别,那就是实现上的区别,多项式的来源 和 多项式的项数 是有区别的。
在光栅化反射流行的年代,其实早就有了光线追踪的学科,因为光线追踪才更贴近光的真实物理特性(粒子特性),人们总是会先想到与现实相近的实现,只是计算量太大,没有特别好的落地手段,光栅化可以看作是光线追踪的极简化版本(一个多项式)。

该用户已被禁言

精华
0
帖子
3220
威望
0 点
积分
3701 点
种子
266 点
注册时间
2013-7-12
最后登录
2024-11-8
发表于 2023-5-22 11:50  ·  广东 | 显示全部楼层
看了5页回复   就9楼的回答最正确  最简洁     大部分人都听得懂     其它回答     不需要参考~~~            
该用户已被禁言

精华
0
帖子
8812
威望
0 点
积分
9096 点
种子
1522 点
注册时间
2022-9-13
最后登录
2025-1-5
发表于 2023-5-22 12:34  ·  广西 | 显示全部楼层
游戏用的光栅和光追都是以人的角度去思考的
就是类似电影魔术的障眼法(魔术就是假的 让你信以为真)
没什么绝对高低优劣之分
有各种技巧办法解决所需

而且光栅和光追有不少东西是不搭和冲突的
要整合一致互补才有实际意义


虚幻5引擎的Nanite和Lumen
就是主打软光栅配软光追体系


与工程科学研究的光追不是一回事
科学追求与真实物理一致

对游戏完全没必要
有时还起破坏作用

艺术才是游戏主导
人的经验和感受才有价值
发自A9VG Android客户端

精华
0
帖子
1728
威望
0 点
积分
1918 点
种子
411 点
注册时间
2022-1-25
最后登录
2025-1-23
发表于 2023-5-22 12:35  ·  江苏 | 显示全部楼层
光追对于游戏开发更省时间,举个例子,顽皮狗的美末P1和P2令人惊叹的光线效果就是反射,都是预先利用大量人力物力堆砌出来的
该用户已被禁言

精华
0
帖子
8812
威望
0 点
积分
9096 点
种子
1522 点
注册时间
2022-9-13
最后登录
2025-1-5
发表于 2023-5-22 12:53  ·  广西 | 显示全部楼层
Taleyas 发表于 2023-05-22 12:35
光追对于游戏开发更省时间,举个例子,顽皮狗的美末P1和P2令人惊叹的光线效果就是反射,都是预先利用大量人力物力堆砌出来的


顽皮狗就用了大量光追来烘焙漫反射效果
顽皮狗深入PS4底层优化才花了大量时间


光追更省开发时间并不准
光追必须和光栅一体配合才省时间
否则出各种问题会多花大量时间制作成本

典型2077反复几年
搞了数个光追版本
发自A9VG Android客户端

精华
0
帖子
3751
威望
0 点
积分
4053 点
种子
576 点
注册时间
2018-10-16
最后登录
2023-1-21
发表于 2023-5-22 15:53  ·  北京 | 显示全部楼层
游戏里不知道,三维软件里,打开光线追踪的话,阴影更自然真实,软件计算每个光子碰到平面后的反射路径,可以调整反射次数,次数越多阴影越自然真实,因为现实中阴影不只是主要光源造成的,还有其他物体反射的光共同作用产生的结果,光线追踪应该就是模拟现实中的这种情况,当然速度就越慢。感觉和普通反射的计算方式不一样,不开光追的情况下,也可以用人为增加不同角度的光源来模拟漫反射效果,增加渲染速度。
发自A9VG iPhone客户端

精华
0
帖子
6645
威望
0 点
积分
7562 点
种子
965 点
注册时间
2009-1-10
最后登录
2025-1-26
发表于 2023-5-22 17:13  ·  北京 | 显示全部楼层
我记得上次拿ps5的控制,还有蜘蛛侠的玻璃
开光追效果很明显
发自A9VG iPhone客户端
该用户已被禁言

精华
0
帖子
8812
威望
0 点
积分
9096 点
种子
1522 点
注册时间
2022-9-13
最后登录
2025-1-5
发表于 2023-5-22 20:30  ·  广西 | 显示全部楼层
alisancy 发表于 2023-05-22 15:53
游戏里不知道,三维软件里,打开光线追踪的话,阴影更自然真实,软件计算每个光子碰到平面后的反射路径,可以调整反射次数,次数越多阴影越自然真实,因为现实中阴影不只是主要光源造成的,还有其他物体反射的光共同作用产生的结果,光线追踪应该就是模拟现实中的这种情况,当然速度就越慢。感觉和普通反射的计算方式不一样,不开光追的情况下,也可以用人为增加不同角度的光源来模拟漫反射效果,增加渲染速度。


三维作图软件很多场景要求和游戏并不同

游戏互动很多
要求实时帧数流畅
不能几秒后还留有噪点

大规模场景的物体很多
需要对物体建立多个加速数据结构
整体配合加速遍历求交 才跑得起来
Nanite和Lumen都依赖于加速结构

Lumen基于探针的光追
不需要人为添加光源来模拟漫反射
机器计算排布于空间中
发自A9VG Android客户端
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2025-2-6 08:02 , Processed in 0.220104 second(s), 17 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部