一、前言
欢迎来到畅游引擎部的应用研发分享,今天给大家带来Live2D动态立绘制作的分析及项目落地分享~之前我们的知乎已经分享过Spine性能优化相关的文章,同学们可以通过本文了解到Live2D与Spine之间的对比以及适用场景。前几篇分享中有同学指出没有考虑到创新技术的落地问题,那么本文也会给大家带来落地过程中遇到的问题和解决办法!
本文的结构:
- Live2D与Spine对比分析
- Live2D原画拆分规范
- Live2D在Unity中落地问题
二、Live2D与Spine对比分析
1. 了解动态2D与玩家需求
在手游、二游市场激烈竞争的如今,如何抢占玩家群体和如何让玩家心甘情愿地打开荷包是主要事务,一部作品已经很难仅凭精致的静止角色立绘收获人气了。Live2D、Spine等动态2D渲染,基本成为了二次元手游的标配,被广泛地用在卡面展示、角色互动、动态CG和战斗场景之中。
对于以角色魅力为核心卖点的卡牌养成类游戏来说,Live2D增添了更多的互动性和真实感,能让角色动起来并进行交互,让玩家能够迅速地拥有代入感和情感归属。同时对于制作方而言,动态2D引擎能够在不增加绘图量、保留原画艺术风格的基础上制作动态角色,成本更低,表现更好。

动态2D引擎在运行时将关键帧之间的数据自动计算,相比帧动画,动态2D能够根据数据对象进行动画插值,一般来说,具有体积更小、更少美术资源要求、更好的动画流畅效果、动画混合、可程序控制等优点。

首先,对于2D游戏,如果要制作角色的抽卡动画或是剧情CG,通常的做法是动画师绘制序列帧来制作动画。这个流程的问题是如果角色出了新的时装皮肤,需要换装的时候,动画师就需要对每个序列帧进行修改,近似于重新制作一段角色动画。
如果我们使用动态2D引擎,则可以避免动画不能复用的问题,同时可以减免中间帧的绘制,只考虑结束帧的形变,美术人员可以快速调整动画,实时预览效果,提高制作效率。但是相对的,动态2D引擎对动画师的要求较高,除了原画绘制能力,还需要具备一定的三维空间感和逻辑能力。
其次,对于3D游戏,无论是二次元还是写实风格,在移动平台上都无法避免的一个问题是,3D建模的精度无法与PC端相比较,手游通常使用低精度的LOD。而这时我们选择用会动的2D图片来达到伪3D效果,从而避免掉低精度模型的问题,无论在性能消耗,还是在画面表现上,都将会是一种技术革新。
2. 不同游戏厂商对引擎的选择
近来来Live2D和Spine都有所迭代更新,其中一个比较有代表性的现象是,作为让Live2D声名远扬的鼻祖级作品——《天命之子》的制作人金亨泰,在他的新一部二游《NIKKE:胜利女神》中却选择了Spine。这并不是说我们可以凭此定下两个引擎的优劣,只是因为两者适用的应用场景各不相同。使用spine技术的代表案例还有《公主链接》、《明日方舟》等Q版角色。

而《碧蓝航线》、《少女前线》等拥有交互动作的动态立绘使用的是Live2D,例如眼球跟随、身体转向,甚至于是将参数调节面板直接暴露给玩家,可以直接调节表情的变化和丝袜的破损程度。

3. 两者的优势领域与项目选择
Spine的工作流是骨骼+蒙皮,而Live2D则是通过变形器来对网格进行变换。需要注意的是Spine和Live2D都可以对图层进行网格创建,也就是说从逻辑上两个引擎都可以通过调整网格顶点的位置,制作出完全相同的表情动画。
Live2D优势领域在于引入了参数系统,类似Blend Shape可以通过拖动参数条来变化表情。参数系统的强大在于可调节性,通过向参数追加键,在关键点处记录变换的形状和动作,形状会在键之间自动进行插值。制作动画时但凡用到该动作,只需拉动一下参数条。同时调节不同部位的参数,能快速地做出复杂度很高的精细表情。假设参数个数为n,表情的复杂度可以达到 2n 。虽然Spine也可以做出同样的表情,但是肯定没有随时调整参数得到立即反馈来的直观便捷。
Spine虽然可以使用IK和权重来制作转向的透视,并且也能在游戏引擎中做到眼球跟随、身体转向等交互动作,但是在制作转向透视时,工作效率低于Live2D。因为Spine没有变形器的概念,相当于只有单纯的网格顶点。如果在网格精度比较高的情况下,Spine制作转向的难度将大大增加。而Live2D可以通过变形器批量编辑网格顶点,要比Spine方便的多。

金亨泰没有沿用天命之子的Live2D,转而在NIKKE中使用Spine。因为Live2D的性能消耗和制作成本都要大于Spine,NIKKE的战斗场景中过多的动态2D动画导致手机平台无法承受Live2D的消耗。由于Live2D没有骨骼和约束,在需要大幅度的肢体动作时无法像Spine使用IK约束那样便捷。在动态2D主要应用于战斗场景的情况下,骨骼蒙皮的工作流拥有极高的效率。
在Live2D中也有类似骨骼蒙皮的概念,其方法是使用旋转变形器当作骨骼,通过蒙皮功能生成胶水,为胶水固定住的相邻图层的顶点设置权重。但是Spine的自动权重分配会计算所有选中的骨骼,而Live2D胶水权重只能作用于相邻的两个旋转变形器,效果不如Spine自然流畅。尤其在多根骨骼控制同一图层时对比明显,例如头发、飘带。

总结一下,到底什么时候选择Live2D,又该什么时候使用Spine呢?
如果项目组需要眼球跟随、身体转向等交互动作,又或者需要精致的表情演出,那么使用Live2D的变形器来制作再合适不过了。反过来讲,如果项目组不需要交互动作、精细表情,反而想用自动分配权重和IK约束,来快速制作头发、飘带等飘动动画和战斗场景的大幅度肢体动作,推荐你使用Spine作为动态2D的制作引擎,在这些应用场景下Spine动画的制作要更加迅速。
三、Live2D原画拆分规范
1. 拆分原因
首先我们需