最近学到控制角色转向了,很多UE5的教程视频感觉都没系统的说一下整个UE的视角控制。
个人理解UE5中涉及角色转向控制的有3个“视角”,分别是控制器旋转、摄像机朝向、主角(pawn)朝向。
主角朝向就是控制的角色的朝向,这个很好理解,摄像机朝向也非常好理解其实就是画面的朝向,而控制器朝(旋转)向个人理解为用户发送的对被控单位(pawn)的旋转指令方向(如画面朝南,角色面向东,按下s(后退键)后控制器旋转为朝北)。
下面我尝试通过多种游戏类型去理解摄像机、pawn、控制器在视野和朝向的关系。
首先确定一点,游戏视野一定是由摄像机提供的。控制器提供目标旋转方向。

在FPS游戏中很明显主角的朝向一定就是摄像机的朝向,而控制器传入的旋转用来同时控制摄像机和pawn的旋转。

MOBA类游戏中,摄像机朝向是固定的从上往下看,角色朝向由鼠标和键盘(控制器)发起,通过计算得到最终角色应该要转向的方向(可能和角色当前的转向不同,不过MOBA类游戏的转向并不需要平滑,一般就算是180°的转向也是瞬间转过去)。

横板过关类的与MOBA感觉也有点类似,就是角色朝向的控制方式不同而已,很多都是只有左右,或者面部朝向鼠标,或者只提供左右两个朝向方向。

而第三人称角色扮演视角的游戏,pawn的朝向旋转和摄像机可以是完全无关的,摄像机的旋转一般由鼠标旋转控制(有时候还可以用Q、E控制左右转向等),而控制器一般是键盘(如wsad键位),发出指令瞬间可以和角色不是同向,主要是这个模式下一般会做个平滑的,比如面向前方,但是想要往右走,大概有0.1s的平滑过渡,也就是说有0.1s的时间角色朝向会和控制器朝向不一致。

总的来说,摄像机旋转可以单独控制,而角色(pawn)朝向一般都会趋向于与控制器朝向(旋转)保持一致(毕竟被控制的😂)。
所以在制作第三人称游戏时,为了达到效果,应在pawn的蓝图内选中角色移动组件,然后在细节处修改两处地方:
1、Detail-->Pawn-->使用控制器旋转Yaw/Pitch/Roll,三个全部取消勾选,这样控制器的输入就不会直接影响到pawn的旋转朝向。(当然FPS游戏刚好相反要完全勾选)。 2、Detail-->角色移动(旋转设置)-->将旋转朝向运动,这个勾选上,角色的朝向就会自动往运动方向旋转,当然特殊情况可能还是要取消的,比如刺客信条那种锁定目标的情况,锁定后角色无论如何移动都要一直朝向目标。

ps,有的初学者会发现这两个地方设置了还是没办法做到正常角色朝向和视角分开,很有可能是弹簧臂那里的设置还有问题。(这一块还是有点难理解)


有一说一,Unity虽然功能没那么多,但是比较简单上手就会很快,虽然说要什么功能都得自己开发会有一点麻烦,但是很多时候小游戏不需要那么多功能。
UE就是集成的功能太多,很多时候你想要一个效果自己弄了好几天查不多要实现了才发现TMD早就在引擎里面集成好了,鼠标点点打几个钩就实现了🤬。虽然说这样很好,但是功能越多越乱,学习成本越高,越高的学习成本又提高了门槛,导致学这个的人更少,更少的用户导致社区不活跃,再导致教程少,教程少反而又推高了学习门槛,这特么死循环😶