PixelOver与CSP对接流程 v0.1
PixelOver是一款正在开发当中的像素动画制作软件,优点在于能使用其他动画软件中不常用的网格和绑骨系统,以及在上述旋转变形的过程当中不会破坏像素边缘的渲染器。(同时它也是3D转2D像素的不错工具,可以拿来做类似死亡细胞那样的风格。)这篇文章记录了一些在使用csp进行草稿绘制然后导入PixelOver(下称PO)的过程中遇到的问题,以及摸索出的一套流程。
这篇文章是入门级的,希望大手子不要见怪。
目录
下载安装途径
创建2D项目
导入动画草稿文件
绑骨功能
变形、刷权重功能(待更新)
使用PixelOver来为复杂角色设计补帧

▲下载安装途径
PixelOver可以在Steam进行下载,现在标价76元,但是可以下载免费demo,demo和正式版的唯一区别是不能导出文件,所以如果想先试试非常推荐下载demo使用。


▲创建2D项目
PO是一个做出来主要和Aseprite和Unity对接的软件,所以它提供了2D和3D项目的选项。我们这里只会用到2D的项目。直接在左边创建新项目,设置画布大小、2D项目,设置好Shader(渲染器可以应用于其他的项目,方便同一个项目保证风格一致),就可以创建新项目了。
你也可以直接通过把PixelOver文件或者图片文件拖入项目窗口来创建或者打开项目。


▲导入动画草稿文件:
假设我们在AN、CSP、Procreate、TVP、OpenToonz这些二维逐帧动画软件当中画好了动画草稿,要将其作为参照导入PixelOver当中,有两种方法:
一:
在画草稿的软件输出的时候选择gif输出,直接将gif拖入PO当中。


值得注意的是,用gif导入PO不推荐,一方面PO有的时候会抽风,导入的时候不给你弹出这个导入动画的选项,这个动画导入以后不会在时间轴上自动播放。另一个问题下面会讲。
二:
选中所有的序列帧,然后一并拖入软件窗口,选择创建为动画,之后同上一种方法一样的操作即可。

有一个设置需要注意:

导入的时候,有的时候这个顺序是乱的,需要点击上面的Sort排序,按照文件名排序,然后再导入。

需要注意的事情(重要):
省流:最好使用导入序列帧来导入动画,导入前先把时间轴上的帧率设置好,序列帧就会按照这个帧率播放。

太长不看版:
如果在导入的时候勾选了Add,软件会给你自动把这个逐帧动画k上帧(序列帧不会,只会头尾各k一帧),然后就可以在时间轴上逐帧播放,但是软件内置的这个逐帧有一些小问题,所以不推荐导入gif。我来解释一下为什么:
首先,这是PO里gif或者序列帧的显示原理:

在Frame这一栏,可以点击钥匙图标通过k关键帧来决定在某一时间点显示这个gif中的哪一帧。所以实际上导入动画后是让这个动画文件在0.4秒播放第一帧,0.8秒播放第二帧,以此类推。但是PO的时间轴是以浮点数来进行标识的,并且这里有一个小问题,如果我导入一个24帧每秒的动画,按理来说每一帧是1/24秒,也就是0.41667秒左右,但是自动导入后PO的浮点运算明显只取到小数点后两位:




虽然很微小,但这会导致动画播放的节奏受到影响,所以不推荐。

▲绑骨功能
绑骨可以通过点击操作窗口上方的创建绑骨按钮来创建新的骨头:

也可以通过在左边的场景列表里添加新的物件来创建:

这里拿给一条腿绑骨来举例:
首先我们创建一个骨头作为控制大腿位置的主要锚点:

然后把大腿的所有部件拖到这个骨头下面,重命名这个骨头:

通过同样的方法我们分别给大腿根和上腿杆创建一个新的子骨头,放在这个父骨头下面:


同理,我们再往下创建新的子骨头,让肢端能够跟随上面的肢体移动:


接下来是一个难点,上面的我们都可以算在FK(Forward Kinematics,正向动力学)的范畴里,其实PO也可以做IK(Inverse Kinematics,逆向动力学),先看看结果:

比如我们希望这个脚趾能够逆向控制到上腿杆的部分,我们就选中上腿杆这一级别的骨头,在它的属性栏一直往下滑,找到Constraints这一栏,选中Inverse Kinematics:

这个时候还没有结束,我们要选择Target,目前是空对象,一般都是创建一个新的对象,选择New:

这时候基本上就完成了:

但是这个时候鸡脚不会跟着大腿走,所以我们把这个新创建出来的对象骨头放到大腿根的级别里面去:

同理我们也可以通过修改决定要被IK控制的是哪一个层级来达到同时存在IK和FK的效果:


如果你发现这个反向动力学的方向和你想的不一样,可以在Constraints里把positive改成negative:


▲变形、刷权重功能
这个有不错的潜力,而且你可以看到因为软件本身的原因,变形没有让像素收到严重的破坏。这里还能刷权重,但是我并不是很会骨骼动画,所以这部分需要我再研究才能继续写下去。


▲使用PixelOver来为复杂角色设计补帧
或者说中间画,我也不知道游戏动画里的这个到底应该叫什么。如果你是搞三维也可以理解为blocking这一步骤后面的polishment。
这也是目前的项目当中使用PixelOver的主要用途。
首先,我必须再次强调一下,搞中间画绝对不是把前面一张和后面一张取一个中间点然后对过去:

如上图,为了保证运动的流畅,我们需要保证这个运动要遵从一定的曲线运动(如果要做出顿挫的效果另当别论,总之都必须建立在理解这个运动是怎么回事的情况下),并且要明白这个运动是加速的还是减速的,来适当调整中间张的位置。
在CSP当中,张的分布是这样的:

可以看到,虽然大多数张都持续两帧,但也有一帧和三帧以及其他帧长度的张存在,这些都是取决于动画节奏分配的。在CSP当中画的时候,我是以电视动画的24fps为基准画的,所以在导入PO的时候需要进行别的操作来保证速度一致。
在导入PO之后,最好是采用设置10FPS(如在导入草稿那一张所说,因为时间以浮点形式被取舍的缘故,10FPS,然后设置0.1s的吸附能最大程度方便操作),用序列帧导入时间轴,然后调整播放速度的方式来控制速度(因为这里是24fps,所以我设置为2.4倍,这样速度和草稿就是一致的了)。(不要在意下图的2.5倍,只是我手滑了而已(流汗)

检查一下,草稿有23格,那就应该是有2.3s,头部的关键帧里



然后如上面所说的,对于一个身体部位,依照草稿的关键张位置先摆好它应该在哪里。就算没有CSP截图里的张数分配,也可以通过拖动时间轴,看哪一帧发生了画面的变化来判断哪一张是关键张。
在过滤中只选择Bones,然后全选

给所有的骨头打上关键帧。

打开autokey,然后就可以开始k帧了,软件会自动帮你记录你在某个时间点对部件的移动。

需要注意的是,最好是在一开始就把第一帧和最后一帧给k好,不知道为什么这个软件会把最后一帧提前k成第一帧,而且它是没有洋葱皮的,所以千万要先把大的趋势摆出来,不要一帧一帧往前k。
[未完待续]