您当前的位置:首页 > 游戏频道 > 网页游戏 > 游戏资讯 > 正文返回列表页

LOL工程师:如何更好地控制皮肤的内存占用(7)

编辑:瑞安网 来源:互联网 发表时间:2017-02-24 06:02 人气 | 查看所有评论

导语:导语:和使用一个完整纹理文件展示效果不同的是,一个纹理资源包可以让美术师们使用纹理的所有颜色通道创作一个灰度图像。 如果全部使用灰色,那么元素使者拉克丝就不会那么受欢迎,所以美术师们需要为她增加色彩,

导语:和使用一个完整纹理文件展示效果不同的是,一个纹理资源包可以让美术师们使用纹理的所有颜色通道创作一个灰度图像。 如果全部使用灰色,那么元素使者拉克丝就不会那么受欢迎,所以美术师们需要为她增加色彩,这时候

和使用一个完整纹理文件展示效果不同的是,一个纹理资源包可以让美术师们使用纹理的所有颜色通道创作一个灰度图像。

光辉3.jpg

如果全部使用灰色,那么元素使者拉克丝就不会那么受欢迎,所以美术师们需要为她增加色彩,这时候我们开始使用调色板,调色板的纹理通常是可以让很多效果共享使用的,因此降低了特定色彩的使用空间。

光辉4.jpg

VFX美术师们使用这种技术的优势而大大降低了元素使者拉克丝效果的内存占用。

光辉5.jpg

在纹理经过了优化之后,我们离30MB的内存使用就非常接近了。更好的是,这种技术还可以给未来的皮肤解决不少空间。

仍不算目标完成

我们的确为此感到高兴,但当看到内存使用报告的时候,元素使者拉克丝的占用空间仍然超出了20%,这时候离登录公测服还有一周时间,所以我们必须尽早找到并解决问题。

在快速浏览内存报告工具的时候我们发现,有超过10MB的内存被分配到了未经计算的纹理上,这是导致我们VFX系统内存问题的一个重要原因。

我们的效果系统可以被描述为‘一个每小时200英里的固定功能牵引器’,换句话说,每个发射器(emitter)都可以所所有的效果,也就是说所有发射器都使用了全部效果才用得到的内存占用。此前,我们打造了一个粒子系统满足当时的需求,当时并不用计算内存成本,因为普通皮肤占用空间并不大,根本不会超出预算空间。可是元素使者拉克丝要加载3000多个发射器,因此内存占用很快就超标了。

我们发现我们使用的发射器为了具备使用多个动画而增加了存储能力,所以占用了大量内存,以下表格是《英雄联盟》普通数据类型和动画数据所占用的空间对比:

光辉6.jpg

每个发射器都占用50字节左右的动画类型,而其中超过95%都是经常使用但根本不需要用到动画的,考虑到这个皮肤使用3000多个发射器,可以想象资源浪费到底有多严重。为此我们做了简单的调整,对不同的结构只在需要的时候调用动画数据,所以很快就把内存占用降到了预算以内,而且还在环境、其他英雄、物品等方面节约了10-15MB的空间。

未来的皮肤制作

通过深入了解效果系统,我们了解了更多有关粒子方面的东西,虽然还有很多工作需要完善,但这已经是非常不错的第一步,不仅让元素使者拉克丝的游戏内存占用控制到了预算以下。除了效果系统之外,我们还找到了其他英雄和皮肤节约空间的解决方案。

如以上所说,我们做的这些变化都不是具有革命性的,我们只是在推出新内容的过程中,朝着更好的技术和研发过程优化,每个项目都可以增强我们的工具和制作过程,让未来的同事们做起来更简单,给玩家带来更好的体验。

来源:GameLook

【编辑:17173风间】

健康游戏忠告 抵制不良游戏,拒绝盗版游戏,注意自我保护,谨防上当受骗 适度游戏益脑,沉迷游戏伤身,合理安排时间,享受健康生活

  • 作品版权归作者所有,如果无意中侵犯了您的版权,请来信告知,本站将在三个工作日内删除
  • 提示:本站为防止低俗内容出现,用户发表的评论及上传游戏需本站审核后才能显示出来,谢谢