逆向运动学(Inverse Kinematics)(IK)提供一种从末端执行器的位置处理关节旋转的方法,而不是通过关节旋转,在实践中,提供一个执行器的位置,然后IK解决方案解决旋转,使最终的关节尽可能的与该位置重合,这可以用来让角色的脚停留在不平摊的地面上。
在UE4中,IK可以用来覆盖和增强现有动画,使角色或骨架网格体的运动看起来对其环境更具有反应性
(与官网给出的案例逻辑有一定出入)
在第三人称模板中人物上楼梯现有的状态:
最终要实现的状态:
一、新建项目或者导入第三人称模板
选择新增/添加功能或内容包,打开的选项界面中选择第三人称游戏,添加到项目。
二、打开第三人称地图,在此关卡中进行编辑,以下操作在第三人称控制蓝图中编辑。
三、解析:人物太高腿的高度 不能太夸张作为前提
在第三人称控制器蓝图中新建函数IKTrace在函数中编辑下面逻辑:
1.如果让角色站立在不同的台阶上,按照当前人物蓝图,模型膝盖高度在腰部位置的二分之一,在人物蓝图中拥有将囊体半高的参数,可以用此来计算膝盖所在的位置。(膝盖位置 = 人物腰部所在位置z值 - 胶囊体半高/2)
注:可以在编译的时候就获取到胶囊体半高值,可以在Construction Scrip 面板进行一个提升为变量设置。