前言
此篇文章仅实现视角移动的功能
虚幻引擎版本: 4.23.1
相关介绍
哔哩哔哩-UE4蓝图:多视角切换系统(第一人称、第三人称、漫游视角的切换)
其他介绍
上一篇笔记
下一篇笔记
蓝图预览
一、创建轴映射(绑定鼠标的平移)
详细的操作就不介绍了,有需要的话可以去看我前两篇虚幻引擎的笔记。
虚幻引擎4笔记(1)-角色跳跃
虚幻引擎4笔记(2)-角色移动
鼠标X和鼠标Y就相当于鼠标在坐标系的移动。
鼠标X为正数时,是你鼠标往你右手边的移动方向。
鼠标Y为正数时,是你鼠标往你正前方的移动方向。
二、角色蓝图
[1]. 创建一个角色蓝图
[2]. 添加一个角色
因为此笔记中不使用导入包,所以就直接使用了原本有的立方体模型了。
[3]. 摄像机和移臂
在左方的组件中,搜索Spring arm并添加
SpringArm类似于自拍杆的作用,可以通过变更SpringArm细节面板中的值,来对摄像机进行位置、角度的操作,是一个相对方便的组件。
然后选中SpringArm并添加一个摄像机Camera,这个Camera就会附属在SpringArm下。
在此时选中SpringArm移臂,如果是第一人称的话就选中摄像机,在细节面板中找到下图的选项并勾选。
如果没有勾选这个的话,没法完成上下视角的移动(之前就是一直没发现这个问题,之后偶然勾选之后才实现了上下视角的移动)。
UsePawnControlRotation:是否允许控制、查看Pawn的旋转(控制视角的节点的目标是Pawn)
因为此处使用的是一个立方体,所以就不用变更相应的人物朝向。
若你使用到了人物模型的话,需要将人物的正面朝向蓝色箭头的方向,即下图的箭头方向,不然你会发现摄像机的视角很奇怪。
[4]. 世界中的三种旋转方向
点击SpringArm后,查看细节面板
红色的为Roll、绿色的为Pitch、蓝色为Yaw,这三种值变化后就能调整SpringArm中的Camera角度了。
Roll为绕着X轴旋转的方向,
Pitch为绕着Y轴旋转的方向,
Yaw为绕着Z轴旋转的方向。
[5]. Roll值的变更
你可以直接看XYZ坐标系是如何旋转的,或是摄像机的旋转来看对应的变化。
(1) Roll=0时
(2)Roll>0时
(3)Roll<0时
[6]. Pitch值的变更
你可以直接看XYZ坐标系是如何旋转的,或是摄像机的旋转来看对应的变化。
(1)Pitch=0时
(2)Pitch>0时
(3)Pitch<0时
[7]. Yaw值的变更
你可以直接看XYZ坐标系是如何旋转的,或是摄像机的旋转来看对应的变化。
(1)Yaw=0时
(2)Yaw>0时
(3)Yaw<0时
小归纳:
由5、6、7中Roll、Pitch、Yaw几个值的演示,可以看出
若要将视角从人物底部移动到顶部时,需要变更Pitch的值,
若要将视角绕着人物进行旋转的话,需要变更Yaw的值。
所以蓝图中仅需要含有Pitch和Yaw的节点即可实现上下视角和旋转视角。
[8].上下视角蓝图
先创建一个刚刚的轴映射节点,搜索轴事件即可寻找
然后再创建一个节点,以便能通过鼠标的Y轴移动来变更摄像机的视角。
搜索Pitch,选择创建。
Val能将摄像机以Pitch轴旋转多少度。
此时需要设定一下Val的值,不然你连接之后也没法移动视角。
将相应颜色的接口相连即可,这里需要注意,连接之后Val的默认值将会被隐藏。
如果发现视角没法移动且其他的操作是正确的话,可能就是这个Val没有设置默认的值。
[9].旋转视角
具体的操作和步骤8类似
先创建一个轴映射对应的节点,然后再创建能变更Yaw值的节点。
在对该节点Val值设置之后,将相应的接口相连,最后再编译即可。
所有的蓝图创建完毕之后,记得点击编译,没有编译的话,就没法实现蓝图的功能了。
[10]. 其他配置
如果你想要鼠标控制时,不旋转玩家的身体,你可以点击自身蓝图类
找到User Controller Rotation Yaw选项
ON:表示旋转视角时,玩家的朝向也会跟着旋转
OFF:旋转视角时,玩家朝向不变
三、控制角色
有几种控制角色的方法,目前了解到是两种。
[1].在拖入场景后,再进行设置
选中场景中的角色蓝图类,然后在其细节面板中输入possess进行搜索,将AutoPossessPlayer值变为Player 0
[2]. 直接在角色蓝图类中设置
打开一个角色蓝图类,然后点击最上面的那个组件,有个自身字样的。
然后在右边的细节面板中,输入possess进行搜索 ,将AutoPossessPlayer值变为Player 0,之后通过蓝图类拖动生成的每一个都默认是主机可以控制的了,如果你生成了很多个都能被主机控制的角色的话,只能控制你第一个生成的那个角色。