在 Unity 开发中,为角色创建逼真且自适应的动画是提升游戏体验的关键。在本教程中,我们将结合 Animation Rigging 工具和 IK(Inverse Kinematics,反向运动学)插件来实现程序化的动画。
视频教程可以参考b战大佬的视频
一、前期准备
- 确保您已经安装了最新版本的 Unity 编辑器。
- 在 Unity 包管理器中安装 Animation Rigging 。
启用预发布包
安装Animation Rigging
二、创建项目与导入资源
- 创建一个新的 Unity 项目。
- 导入带有骨骼和基本动画的角色模型。如果模型没有动画,就下载或者自制一个动画
三、设置 Animation Rigging
- 在 Unity 编辑器中,打开 Window -> Animation -> Animation Rigging 窗口。
- 选中模型、点击 Animation Rigging 的Bone Renderer Setup
4. 选中模型、点击 Animation Rigging 的Rig Setup会生成rig对象
5. 在rig下创建你的目标空对象、比如我的是左手、对象名称不能重复,所以我的手部模型名是hand.l这里的空对象名字是handl
6. 在rig添加ik组件,ik组件有两种,我选的是tow bone ik constraint,把需要跟随的模型关键拖进对应的地方,跟对应的是肩膀或者胯等根部关节、mid中间的是肘关节或者膝盖、tip是手腕关节或者脚腕、目标就是建立的rig下面的空对象、这样运行的时候,你移动目标对象其他关节就会自动移动了;
四、添加 IK 约束
- 选择角色的腿部骨骼,如大腿和小腿。
- 在 Animation Rigging 窗口中,添加 IK 约束。
参考 Animation Rigging文档
比如:多父约束可以实现捡起武器的时候除了手臂外的其他部位跟随动作(弯腰,头部跟随等)
还有其他约束,可以自行了解;
五、利用ik创建动画
这样我们创建动画的时候,只需要控制目标的位置旋转等属性,就可以控制手臂等动作了
六、编写控制脚本
同样的,我们只需要修改目标handl的位置和旋转,就可以带动手臂的移动了
希望这篇博客能够帮助您在 Unity 中成功创建程序化的动画,如果您有任何疑问或需要进一步的帮助,请随时联系。