百科问答小站 logo
百科问答小站 font logo



塞尔达传说:荒野之息的超远视距是如何实现的? 第1页

  

user avatar   rockwjx 网友的相关建议: 
      

游戏程序员,但并不是做主机游戏开发的,只能以非常初级的知识来简单回答下作为抛砖引玉,具体细节和深度的技术还要等大牛来。


1. 比较容易观察到的是游戏里用了LOD[1](Level of Detail)和Mipmap[2]。一个用于3D模型,一个用于贴图。两者的原理比较相似,这里以LOD举例。

(这里应该有一张同物体的不同精细度模型的对比图)

首先制作组会制作出高精度(多边形数量较多)到低精度(多边形数量较少)几个级别的模型。当想要渲染的物体距离摄像机(即玩家视角)很近时,会使用高精度的模型。当物体离摄像机特别特别远的时候,则用低精度的模型,大致看起来像那么回事即可。贴图所用到的Mipmap基本同理

(这里应该有一张,随着林克的飞行,面前的地形等发生肉眼可见变化的GIF=>可以先看下面的视频)


2. 另外就是一些细节隐藏

比如怪物、草、粒子系统、光照等等。这些在近处看才能分辨出来的细节,离远之后细节的显示与否从视觉上来说影响不大,所以开发时候会设置一定距离以外就隐藏[3]

其实游戏里也设置了物品有效距离。比如林克打怪掉了把剑,但是如果这时候玩家没捡,被前面的呀哈哈吸引,然后又看到更远处有另一只呀哈哈……等走出去很远时突然想起返回去捡剑时,就会发现剑已经消失了。这个体验我感觉不少人都应该遇到过吧。

(虽然与题目无关吧,游戏里经常出现的优化手法还有:物体如果在摄像机映射范围内则显示,出了摄像机范围就被隐藏等等。这个在游戏里火把附近转动摄像机时有时就会注意到。大师之剑那里好像也容易看到来着,有点记不清了)


速通视频里,玩家从初始高地直接飞向城堡时候的画面停止,就是因为来不及加载这些高精度模型和贴图以及各种细节,而刻意被引擎强制执行的吧。

(这里应该有一张,因为加载而卡住的GIF)

Update:没法传图就去油管上录了段最新的any%速通视频[4]的片段。可以看到,

  • 从00:35林克起飞开始,因加载造成的卡顿出现了多次
  • 0:57左右,林克右边地上的石头经过了2次模型精度的提升
  • 1:11左右,城堡的附属模型被加载,之后崖壁的高精度贴图(谨慎来说还有法线贴图等)被加载...
  • 最后1:22那个像雪一样的东西,应该是为了遮蔽低精度模型,或是纯粹为了从远处看城堡时会比较美观吧。

其实如果仔细观察的话,林克最初飞到平原的时候就有不少变化的地形,或是突然蹦出个石头啊、旗杆啊、树啊之类的。进入加农城堡前的城镇下面也是多了残桓等等很多细节。


3. 这次荒野之息的地图是由以宏大地图而闻名的《异度之刃》开发商Monolith帮忙制作的,相关介绍可以参考下面的答案。(虽然没有太多技术细节,但是里面有技术资料的索引)

我忘了在哪看过的话了,大概是说异度之刃的制作人高桥当初,为了让玩家真实感受到自己是在巨神机神2个神的身体上活动,便没有采用其他游戏的那种「近处用模型、远处用贴图」的手法,而是执念于无论距离远近,都使用真实的地形的略极端的手段。

(这里应该有一张《异度之刃》可以体现巨神的庞大的图)

这虽然因为占用了大部分机能,在一定程度上导致了当年《异度之刃1》在wii上的很多画面效果都较差(比如很多人诟病的人物建模),但是当玩家发现自己走到巨神上半身时还能看到巨神脚的殖民地9时,那种震撼不是简单的画面优美就能比较的了。

其实在《荒野之息》发售时市面上已经有很多开放世界游戏,分区加载等开放世界相关技术[5]也比较成熟了。而就如题目描述所说的,"身处地图中任意位置都能清晰看到Boss的城堡"这点上,我相信Monolith他们是把开发《异度之刃》积累的3D大地图制作经验,活用在《荒野之息》上面了

这里建议喜欢荒野之息大地图的玩家,一定要去试试异度之刃系列~


扩展阅读:之前看到过一篇特别干货的荒野之息所用引擎的技术分析。虽然和本题无关,但里面的每个技术点都有GIF演示,作为非开发者也能大致看懂那些技术的效果。如果感兴趣可以看看

(这篇大多是几年前自己玩荒野之息时注意到的地方,可能不够严谨,有错的地方请见谅)

参考

  1. ^ https://en.wikipedia.org/wiki/Level_of_detail
  2. ^ https://en.wikipedia.org/wiki/Mipmap
  3. ^ 虽然与题目无关吧,游戏里经常出现的优化手法还有,物体如果在摄像机映射范围内则显示,出了摄像机范围就被隐藏等等
  4. ^ https://www.youtube.com/watch?v=xuZtjTmM6F0
  5. ^知乎上已经有大牛回答过了,虽然是几年前的回答了吧 https://www.zhihu.com/question/26538198



  

相关话题

  有哪些不玩会很遗憾的单机游戏? 
  如果能穿越到游戏《战神》里,你最想选择哪个角色,为什么? 
  为什么有人觉得主机游戏太贵,却愿意充值很多钱到手游、页游? 
  任天堂前高管称「扎克伯格只会模仿他人,其元宇宙概念不会成功」,其中还有哪些信息值得关注? 
  未来的MMO游戏在中国是否会被淘汰? 
  国产单机游戏为什么发展不起来? 
  有哪些你曾经通关过两次以上的游戏? 
  如何看待Sony在ps5上侧重于SSD性能? 
  Windows 支持 DirectX 和 OpenGL,为什么大多数 PC 游戏还是 DirectX 开发? 
  同为2017年高分游戏,为什么现在超级马力欧奥德赛几乎没人讨论了,而塞尔达传说旷野之息还有许多话题? 

前一个讨论
为什么我们总是对越亲的人越没耐心,越容易生气发火?
下一个讨论
凭什么给抑郁症患者特殊照顾?





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利