很多游戏中都有, 就是角色转头+眼镜转动盯着一个目标看, 通常是盯着镜头看用的比较多
UE4里实现这个功能很容易, 直接在AnimGraph里使用LookAt结点就可以了
4个LookAt...在播放完动画突然开启LookAt后, NPC会先看向上一次LookAt结束的位置, 然后再转向目标点, 而不是从当前动画的骨骼朝向转过去. 这样就造成了动画的抖动, 很不和谐....所以这个节点是没考虑当前骨骼的状态的, 每次都是从上一次的LookAt位置开始进行插值.
本着不直接修改引擎代码的考虑, 怎么解决这个问题呢?
1....在PreUpdate里取出当前动画的Bone Transform, 计算出一个TargetLocation, 这样在刚开始更新时开始进行插值的初始位置就是骨骼朝向的位置了, 也就没有了看向不相干位置的问题...刚切换时还缺个FadeIn/FadeOut的插值动画, 这个我打log看明明是计算了的, 还需要跟进一下看看看为什么骨骼朝向会直接跳到目标点