虚幻4入门 第三人称状态下的瞄准方案

在第三人称视角下,动画的瞄准偏移如果是直接使用控制器的旋转值,会出现较大的视觉误差(近距离与远距离切换时没有差别)。我们需要做的就是使瞄准偏移量(Yaw,Pitch)能够瞄准屏幕中心所瞄准的点。

项目Demo源文件百度云盘

FindLookAtRotation节点


蓝图节点

C++:

FRotator UKismetMathLibrary::FindLookAtRotation(const FVector& Start, const FVector& Target)

起始坐标的获取:

一般在持枪状态下值为枪的大概位置。本文简单起便直接使用当前角色的世界坐标,直接GetActorLocation就可以了。


蓝图节点

目标坐标的获取:

通过摄像机发射光线追踪,撞击到目标得到世界坐标。

关键实现:

角色蓝图

在角色蓝图更新瞄准偏移的原始值


计算光线追踪的起始点与结束点


动画蓝图


限制值的最大值最小值,并使用插值平滑过渡。

如果是摄像机没有碰撞到物体,则使用控制器的旋转值

关于FindLookAtRotation的起始点需要微调。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容