类似于绝地求生的Alt键的功能,这里不采用案件方式,自己需要用也可以作为案件事件来做
创建瞄准偏移
使用的骨骼也是人物的骨骼,保持一致。对于瞄准偏移和瞄准偏移1D的解释和混合空间那里一样的。
打开瞄准偏移进行设置,Axis,以及头部转向的动画(上下左右的转头动画),资源在Unreal上很多,有免费的可以下载。设置的值为-90到90.因为就是一个扭头动作,也可以是-135到135吧,毕竟人类可以做这样的动作。但动画资源就得需要对应的-135和135的了。
设置好后打开动画蓝图
创建好的瞄准偏移拖入AnimGraph,新建两个变量与之对应。
不需要Alpha,可以关闭掉。
然后打开事件图表,结合上一章,我们先获得控制的方向可以理解成你镜头的方向,然后与场景中人物的方向做一个差值运算,之后拆开。
对值进行限制
将现在的方向与对应要转到的方向做一个平滑的过度
基于当前的旋转,尝试到达目标旋转,给过程提供一个平滑感
然后将返回来的插值拆开,对俩变量进行赋值
最后打开人物蓝图,再打开其CharacterMovement 打开Orient Rotation to Movement,
可以看到他是与UserControllerRotationYaw是冲突的,两者必须是一开一关。所以打开需要关闭。
打开类默认设置,进行关闭
添加Tick事件,进行判断人物是否在移动(判断其速度),移动的时候打开Orient Rotation to Movement,这个时候可以自由转动视角,没移动的时候视角跟随玩家的视角。这里设置反了哈,移动的时候Orient Rotation to Movement得关闭,Use Controller Rotation Yaw关闭,反之亦然。
这里你可以按键事件来去促发这个机制。