给纸偶绑骨骼,让它走起来
在纸偶的部件上画骨骼,用 IK 弯膝盖,打四个姿势,再把它们循环成一段走路。
要做出什么
- 拆成部件的角色:每块一张 PNG,按侧面画好,关节对齐。本教程用一个面朝右的纸偶,共 14 块:头、躯干,以及两侧各一套大腿、小腿、脚、大臂、小臂和手。
- 名字写明前后,从前往后编号:01 前手 … 14 后手。导入按名字排图层,近侧的四肢就在上面。
- 支持 WebGPU (外部网站,在新标签页打开) 的浏览器,例如新版的 Chrome、Edge 或 Safari。
1. 导入部件
把整只纸偶作为一张图拖到空合成的开始卡片上,合成会采用它的尺寸,这里是 1080 × 1080。
把部件文件夹拖到上传文件上,选择导入 14 个。每块部件成为一个图层,位置和画的时候一样。
删掉整张图的图层,由部件代替它。

- 部件对齐拼成纸偶。
- 每块部件一个图层,前面的在上。
2. 先给身体一根脊梁
在项目面板底部选择新建图层,再选骨架。
选择骨骼工具(J),从髋部向上拖到脖子。这第一根骨骼带着整个身体,移动它就移动全部。
在查看器里点躯干,把它挂到这根骨骼上。
从脖子拖到头顶画第二根骨骼,再点头部。
从髋部开始而不是从头:走路时身体在髋部起伏、转动,带动全身的骨骼就该从这里出发。从选中骨骼上开始的拖动,会从它长出新骨骼。
3. 先绑远侧的四肢
在时间轴里用眼睛图标隐藏 6 块前侧部件和躯干。点击会挂上指针下最上面的部件,而前侧部件恰好盖住后侧的。
点躯干骨骼的末端选中它,从髋部拖到膝盖,再点后大腿。
接着从膝盖拖到脚踝,点后小腿和后脚。选中这根下段骨骼,在骨骼选项里选择添加 IK。
把后腿的三块部件也隐藏,再选中躯干骨骼,用同样的方法画后臂:肩到肘挂大臂,肘到腕挂小臂和手。
把所有部件重新显示出来。

- 前侧部件的眼睛,绑后侧时关掉。
- 后腿:髋到膝、膝到踝。
- 下段骨骼的选项,已加 IK。
4. 再绑近侧的四肢
选中躯干骨骼,在后腿上面再画一遍前腿:髋到膝、膝到踝。挂上前大腿、前小腿和前脚,给下段骨骼加 IK。
用同样的方法画前臂,挂上前大臂、前小臂和前手。

- 骨骼工具。
- 十根骨骼:脊梁、头、两条腿、两条手臂。
- 属性面板里每根骨骼的位置、旋转、缩放与长度。
前侧骨骼和后侧的完全重合,指针下有两根骨骼时,选中后画的那根。先绑远侧,点在共用关节上时才会选到近侧的骨骼。
想检查一根骨骼,就用选择工具拖它关节处的圆环转一转:该跟着动的部件都会动,留在原地的就是挂错了骨骼。检查完撤销这次旋转。
5. 让膝盖向前弯
在属性里,每条 IK 链有一个目标,就是脚踝要到的位置。改它的 X,腿就弯过去够它。
两节的腿可以往两边弯。膝盖往后弯时,勾选翻转弯曲方向。纸偶面朝右,两条腿都要勾。

- 前脚的 IK 目标。
- 翻转弯曲方向:膝盖改往另一边弯。
- 两个膝盖都向前弯。
6. 打四个姿势
一个走路循环是两步,每步两个姿势:接触,两脚分开都着地;经过,一条腿直立在身体下方,另一条抬起从旁边摆过去。
在第 0 帧输入下表第一个姿势的数值,再打开这些属性的秒表。依次到第 6、12、18、24 帧输入各个姿势,每次修改都会打一个关键帧。
第 24 帧就是第 0 帧,循环由此闭合。目标用骨骼图层的坐标:X 0 在髋部正下方,Y 435 是地面。
手臂和腿反着摆:前大臂(骨骼 9)第 0 帧 200°、第 12 帧 160°、第 24 帧 200°;后大臂(骨骼 5)正好相反。180° 是自然下垂。向前摆时让小臂多弯一点,显得比大臂慢半拍。
| 帧 | 姿势 | 前脚目标 | 后脚目标 | 骨骼 1 位置 Y |
|---|---|---|---|---|
| 0 | 接触,前脚在前 | 80, 435 | −80, 435 | 72 |
| 6 | 经过,后脚抬起 | 0, 435 | 0, 395 | 60 |
| 12 | 接触,后脚在前 | −80, 435 | 80, 435 | 72 |
| 18 | 经过,前脚抬起 | 0, 395 | 0, 435 | 60 |
| 24 | 回到接触 | 80, 435 | −80, 435 | 72 |

- 前脚在第 0、6、12、18、24 帧的关键帧。
- 第 6 帧前脚的目标:在髋部正下方。
- 后脚抬起,正在经过。
这些关键帧保持线性。着地的脚要匀速向后滑,正好抵消身体向前走的速度;缓动会让它在一步中间慢下来,脚就像在打滑。
7. 把循环接起来
对每个有关键帧的属性,选择它的 Σ 按钮,输入
loopOut("cycle")。选择预览,再选应用。过了第 24 帧,属性会从第 0 帧重新开始,合成有多长就走多久。

- 表达式:重复这些关键帧。
- 预览之后应用。
这里有七个属性带关键帧:两个目标、髋部的位置和四个手臂的旋转。关键帧仍然可以改:改一个姿势,每一圈都跟着变。其他重复方式见表达式参考 (在新标签页打开)。
8. 播放并检查
按空格播放,再用方向键从第 0 帧逐帧看到第 24 帧。
着地的脚贴着地面并匀速后滑。往下陷或悬空,说明它目标的 Y 不在地面上。
腿不会突然绷直。目标比腿能够到的地方还远时,腿被拉直,脚也离开目标:缩短步幅或降低髋部。
身体在接触时最低、经过时最高。没有这点起伏,纸偶就像在滑行。
每只手臂和同侧的腿反着摆:前脚在前,前臂就在后。
第 24 帧和第 0 帧一样。循环重新开始时跳一下,说明最后一个关键帧和第一个不同。
9. 导出
选择右上角的导出视频或图片,选一种格式:分享循环用GIF 动画,视频用 WebM 或 MP4。
导出整数个循环,例如起始帧填 0、结束帧(不包含)填 48,文件循环播放时就不会跳。
接下来可以做什么
- 深入骨骼。骨骼链、父级、让脚保持水平,以及用网格弯曲图片。 角色绑定
- 为什么用骨骼图层。一个图层里的绑定,和用图层加表达式搭出来的绑定有什么不同。 不写脚本的骨骼
- 另一篇教程。从一张 AI 图里抠出角色,让它跳一跳。 把 AI 插画做成动画