rainyeve
  • 首页
  • 编程
  • 涂鸦
  • 其他
  • 关于
2020年5月27日
编程

【Unity Foot IK】实现Foot IK System以适应不同地形

【Unity Foot IK】实现Foot IK System以适应不同地形
2020年5月27日
编程

主要是让角色的脚部跟随地形起伏而抬起或倾斜,同时脚掌贴合地面。unity动画系统本身就提供了IK设置的API,却没有整合成为一个在Editor可以配置的工具,要自己去实现一套逻辑。

让脚部和躯干适应斜坡和不平整的地形

IK Position

原理是从脚部上方向下做一个Raycast,找出碰撞点,将其设为脚部的IK Goal,要注意的是必须同时把整个body的y坐标也跟着脚部的y坐标做偏移,而且是以y值最小的那一只脚做基准,否则会出现奇怪现象,比如脚伸到最直都够不到地面:

body也要做偏移

IK Rotation

IK Rotation控制脚掌贴合地面的同时,要保留脚掌绕其本地y轴原有的转角,若一味按照碰撞点的normal来设置IK角度,默认脚尖朝向正前方,则有可能导致扰乱了原动作姿势:

要维持脚部朝向

脚本代码上传到了GitHub,点击转跳

参考资料

Build a Foot IK System from Scratch for Unity (C#) 出自Filmstorm

Post Views: 7,017

animation IK unity

上一篇【动作游戏设计】关于“击退”的小结下一篇 【动作游戏设计】关于Slash Effect的小结

发表评论 取消回复

邮箱地址不会被公开。 必填项已用*标注

分类目录

  • 其他 (2)
  • 旅行 (1)
  • 涂鸦 (6)
  • 编程 (28)
Email: wuch441692@163.com