所以,我们是一个两人团队,我和我的朋友(程序员)正在用Unity制作一款2D平台游戏。我的程序员朋友很少接触游戏开发的这一方面(他通常是服务器程序员专家),而且以前从未用过Unity。我们有一些限制和需求,导致我们走上了一条奇怪且劳动密集的流程,我想知道是否有更好的方法是我们不知道的。我添加了一个链接,里面有一些流程和角色的示例。

限制条件:

  1. 我们有一个形状怪异的角色(链接),她非常长,有一条长尾巴,并且形状和位置变化很大。
  2. 她的尾巴有延迟效果,所以为了让它平滑地跟随,尾巴的帧数通常比身体其他部分多。
  3. 我们使用了斜坡和不平坦的地面,我希望她的身体部件能旋转以适应。例如,下坡时让头和脖子向后倾斜,旋转尾巴根部防止穿模,在斜坡上让头部保持水平等等。
  4. 我们希望尾巴有点物理效果,让它能很好地滑动。
  5. 我们必须使用Procreate Dreams来制作动画,它每次只能导出一张图片,无法编辑,最糟糕的是它会导出整个画布尺寸的所有帧,并删除画布边缘的任何像素。这意味着角色的每一帧周围都有巨大的空白透明区域。我们尝试裁剪它们,但这导致帧之间跳动。

我们最初尝试了程序化动画,但看起来非常粗糙和奇怪。

我们的解决方案是将身体分成独立的部分(头、脖子、身体/腿和尾巴),在PSD文件中为这些身体部件添加“枢轴点”,然后程序会查找这些枢轴点的颜色和图层名称,根据枢轴点分配它们的位置,并在导入Unity时根据图层名称自动创建新的动画。

所以现在的流程是:在Procreate Dreams中制作动画 > 逐帧导出每个身体部件 > 重命名每一帧 > 将每个动画的每个身体部件逐帧导入Photoshop > 将每个图像的持续时间编辑为2帧 > 将图像重新排列到正确的组/时间轴中 > 然后为每个动画的每一帧的每个身体部件创建并移动每一个枢轴点 > 导出PSD。因为我无法查看枢轴点是否实际生效,所以经常需要胡乱猜测它们是否在正确的位置,然后反复导出和移动它们。

显然,这每次都要花费数小时的工作量,而且这还是在已经手绘了几百帧之后。它解决了很多问题,但我发现它花费的时间很容易是实际制作动画的两倍,有时甚至三倍。而且如果我对某个动画做了改动,再重复这个过程简直是一场噩梦。

有没有更好的方法来解决这个问题?我的程序员正在考虑制作一个专门用于此目的的工具来替代Photoshop,但问题在于似乎没有办法通过编程来确定枢轴点,因为它们是根据画面移动的。你会如何处理这个问题?是否有我们不知道的系统可以解决?