记录:live2D 同步走路动画绑定

字数统计: 1.8k 阅读时间: 3 mins 访问次数: ... 评论统计: ...

  我 被 Live 2D 杀 死 了 :4o-3:
  起因是看到了这个可以同步走路和跳的 Live2D 演示视频,因为做出了辅助机的 loading 我就飘了,觉得自己可以挑战这种高新技术了,遂画了个火柴人捣鼓了一上午。
  K 动画和绑定走路都做得非常顺利,然而一开始研究切换跑步就出现了各种问题,要么切了跑步就回不来,要么腿疯狂打结,一上午得出了一打错误答案,气得我饭也不想吃了。
  总之先把大概的试错过程记录下来然后摆了,看不懂也不要骂我,我的脑细胞已经被燃尽了,我自己都不知道我在写些什么……
  应该没人会看到吧,哈哈【

行走动画 & 绑定

  其实这里记录的方式和我一开始实现的方式不太一样,但是我感觉这个方案可能比较接近我需要的正确答案,就先记着这个了。其它的尝试在后面的失败日志里记录吧……

动画

  整个行走参数最少需要 5 个关键帧,即参数初始 0 最大 4,然后设为循环参数
  0,2,4 为循环帧,1 和 3 分别做左腿和右腿在前的关键帧即刻做出最简单的行走动画。细节一些需要在 0.5 和 2.5 加入抬腿和上身的上仰,并在 1 和 3 加入上身的下俯动作。但因为这是个测试工程我就摆了,最后没搞成功我也懒得截图,手的动作同理。
  动态参考:用4个基本姿态画一个完整的走路动作

绑定

  新建动画开关参数(区间 0~1,初始 0),在 0 关键帧将所有动画帧复位,导入场景混合之后就可以使用开关控制动画开启 / 停止。
  实际上参数还是在动的,只不过变形器被锁在了初始形态。另外建议在做动画之前就把开关的关键帧打好,这样 0 所在的关键帧就是默认不会动的。
  在 VTS 中把开关设为按键表情,绑定 W 键并打开【按键释放后恢复】即可。

废案 1:切换待机动画

  最初的方案。
  为左右腿分别绑定【上下】和【前后】两个参数,跑动和走路的动作幅度差分做在【上下】参数里。
  开关方式与前文行走动画中提到的相同。
  然后进入动画场景为走路和跑步分别制作动画并导出文件,先绑定好走路动画,再使用 VTS 的「切换循环动画」功能切换为跑步。
  最后出来的效果动画切换很平滑(因为是同一套变形器),但很要命的一点是 VTS 无法使用同一个按键复位动画……
  就,它的逻辑是这样的:

  • 「循环动画」只能通过待机动画实现
  • 待机动画只能同时存在一个
  • 按键只能将现有待机动画替换成指定文件,但不提供撤回
  • 同时更改待机动画功能并不支持按键释放后恢复结束动画演示时间,简而言之就是有去无回

  最后的结果就是切成跑步之后就回不来了,我还得再多换一个按键切回走路。

废案 2:物理控制走路

  从一开始就努力错了方向的一个方案,但可能之后做别的效果能用到……
  使用呼吸作为角度输入控制左右脚的【上下】和【前后】,把右脚的输出反映就可以实现两只脚交替走路。
  本来是试图通过物理输入来实现动画变速,但总之这个尝试非常失败,失败到我甚至不想再浪费键盘耐久详细描述……反正就是失败了!

废案 3:变速开关与多套变形器

这是一套在 live2D 里可以完美运行但在 VTS 里就会双腿打结的方案 :4o-2:

  用 上文 提到的方法制作开关,只是这一次开关需要 0-1-2 三档,在 1 制作走路,在 2 制作跑步。
  走路与跑步动画分别用两条独立参数 K 关键帧,但所有的变形器需要同时绑定【开关】【走路】和【跑步】三条参数。
  【开关】为 1 时【走路】参数上的 1 3 帧(即运动帧)需要同时复制到【跑步】参数上的 0 1 2 3 4(每一帧),同理【开关】为 2 时 K 好的【跑步】关键帧也需要复制到【走路】的每一帧,从而消除两个动画参数之间的互相影响。
  这个原理用一般人类语言比较难以描述,可以参考【Live2D教程】平滑切换待机动画
  制作动画时在同一个场景内为【走路】和【跑步】创建不同速度的循环动画,并且导出单个动画文件
  进入物理编辑器播放动画,切换开关即可平滑切换走路与跑步。

  但是这个平滑仅限 live2D 本体内预览。在 VTS 里绑定之后每次切换表情都会出现随机腿抽筋打结现象,暂时猜测是 VTS 自带的渐入 / 渐出同时调用了两个动画的关键帧导致的。
  虽然我不知道为什么变成这样……因为理论上动画是一直循环播放的,按键控制的只有开关不可能导致动画关键帧错位,但这个打结的情况确实是跟着这个数字的设置变化的,最要命的是这玩意还关不掉,我真吐了。

待验证方案假设

  捏猫猫滴我突然发现 VTS 里同一个物理按键可以绑定多个按键动作,那我直接在 W 上同时绑定开启 + 切换行走,Z 上绑定开启 + 切换跑步不就解决了吗!!!草!(中国语)
  呃啊我把差分动画文件全删了还得重新做一遍,啊啊啊啊我痛恨所有不好好写文档的开发者 :4o-3:
  但果然吃了饭再回来脑细胞会复活一些……明天再来解决这个问题吧 :4o-6:


  1. 1. 行走动画 & 绑定
    1. 1.1. 动画
    2. 1.2. 绑定
  2. 2. 废案 1:切换待机动画
  3. 3. 废案 2:物理控制走路
  4. 4. 废案 3:变速开关与多套变形器
  5. 5. 待验证方案假设