沙龙干货丨中青宝大型MMO新游首次曝光!听项目主美聊一聊美术开发的那些事儿
在上周的深圳沙龙上,中青宝首次公开了团队第一个用 Cocos Creator 开发的大型 MMO 游戏,该项目主美杨甜和大家分享了她在这款游戏美术制作过程中遇到的问题以及经验心得。以下是分享摘录。
杨甜
大家好,我是中青宝的项目主美杨甜,在这款 MMO 游戏中负责美术效果研发。伴随 Cocos 技术团队的深度配合,项目测试版目前已进入优化阶段,不久后就将和大家见面。
游戏演示画面
这是中青宝首个使用 Cocos Creator 开发的大型 MMO 游戏。在引擎的加持下,该游戏具备了 exe、web、apk、H5、主机游戏五端数据互通的能力。在现今元宇宙概念火热的背景下,五端数据互通势必会成为未来的一大趋势,这同时也给游戏制作和玩家体验提出了新的探索方向。
值得一提的是 Cocos 引擎五端互通的这个能力是别的引擎所不具备的,相信随着时间和经验的积累以及国内游戏人的努力,国产引擎会后来居上,不断带给大家更多的惊喜和更好的体验。
我们团队成员都是首次接触 Cocos Creator,初次磨合的过程中躺坑在所难免。借这次机会,我将站在项目主美的角度,分享一些我在这款游戏的美术制作过程中实际遇到的问题,以及我认为比较重要的心得。
资源库
要用全局的眼光看项目所处的阶段,管理好已有的美术资源和了解所缺的资源。正所谓「磨刀不误砍柴工」,我们花了比较大的精力去建立资源库,并将共用资源进行整合分类,例如:
模型:建筑、道具、植物……
贴图分类:四方联系贴图、二方联系贴图、透明贴图……
特别说明一下,由于透明贴图在引擎中比较耗资源,所以我们一开始就将它规划在某几张贴图上,可以避免少使用一些透明材质球。
模型 LOD
首先我们要确定要不要做 LOD,要做的话,哪些需要,哪些不需要。
复杂的物件和地形没用 LOD 或者设置 LOD 的距离把握不到位,都会导致资源浪费,同时也没能达到最好的效果。LOD 最好的距离为近0-20米,20-50米,50-120米,关于 LOD 的理解如下图:
贴图尺寸与大小
资源规范涉及到软件、单位、命名、大小、尺寸等一系列问题,我们主要是在贴图这方面踩过坑。前期美术为了效果有些使用了4096尺寸的贴图,或者不是2次幂的贴图。
因此,立项前一定要先制定好规则,建议需要共用贴图的模型提前制定好通用的范围。这个项目我们规定非常复杂的模型个别可以使用2048尺寸贴图,其他都必须是2048尺寸以下的贴图,并在不影响美术效果的前提下尽量压缩贴图大小(非尺寸)。此外,美术场景资源的优化主要从模型、贴图、灯光、特效等方面去着手,对应的是提高 CPU、GPU、内存等硬件的使用效率。
第二套 UV(光照 UV)
场景要进行烘焙,就涉及到了第二 UV(光照 UV)。刚开始的时候,我们发现 Cocos Creator 需要我们手动展光照 UV,效率比较低。跟官方的技术小伙伴反馈后,他们写了筛查未展光照 UV 插件,我们程序写了自动展光照 UV 插件,把模型导入插件后,就可以实现一键展光照 UV,这给我们美术团队减轻了不少工作压力。
PBR
PBR 可以被称为基于物理的渲染(Physically Based Rendering - PBR),是一种着色与渲染的方法,它提供了一种更加精确的方法,来表现光如何与表面交互。
PBR 的工作流程有多种,来看一下 Cocos Creator 自带标准 Shader,如下图:
PBR 流程中金属/粗糙度的工作流程需要的贴图为:固有色、金属性以及粗糙度、环境遮蔽(AO)、法线。下面着重讲金属度和粗糙度这张贴图,它在 PBR 流程中占非常重要的位置。
金属度贴图
金属度贴图起到类似于蒙版的作用,区分固有色贴图中的金属和非金属数据。当 Shader 在金属度贴图中识别到黑色时,它将固有色贴图中的相应区域处理为绝缘体,当然了,并不是所有的绝缘体都是黑色的,4%的值适于绝大多数常见绝缘体材质。
在实际中,当 Shader 在金属性贴图中看到白色时,它会检查固有色贴图的相应区域,来得到金属的相应反射率值。总之,黑色是非金属而白色是金属,中间过渡灰度数值来表示氧化金属或泥垢等细节。
粗糙度贴图
粗糙度贴图描述了表面的不规则性,它导致光线漫反射,反光的方向会依据表面粗糙度的情况随机变化。在贴图中,黑色表示光滑表面,白色表示粗糙表面。粗糙度贴图是最需要发挥创造力的贴图,因为它允许美术设计师视觉化的去定义表面特征。
本质上,它允许我们创造性的讲述该表面各种状态的来历。它处在什么样的环境中?它是被精心保管还是随意放置?它是否曾经被暴露在自然环境当中?表面的状态讲述了很多关于它所处环境的内容,因此其状态与想要创建的世界与资产的整体内容有深刻的联系。
对于粗糙度,没有正确或错误的讲究。3D美术设计师拥有全部的处理权。从法线贴图开始是一个很好的切入点。法线贴图常常包含关键的表面细节,而这些表面细节也应该被表示在粗糙度贴图当中。
固有色贴图
固有色贴图是一张 RGB 贴图,固有色贴图对 3D 美术设计师的色彩搭配能力以及整体把控能力要求更高一些,需要我们在固有色贴图上丰富颜色,处理明暗、体积关系等。
上面我着重讲了金属度与粗糙度贴图,Cocos Creator 的 Shader 将这两贴图合拼在了一起(如下图红框),为我们整个项目开发节省了资源占用。我们在调整贴图的同时可以配合滑块(下图绿框)滑动调整数值,达到我们想要的美术效果:
引擎 PBR 效果还是很不错的(皮肤目前没有使用3S材质),以下是我们的部分游戏角色在 Cocos Creator 3.x 上的表现:
本次分享就到这里,抛砖引玉,希望能对大家有所帮助,谢谢!
往期精彩