一切皆可元宇宙!20年前的游戏开启光线追踪,方法是这样的-尊龙凯时ag旗舰

游戏

一切皆可元宇宙!20年前的游戏开启光线追踪,方法是这样的

今年英伟达gtc开发者大会上,有个讨论度非常高的东西叫rtx remix——这东西其实是给游戏做mod的。如果你玩过《上古卷轴》之类的游戏,应该就能体会到mod有多强大。

今年英伟达gtc开发者大会上,有个讨论度非常高的东西叫rtx remix——这东西其实是给游戏做mod的。如果你玩过《上古卷轴》之类的游戏,应该就能体会到mod有多强大。

mod一般是某个游戏的玩家、粉丝自发为该游戏做的扩展:其形式可以是多样化的,mod可以是原游戏功能上的扩展,也可以是新增剧情、地图,或者游戏画质场景强化等等;最强大的甚至可以到某款游戏重制版的程度。据说每年全球游戏mod下载量能达到70亿次,而参与mod制作的群体有大约1000万人。

这次英伟达算是亲自上场做了个mod,具体是给游戏《portal(传送门)》做的——这款游戏本身也是历史颇为“悠久”了,应该是《半条命》家族中的。英伟达的lightspeed studios工作室给这款游戏mod,或者说应该算是重制过后的版本就叫《portal rtx》——一看就至少加入了光线追踪。预计portal rtx会在11月份发布,作为一个免费的dlc。

《上古卷轴:晨风》原画面与remix重制后的画面对比

另外英伟达也特别演示了给《上古卷轴3:晨风(the elder scrolls iii: morrowind)》做的一些mod场景。这是一款2002年的游戏了,当年英伟达才刚刚收购3dfx核心资产,连cuda都还没出世。gtc上演示的《晨风》mod画面真的是堪称惊艳,尤其在画面增加了高清纹理、光追特效以后,很怀疑当年的玩家是怎么忍受原画质的,即便《晨风》在当时已经算得上惊艳了。

不过英伟达发言人也强调了《晨风》的演示只是为了表现rtx remix工具,而不是真的打算做个《晨风》mod出来。英伟达rtx remix & mods产品经理nyle usmani在接受采访时说:“很高兴大家能喜欢我们演示的加上了rtx的《晨风》。”“但它仅用于演示。”“lightspeed studio工作室的工作其实也并不在于做老游戏的重制。”

而这次英伟达用来做mod的这个rtx remix其实还真的挺有趣。gtc fall期间,我们特别听英伟达谈了rtx remix。这个工具本身是免费的,但它在扩张英伟达各类图形技术开发生态的过程中,或许会起到与众不同的作用。

有关做个mod有多难的问题

我们不做游戏开发,大部分玩家其实也不清楚mod具体是怎么完成的,但都会尊称那些制作mod的人为大佬。英伟达作为一个gpu制造商、图形技术方案提供商,谈mod之重当然主要是在原游戏的画质提升上,这其中的门道其实很多样,而且难度对一个人或者很少人组成的mod团队而言是巨大的。

英伟达总结了制作此类mod的四大难点,如上图所示。首先是处理游戏文件——要将游戏中的资源(assets)导出、重新设计、然后再放回到游戏中本身就相当不容易。一般mod制作者需要接触各种各样的工具——这就是第二大问题,而且是长长一串工具链,以及不同的游戏就得再去接触新的工具链。那么对于很多小众或者独立游戏来说,做mod也就会成为一种奢望。

第三个问题是做画质增强的mod,则有海量工作需要去做处理,包括各种老游戏的低分辨率、很简单的纹理之类。对于现在的游戏玩家而言,一般的效果还满足不了他们,用现有工具来处理这些问题,工作量就会十分巨大。还有就是老旧的renderer的问题,比如像《晨风》这款游戏x86 32位处理,对于高质量纹理或者增加光追之类的就造成了巨大的障碍。

据说要给这样的老游戏做个光追mod,得花上好几个月的时间。nyle说跟一个搞了7年mod的创作者聊过,对方说尝试花2年时间来打造一个工具,专门针对某一款游戏来打造制作mod的工具。我们也是惊叹那些花业余时间搞mod的“大佬”仅凭着兴趣来做这件投入颇为巨大的任务。

20年前的游戏能有这种画质???

nyle说,这些问题的存在是英伟达去做rtx remix的背景。不过我们认为,从一家商业企业的角度来思考,从高抽象层级来看,如果抛开rtx remix将来用于其他应用的可能性,则rtx remix本身也是扩张英伟达图形技术生态的巧妙方法。

从最浅表的角度来看,光线追踪、dlss、reflex等正处于生态扩张期,而加速游戏社区应用这类技术的方案,则从rtx remix这样的角度入手显然是很好的;再往深一层看,rtx remix,所以remix实际上就是尊龙凯时ag旗舰里面的一个应用,remix自然就是元宇宙生态中的一部分;与此同时,以英伟达对待自家app的利用方式,rtx remix未来在mod制作之外应当还会大有用武之地。

工作流程大致上是这样的

英伟达说rtx remix是给老游戏加入rtx属性、进行重制最简单的方法:开启游戏,导入原游戏资源(assets),然后用ai纹理工具来重建场景,加入光线追踪、dlss 3,甚至能够用整个omniverse生态来手动设计内容;最后导出rtx mod,放在游戏文件夹里面。

这个过程大致上是这样的。rtx remix首先会监听draw call,如此一来rtx remix就能“看到”并捕捉游戏资料。对于mod制作者而言,这一步也就是启动游戏,然后点个热键,就能开始捕获纹理、几何、光照、场景视角所在位置等信息。

在捕获完成之后,这些游戏资源会被编码转为usd文件格式——如果你对omniverse熟,应该就知道usd是什么——最早这是动画工作室pixar做出来用于制作动画电影的数据交换格式,算是对大型3d场景的一种表达。英伟达在构建omniverse之初,就想到用usd作为内部不同工具互通的标准格式。英伟达此前将usd称作3d世界的html。

这也是rtx remix可应用omniverse生态工具的基础,理论上当前接入omniverse的各种connector应用都可以用来做mod制作,也算是体现omniverse生态优势的组成部分了。mod做好以后,导出rtx mod包,放到游戏执行文件旁边就行了。

这个过程实际上就解决了前文提到的4个问题,我们来一个个捋一下:第1,这个流程已经解决了游戏资源导出的问题;第2则是大量工具链的使用——omniverse的生态解决了该问题——在omniverse中有端到端且相互关联的工具链——而且我们,omniverse的一大功能就是设计协作,那么mod制作也就可以分工协作了,这种3d设计的协作就跟在线文档协作一样,是实时同步和可视化的。

前面提到的第3个问题是游戏资源增强的工作量巨大。rtx remix在这个问题上的尊龙凯时ag旗舰的解决方案,是让我们感觉最为神奇的。这里面用到了一种ai纹理工具。其功能一方面是能够将低分辨率的资源upscale为4倍的高分辨率——甚至1080p的东西可以直接升格为4k。

ai纹理工具的这个upscale分辨率特性听起来也没有什么。不过真正牛掰的地方,是用ai来对老游戏中的纹理做推理(inference),神奇般地转为材质精美的纹理——这叫re-texturing。nyle解释说,ai纹理工具在看到画面以后,能够去“理解画面原本想要呈现的材料”,比如说看到一扇木头门,那么就能以高质量、高分辨率的木质纹理来替代;

所以我们能看到成品mod大量增加了场景细节。然后赋予其可做光线追踪交互的特性。这种材质差异,在光追过程里也会表现出显著变化,比如金属门会有明显的反光,木头门的反光方式会不同。这个过程就硬件层面肯定是要用到gpu的tensor core的。

rtx remix的过程也很好地解释了nvidia ai与nvidia omniverse两个方向的应用交叉。基于ai来yy出新的纹理与材质,就是《晨风》示例里看到画面焕然一新的关键。如果你对ai技术有概念,应该也能想到,英伟达自己首先需要对游戏纹理的大量图片做神经网络的训练,网络完成以后才能真正应用于纹理、物理属性之类的ai推理。这应该也是rtx remix技术的一大关键。

最后一个问题,老旧的renderer,从技术上涉及到如何绕过老旧渲染器,可应用光追、处理大型纹理之类的特性。以《晨风》为例,这个游戏用directx api,基于d3d9 runtime来发出渲染指令到gpu。英伟达就自己做了一个rtx remix runtime——算是d3d9 runtime的定制版本,然后它可以监听draw call,并且从中做处理。

在截取到渲染指令之后,就做对应的转换,最终目标就是要令其适用于光线追踪环境。场景管理器(scene manager)会拿到所有的数据,包括光照、纹理、视角、几何,以及在remix中创建的新资源等;将这些信息随同动作矢量(motion vector)编译,构建可以进行光线追踪的场景。然后就可以给rtx renderer去搞光追、dlss 3之类的处理工作了。

英伟达说给《晨风》做的这个演示,在光追效果上其实比之前做的很多光追游戏都要好,因为其中还融入了包括rtxdi(rtx direct illumination)、gi(global illumination)以及ser(shader execution reordering)、omm(opacity micro-maps)之类的技术,其中不少应该是最新发布的ada lovelace架构gpu新增的特性。

另外,对于玩家来说rtx remix还有个特性——据说玩家下载某个rtx mod,就能以实时的方式调整参数来定制化自己想要的游戏体验,连游戏中某物的材质属性都可以自定义。上面这张图就是英伟达演示的实时调整过后,同场景的外观变化。看的时候简直就惊呆了。

这东西未来的可能性

英伟达推荐要用rtx remix做mod的话,最好是用ada lovelace架构的gpu。感觉从内容创作者的角度,尤其做出《晨风》rtx那种巨豪华的效果,或许用这次英伟达在gtc上新发布的rtx 6000工作站gpu会比geforce效果好。nvidia studio驱动和大显存都是优势项嘛。rtx 6000貌似是ada lovelace架构的首款工作站gpu了。

当前英伟达给rtx remix划定的适用范围,就是针对directx 8/9游戏做mod。其实也不光是给原场景增加细节,既然是做mod嘛,给场景再加个光源、改变场景的各部分构成、色彩,也可以加自定义的资源——刚才提到omniverse里面的connector应用都能用,什么autodesk、maya、adobe工具之类的。

portal游戏截图

《portal rtx》应该算是英伟达做给广大mod制作者看的一个样品展示,据说几乎是对游戏中的所有纹理做了重制,包括符合物理法则的各种细节。而且还在技术上加入了一些东西,比如游戏中某个纹理覆盖于另一纹理的所谓“decal”——墙上的弹孔、泼溅的涂料、血迹都在这个范畴内。而光线追踪过程暂时是无法基于材料物理属性来处理这些decal的。在光线抵达这样的表面后,英伟达在技术上尝试对表面和decal做blend,做出更为真实的光线反射。

还有《portal》这个游戏本身在玩法上是在不同的地方开传送门,那么传送门对面的光照就要传到这边来。似乎这个工作还挺不容易的。

好像英伟达这次还是挺认真地要做mod,所以和nexus mods这种mod社区都还有合作。不过看rtx remix的演示,是否感觉它能做的事情并不止于搞些mod。比如说要是直接给游戏开发者来用,是不是也能更便利地做一些老游戏的重制——虽然不清楚这套流程,是否有可能增加游戏的操作延迟;还有将其融合到游戏引擎、开发软件之类中(不过作为omniverse的一部分,似乎做更深度的整合会很容易)。

不过据说仅对directx 8/9做支持,而不支持其他版本,是因为基于dx8/9固定管线(fixed-function pipeline)的游戏不少,而像directx 10和更新版本就暂时存在技术上的实现障碍了(因为前文提到rtx remix做mod有监听流程);技术负责人alex dunn表示未来或许有可能向更高或更低版本的api进发。据说vulkan对于rtx remix很理想,是因为dxvk这项开源技术。

其实基于omniverse生态,以及usd格式这类标准,rtx remix大概还能有更多我们想象不到的应用。比如应用到vr上...总之这是个相当有趣且不错的起点。且如前文所述,这绝对是英伟达持续扩建生态的妙笔。

关键词

相关阅读

24快报
ai能否救电视?
昨天 19:46
json抓取失败
网站地图