12月5日,在FBEC 2019大会的“Unity制作人专场”,叠纸游戏美术总监柳丛带来了“《闪耀暖暖》从2D到3D的进化与创造之路”的分享。《闪耀暖暖》一经公布,就凭借超高水准、超精细的3D画风吸引业界及玩家的高度关注。在这次大会上,柳丛从整体画风、细节表现和技术革新这三方面为我们揭开这款游戏背后的美术开发过程。
以下为整理的分享实录:
暖暖这个形象大家应该都比较熟悉了,最早她是以2D形象进入大家视野,我们在《闪耀暖暖》这一代对她进行了3D化,最早使用的是Unity 5.6版本,去年把版本升级到了unity 2018。《闪耀暖暖》是暖暖系列的第四代产品,也是我们公司的首款3D游戏,从2016年开始研发,历时三年。
开发初期我们尝试过其他的方式,比如2D风格。我们第一阶段尝试时是希望角色的展现可以更自由,玩家可以旋转角色来观察服装,而2D的方式没有实现我们想要的效果。
后来发现3D是一个突破口,所以最终我们尝试用3D进行服装的展示。尝试3D时我们也尝试过卡通渲染的方式,但出来的效果也不是我们想要的,所以后面我们一直在优化3D风格。
今天我主要为大家分享下《闪耀暖暖》如何从2D到3D的开发经验,会从以下三点来为大家分享:整体画面、细节表现和技术革新。
整体画面
首先整体画面,我会从镜头和灯光的开发过程,来为大家分享一些经验。
1)镜头与画面
早期我们在开发镜头的时候也遇到过瓶颈,就是在选择镜头蓝本的时候。大家知道《闪耀暖暖》是个竖屏游戏,而且也是一个终极版的选人界面,所以我们找了很多游戏的选人界面来参考,但是大部分游戏对我们来说没有借鉴价值,因为很多游戏都是横屏的。
但是我们调整了下思路,换个领域,并带着全身、半身、面部、好看这四个问题去寻求方案。很快就分析出了方向,我们发现杂志和人物海报都可以满足上面这四个要求,所以我找到了摄影的朋友,了解拍摄这些素材时会用到的技巧,很快就从这些经验中提取到了很多有价值的东西。
镜头比较关注两个点,一个是对焦点,一个是FOV。
全身的镜头,FOV在25°到30°之间。半身的镜头,FOV大概是22°到25°之间。面部的效果,FOV大概是18°到20°之间。
2)灯光与画面
我们最早使用5.6引擎版本的时候只有两盏灯可以使用,当时在丰富灯光的问题上卡了很久,之前也考虑过用天空盒的方式来丰富渲染的效果,但是这样做可控性很低,如果想让2D人员辅助来调整效果就很难,他们无法理解天空盒的方式。
后面我们的解决思路是沿着球的纵向进行摆放LightProbe的采样点,点的密度可以进行调整,如果希望面部光照更丰富的话,就可以在面部摆放得密集点。最后我们会把所有的信息都烘焙到这些LightProbe球上,这样我们就可以得到一个光照很丰富的效果了,而且成本也不会很高。
开发光照的过程还有一个很头疼的问提,就是漏光。最早我们解决这个问题的思路是用一张AO贴图来做遮蔽,但是我们的制作方法几乎已经把贴图采样数用满了,所以要用贴图做这件事情的话就变得很奢侈了。
最后想了一个办法,就是把AO贴图转换成顶点色,这样漏光情况也得到了比较大的改善,且性能消耗也不大。《闪耀暖暖》的角色设计是比较复杂的,一漏光的话,很多地方都会出现漏光的问提,相比其他游戏漏光更严重。
细节表现
细节方面,我从贴图、纹理、材质和物理上跟大家做一些分享。
1)贴图
我们用了多层UV的高精度贴图,优点是精度更高,内存占有小,包体也更小。缺点也很明显,渲染消耗增加了,贴图采样数达到了上限,图案的设计需要前期2D和3D就要做好规划,这样才能保证3D能够实现。
我们的制作过程非常繁琐,制作方法也很自由,但是过于自由也是一个很头痛的问题。由于早期没有严格要求,所以我们模型制作人员就会比较随意的进行调配,导致每做出来的一个东西标准都是不一样的,所以过于自由在这方面,反而是一个很大的问题。
这是游戏中一款裙子的效果,大家仔细看上面的花纹,并不是tiling的效果,是有一定的随机变化的,上面的花纹我们是通过UV进行拼接的,大家可以看一下这个裙子的UV,非常的复杂凌乱,但是这样才能得到我们想要的效果。
简单介绍一下制作的流程,先是底色,然后增加布纹、或者花纹,有时候我们也会用两层UV同时来制作图案的效果,最后会加一些层次变化。
这套是游戏中花纹比较复杂的衣服,整个角色模型我们可以放大到这个精度去观察。
2)纹理
下面我重点讲一下纹理的开发思路,素材资料我们可以从生活和网络上来进行搜集,比如有时候跟家人逛街的时候,他们在挑选衣服,我会去拍一些衣服的纹理,得到素材以后我们就需要进行信息提取。
信息整理完后,我感觉编制方式是组成纹理的重要部分,编制方式的不同,直接影响着纹理的效果。
接下来我们就要考虑落地的事情,我最开始是用高模来制作纹理,效果确实很不错,但是后期修改是非常大问题,高模后期修改成本很大,特别是如果换人的话,会增加成倍的工作量,持续修改的成本也很大,比如我想再继续细化的话,比如要怎么一些线头的效果,这个的制作成本就比较高。
纹理制作这一块后期我们也进行了优化,我们使用substance designer这个软件快速的搭建纹理的效果,它是一款程序化纹理编辑软件,修改的话只需要对每个节点的属性、或者增加一些特别属性的节点进行修改,成本很低。
这是一个简单的范例,这几个简单节点很快就可以得到一个编制的效果,大概只要不到10分钟,如果用高模的话,可能需要一个小时,因为还要烘焙,这里只要把节点连好以后,就可以直接出我们需要的四张图的纹理。
然后这是一个简单的组合方式,我们会先制作一个基础的编制效果,然后再增加一些随机变化,比如像布料使用久了会有地方被磨损,最后我们加一些细节,这里我增加的编织物上面的线头,这几个是完成的纹理的渲染效果。
纹理的检查和验证也是非常重要的,纹理的测试环境选择也很重要,这是我当时做纹理验证的时候做的素材,就放了一块布料在地上,其实最终我观察的时候只取了这一小块地方去观察。
观察角度需要具备近景、中景和远景不同的纹理效果,游戏一定要考虑这三点。
纹理也是有各个朝向的,一件衣服上,袖子和身体部分的衣服的纹理朝向肯定是不一样的,如果有多个纹理朝向的话,就可以观察到多方面材质的可能性,也可以保证材质的全面性,我们也会观察黑白灰情况下的效果,还有粗糙的纹理和光滑的纹理的效果。
3)材质编辑
接下来讲一下我们早期材质编辑的思路。我们早期的思路叫ABCD组合法,任意组合可以得到11种变化可能性,但是每个字母都有5个变种的话,可以得到625种变化可能性。
这是我们开发的材质编辑工具,这样就可以进行多种的材质组合和材质变化,有了这个材质编辑工具,我们可以得到非常多的材质种类。
4)物理
接下来给大家分享下我们物理系统开发过程种的一些经验。
先看下我们引擎当中物理编辑的一个过程,物理制作过程当中常规的一些方法大家都很清楚,我今天主要分享下胶囊体、碰撞体和弹簧这三个功能的改变。
胶囊体方面我们做了调整,我们的胶囊体可以分别改变两端的大小,这样可以更贴合人体。
我们使用的碰撞体是虚拟的碰撞体,生成的方式是基于骨骼和顶点中间值,生产的一个虚拟的模型碰撞体,它的密度是根据骨骼的密度来判断的。
为什么这样做呢?我们考虑的是工作量的释放,通过引擎来实现的话,美术可以节省很达工作量。比如做一个碰撞体之后需要绑定,再导入引擎里面,看上去不起眼的工作量,但是如果你有300套衣服的时候它就是一个非常大的工作量了,这么做增加的成本也不是很大,所以性价比非常高,也是比较科学的开发流程。
这个是头发的骨骼,没有弹簧体的头发运动起来的话就会散乱的甩动,四处乱飞,然后我们对横向相邻的骨骼增加了弹簧体,对骨骼之间进行了约束,头发动起来效果就会自然很多。
技术革新
下面给大家讲一下我们叠纸游戏在技术上的一些革新。设备解放产能,比如手持扫描、阵列扫描、纹理扫描和动捕、面捕。
3D扫描技术最早源于工业行业,服务于各类工业开发,比如逆向工程等等,游戏行业也开始被越来越多的人关注。3D扫描的优点是还原真实,并且还能提高产出,投入制作后高模的制作效率提升700%,不仅提高了制作效率,也降低了反馈成本。
这是我们的动捕场地和扫描设备,阵列扫描我们主要是用来制作表情blendshapes。
纹理扫描,设备目前还在自行搭建状态,主要用于来搭建公司级材质库。
动捕的话,目前我们有游戏项目和非游戏项目,它在动画方面的产出有非常可观的提升。
我就介绍到这里了,谢谢大家。
来源:游戏陀螺
原地址:https://mp.weixin.qq.com/s/LQ6JXs73LFokmDMkAFnxxw