案例三:机器人骨架与行走循环
机器人案例包含真实骨架、蒙皮与关键帧。机械分段让你能清晰看到“哪根骨骼影响哪些顶点”,降低初次理解柔软变形的复杂度。

实际交付
| 项目 | 规格 |
|---|---|
| 几何 | 180三角形、1个网格、4种材质 |
| 骨架 | 11根骨骼、1个skin |
| 权重 | 机械分段按对应骨骼赋予100%权重 |
| 动画 | walk,24fps,源第1—25帧,导出0—1秒 |
| 位移 | 原地循环,无根运动 |
| GLB | 37,392字节,无外部纹理 |
这是一份学习资产:它不提供精细有机蒙皮、脚底IK、完整攻击状态机或上线级动作表现。
制作过程
- 先确定躯干、头部、上下臂与腿部等机械体块。
- 建立骨骼层级,并在静置姿态下绑定网格。
- 每块肢段绑定到对应骨骼,检查未绑定顶点与权重和。
- 制作左右交替的摆臂、抬腿姿态;首尾闭合,根不前进。
- 保存源工程,原生导出GLB,再重导入检查。
"/Applications/Blender.app/Contents/MacOS/Blender" \
-b --python examples/blender/generate_assets.py -- robot
在 Blender 中观察
选择骨架切换 Pose Mode,转动一根肢体骨骼,检查只影响预期肢段。切回动画时观察第1、7、13、19、25帧,比较左右交替与首尾姿态。查看 Graph Editor,理解关键帧之间的变化。
测试极端姿态后恢复,避免把诊断用修改保存成最终交付。修改器应指向正确骨架,顶点组名称应匹配骨骼。
接入引擎时的关键点
导入后应同时出现网格、骨架、材质、Prefab和动画片段。设置播放器为Loop,确认肢体真的运动,而不只是外层对象在转。
GLB不规定播放器循环模式。引擎中的动画时间与根节点位移应分别检查:原地walk正常时,模型仍可以留在同一位置。之后给它增加外层角色节点,由脚本处理输入、碰撞与移动。
已做的文件级检查
验证脚本检查权重归一、动作中途骨骼运动与首尾骨骼矩阵。首尾最大差约2.8×10⁻¹⁶,属于浮点数误差量级。该检查证明循环姿态闭合,不能替代对动作节奏、穿插与脚滑的观察。
机器人在Cocos里走路但向前滑动,我希望先保持原地。
请分别检查:导出根节点位移、骨骼根通道、外层脚本位移。
不要通过把所有动画通道删除来隐藏问题。