分享

为什么很多游戏没有真正的镜子

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2021%2F1106%2F62cee76bj00r25iun000mc000hs008wg.jpg

老玩家可能留意到一个现象:不少游戏中都没有镜子,即便有镜子也是摆设,这是为什么呢?
其实,很多游戏都不会通过模拟真实光线来展示场景,因为制作一面真正的镜子需要“光线追踪”技术。这是一种特殊渲染算法,追踪光线从来源开始照射到物体上,再由物体反射的光线路径。但由于计算量庞大,因此现有技术仅运算“目所能及”的光线路径。
因此,游戏开发者尽量避免设计功能性镜子。通常来说,每设计一面镜子,就要解决一大堆问题,包括映射光,计算并显示完整的反向和倾斜的图像等。这样一来,不仅可以节省大量测试时间,还能够减少BUG。
?url=http%3A%2F%2Fdingyue.ws.126.net%2F2021%2F1106%2F2714d380j00r25iuo000mc000hs007cg.jpg
你在游戏中看到的“假镜子”几乎都用了立方体贴图技术——基本上纹理会根据相机角度发生变化。1999年,英伟达率先推出立方体贴图,用于PS1的赛车游戏。该技术相当古老,但今天依然被人使用。
当然,如果游戏中的对象不多,开发者可以设计一面功能性镜子。比如《超级马里奥:奥德赛》中就有一面镜子,你可以看到镜像世界。只不过为了降低计算量,镜中以较低的分辨率渲染,所以看起来有点颗粒感。
?url=http%3A%2F%2Fdingyue.ws.126.net%2F2021%2F1106%2F17460d95j00r25iuo000zc000hs00a0g.jpg
如今,顶尖GPU已经足够强大,不少游戏也支持“光线追踪”,对于开发者来说,设计功能性镜子并不困难,只是愿不愿意的问题。而对于高性能PC来说,运行这样的渲染也不在话下。
我之前玩《赛博朋克2077》就留意到一个细节,V在家中照镜子是需要打开选项的,并非“实时渲染”,CDPR这样做可能是为了减轻计算量,毕竟夜之城很庞大和复杂。
总而言之,在游戏中设计镜子看似是小事,背后却有一套复杂的机制。

回复

使用道具 举报

已有(1)人评论

跳转到指定楼层
而今 发表于 2022-1-11 06:26:44
<script type="text/javascript">var jd_union_pid="608851640317140547";var jd_union_euid="";</script><script type="text/javascript" src="//ads-union.jd.com/static/js/union.js"></script>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则