加入收藏 | 设为首页 | 会员中心 | 我要投稿 顺游网_765游戏网 (https://www.765youxi.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 游戏资讯 > 国外资讯 > 正文

《闪耀暖暖》如何实现顶级美术表现?

发布时间:2019-05-15 12:54:42 所属栏目:国外资讯 来源:新浪游戏
导读:5月10日至5月12日,Unity全球开发者大会Unite Shanghai 2019在上海召开,期间诸多技术专家来到现场为开发者分享最新的技术和制作经验。 叠纸游戏技术中心技术总监张霁和美术总监柳丛,在大会期间进行了“闪耀暖暖技术分享:2D到3D的进化与创造之路”的主题
《闪耀暖暖》如何实现顶级美术表现?

  5月10日至5月12日,Unity全球开发者大会Unite Shanghai 2019在上海召开,期间诸多技术专家来到现场为开发者分享最新的技术和制作经验。

  叠纸游戏技术中心技术总监张霁和美术总监柳丛,在大会期间进行了“闪耀暖暖技术分享:2D到3D的进化与创造之路”的主题演讲,首次对外分享了这款拳头产品在制作时遇到的难题与解决方案。

《闪耀暖暖》如何实现顶级美术表现?

  以下为演讲内容整理:

  大家好,很荣幸在Unite 2019大会中分享《闪耀暖暖》的思路与收获。

  这次分享将由两个人共同完成,我叫张霁,从事游戏行业8年了。2016年初加入叠纸,参与《闪耀暖暖》的研发,今天我会给大家分享一些引擎自定义和工作流的内容。

  另一位演讲者是柳丛,他有十几年的开发经验,之前参与过多款次世代游戏的美术研发,今天他将带来一些美术效果的研发心得。

  关于《闪耀暖暖》,这是叠纸的第二款Unity项目,我们用的引擎版本最初是Unity5,去年升级到了Unity2018。《闪耀暖暖》是暖暖系列的第四代产品,也是叠纸的首款3D手游。

  项目开发前期,我们经历了一些技术和风格上的迭代,起初它甚至并不是一款3D游戏。初期的尝试方向是基于spine来做360度旋转,后面很快转向3D方向。

  这个时期我们更多考虑的是如何用卡通渲染还原2D暖暖,如何还原2D暖暖的线条,让3D线条有颜色粗细虚实的变化,这是当时做到的效果。在2016年下半年的时候,对卡通渲染的研究进入了一个瓶颈期,因为想做到期望的品质,要求非常的高,对移动平台压力过大。

《闪耀暖暖》如何实现顶级美术表现?

  同时3D线条的效果与2D暖暖仍然有较大差距。即使这个差距可以继续缩小,卡通渲染导致的画面过于相似也会让新作缺少独特的吸引力。

  这迫使我们回到原点思考问题,换装游戏的根本究竟是什么?我们的答案是漂亮的衣服和多样的穿搭体验。我们将其拆分成几个技术点:衣服的极致细节、穿搭的自由度,以及艺术的传承和创新,这也是我们这次分享的目录。

  首先是细节,暖暖系列的基石。3D游戏要想达到足够高的精度,制定合理的美术规格是重要的基础。

  我们发现模型面数对性能的影响并不是很大,影响较高的是贴图的分辨率。这是使用1024和2048贴图的表现效果,以及相应的AB占用和渲染耗时。可以看到即使2048在镜头拉近的时候仍然无法达到我们希望的精度,而随着分辨率的增加,包体内存压力迅速增加,也不利于持续更新。

《闪耀暖暖》如何实现顶级美术表现?

  为了解决这个问题,我们使用多层UV和多层贴图拼合,这是达到的效果。精度有了显著的提升,相当于4096的贴图。这个例子里使用了四层UV,四层贴图,总的占用比1024的单张贴图还要小。

  《闪耀暖暖》的包体目在是2G多,有一半是3D的容量,其中一半是贴图。如果把这部分全按4K重置,包体会达到10多G。接近一款3A游戏了。同时加载多张4K贴图更会直接撑爆手机内存。使用多UV其实也有巨大的代价,渲染耗时从6.85毫秒到8.67毫秒,增加了26%。

  我们对UV的优缺点做了总结,除了精度和包体优势,还有一个好处,就是在制作完成后,有较大的后期调整空间。缺点方面,除了pixel shader负荷增加较多,多UV会导致贴图数较高。Unity默认采样器的数量等于贴图的数量,这样就要求控制单个材质中贴图的使用,不能超过16张。

《闪耀暖暖》如何实现顶级美术表现?

  除了硬件和性能上的问题,多UV对于制作也有较大影响。设计时需要考虑图案规划,而制作时需要根据情况对UV进行调整和拆解。例如这个比较简单的裙子,它的UV是这样的。从另外一个方面,UV拆分过于灵活,也会导致这个流程难以推广和流程化。

《闪耀暖暖》如何实现顶级美术表现?

  针对这个问题,我们制定了一套工作流来进行标准化,首先是色块填充构成底色,平铺布纹,接下来印花,最后是风格化处理。对于复杂的服装,可以灵活变通,实现精度的最大化。

《闪耀暖暖》如何实现顶级美术表现?

  对于一些用贴图也达不到预期精度,我们会通过程序化方式进行细节补充,比如珍珠和宝石等。

《闪耀暖暖》如何实现顶级美术表现?

  作为例子,分享一下程序化闪点的实现方式。

  首先,这个是我们期望闪点能够做到的内容,其实就是一些随机分布的点,点与点之间有一些表现颜色和大小的随机性差异。美术希望能有方便直观的控制方式,比如用密度贴图控制哪些地方需要有更多的点。同时,点的大小分布也能以类似的方式进行控制。其次希望有稳定可靠的闪烁,类似高光的表现。

《闪耀暖暖》如何实现顶级美术表现?

  闪点算法的基础其实很简单,其实就是在UV空间上生成棋盘格,这其实是一个2D的问题,我们可以转化成平面进行考虑。每格的索引就是随机数种子,使用这个随机数种子,可以生成偏移量、缩放和颜色和相位。

《闪耀暖暖》如何实现顶级美术表现?

  接下来是填充格,可以直接填满就是方块。或者柔化处理成菱形或者圆。接下来是根据相位和预设的密度阈值进行剔除,达到密度控制。

《闪耀暖暖》如何实现顶级美术表现?

  处理偏移的时候,会出现越界的问题,就会出现截断的情况,看起来比较奇怪。

《闪耀暖暖》如何实现顶级美术表现?

  处理越界闪点的方式,就是随着点随机缩小,把偏移量限制在格内。但是这样过于规律,几乎看不出什么变化。

《闪耀暖暖》如何实现顶级美术表现?

  后来我们发现只要限制点的中心在格里就可以了,这样一共是自己加周围8个邻居,共9次闪点相关的计算。可以利用一些情况来合并计算。

《闪耀暖暖》如何实现顶级美术表现?

(编辑:顺游网_765游戏网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读