MATR1X阿波罗计划启动一周后,其最顶级的传奇武器NFT——“审判”已被少数幸运用户通过开宝箱获得,“审判”最高成交价格高达12万美元,这一事件引起了NFT市场的热议,也让更多人对Web3游戏饰品NFT的期待,本文将详细阐述MATR1X传奇武器NFT的诞生过程。

万物起源——一把传奇武器的诞生

 

随着服务器上随机生成器的运行,一位幸运的玩家抽取到了一把概率极低的传奇武器。在随机生成器中,这把传奇武器仅有几个核心参数:NFT编号、配置ID、磨损程度、纪念品与印花。当这些原始属性生成完毕后,这把传奇武器的信息已经完全确定。然而,仅凭这些原始信息还不足以展现一把真正意义上的传奇武器。为了给玩家呈现这把具有独特意义的传奇武器,我们还有许多工作要完成。

无中生有——面向Web3的NFT元数据生成

首先,我们需要补全这把传奇武器的元数据信息。通过配置ID这个参数,我们可以从多个配置表中读取到这把传奇武器的各种基础信息,比如武器类型、名字、品质等。然而,对于一个NFT,我们不能不加筛选地将所有武器信息都写入元数据中。因此,我们会先通过一个属性过滤器,从这把传奇武器的所有配置信息中,筛选出我们希望呈现给玩家的属性,并将它们全部放入元数据中。

我们遇到的另一个问题是,武器的属性中有很多都是纯粹的数据信息,比如数字7代表传奇品质。但呈现给玩家的不能只是一个数字7。因此,我们添加了一个属性转换器,用于将这些属性从数据转换为玩家可读的信息。在属性转换器中,我们对筛选后希望放入元数据的属性进行转换。一方面是将数据转换为展示信息,另一方面是在这个过程中对所有描述信息进行语言上的转换(目前默认使用英语)。经过转换后,就得到了玩家所看到的元数据信息。

妙笔生花——基于Blender的云端渲染方案

接下来,我们还需要处理元数据中最特殊也是最重要的一项内容——这把传奇武器的图片。由于这把传奇武器有着独一无二的磨损信息,并且拥有一组印花,在MATR1X FIRE中,存在许多具有不同磨损程度和各种印花组合的武器。我们无法通过设计师一次性绘制完成所有这些武器图片。因此,我们基于Blender软件,设计了一套渲染武器图片的方案,并将其部署到了云服务器上。

首先,我们的技术美术团队在Blender中制作了一套与Unity引擎相同的材质方案,使得设计师制作的素材资源可以在Blender和Unity引擎中同时呈现。基于这套材质方案,我们还开发了Blender和Unity之间的材质转换工具,使得已经在游戏项目中制作完成的武器可以自动导入Blender,而无需重新制作。此外,设计师还在Blender的场景中搭建了多套适合不同角度图片渲染的灯光和摄像机布置,并对整个渲染环境的后期处理进行调整,完成最终的渲染效果。

通过这一方案,我们可以根据这把传奇武器的元数据信息,创建和生成属于它的专属资源,并最终渲染出它用于展示的NFT图片,从而呈现给玩家一把真正独一无二的传奇武器。

由点及面——搭建高性能渲染集群

解决了这把传奇武器的渲染问题,接下来要觉得就是如何解决大批量渲染和响应速度问题。为此,团队专门构建了一个渲染集群。渲染集群中包含一个中心控制节点和多个渲染负载节点。

当游戏中新创建了一个武器时,它的元数据会被立刻发送至渲染集群的中心控制节点,并进入渲染队列。中心控制节点会在多个渲染负载节点中选择一个空闲的节点,并将渲染任务发送到渲染负载节点中。渲染负载节点收到渲染任务后,会立刻调用绑定的Blender渲染器,渲染这个武器的NFT图片,并上传至云存储,供未来下载使用。

通过渲染集群的搭建,我们就能够在玩家获得新的武器时,第一时间为玩家生成属于这把武器的专属NFT图片。

返璞归真——用于移动设备的元数据和资源分发方案

作为一个GameFi项目的NFT,这把传奇武器还有一个最重要的应用场景:在游戏内用它大杀四方。而如何在游戏内让拥有这把传奇武器的玩家拿到一模一样的武器进行战斗呢?为此,我们做了许多工作来实现这个目标。

对于元数据,每一把武器在生成元数据的时候,都会被存入一个元数据的数据库。在NFT交易和展示环节中,它会作为元数据的源头提供给MATR1X平台使用并完成NFT的上链。而当玩家带着这个武器进入游戏中时,游戏的服务器也会从这个数据库获取这把武器的各种信息,让玩家在游戏中得到这把武器。

为了在游戏中再次渲染相同的武器模型,NFT图片渲染环节中的中间材质都会一同被保留下来,并存储到云存储中。玩家可以在游戏中直接下载这些素材并与游戏内置的素材进行结合,从而在游戏中展现这把独一无二的武器。为了获得更好的性能和稳定性,我们还搭建了一个资源分发网络。所有需要在游戏中使用的素材,都会被自动压缩为适合移动设备GPU使用的纹理格式,并根据移动设备的性能水平下发合适的资源规格。通过这种方式,我们实现了对移动设备的性能限制和NFT图片渲染效果的兼顾与平衡。

更进一步——UGC与3D预览

技术需要不到迭代,才能给玩家继续呈现更精彩的NFT展示效果。对于整套方案的未来,我们有下面几种设想。首先,我们计划让整套方案深度如何到资源生产环节。离线渲染的方案不仅可以作为展示效果的生成,还可以在这个过程中才有更复杂和更丰富的方式进行素材的创建。通过这种技术,我们期望可以实现UGC内容在游戏和NFT上的呈现。设想一下,玩家可以将自己拥有的2061、KUKU乃至其它合作的NFT素材,作为主题刻印到武器上。另一方面,这种技术不仅可以使用在武器上,未来包括角色在内的其它新资产,也可以使用这套方案实现同样的效果。

除此之外,我们也考虑在游戏之外,为玩家提供使用完全3D的形式展示玩家所拥有的游戏资产。得益于云端离线渲染的能力,我们可以在云端进行复杂的资源处理,并将经过处理后的素材下发至基于H5游戏引擎运行的网页上。通过这种方式,并没有直接参与游戏的玩家也可以更好的欣赏和观察MATR1X FIRE提供的丰富的游戏资产。