说明:今天又解决了一个细节问题,想旋转自己设定的Pawn而不是旋转Camera,思路来源于GitHub的友友们,感谢!
Git链接:
本文参见UE4 ThirdPersonExample Project以及官方GamePlay说明Pawn、 Controller等区别
https://docs.unrealengine.com/latest/INT/Gameplay/Framework/Pawn/index.html
1:首先看官方第三人称的设置参数
ThirdPersonCharacter属性
默认的Pawn指定的类
*******************************************************************
下面的组件Camera Boom属性
所以此处的Pawn控制指定给了鼠标输入,鼠标动的时候是Camera在旋转
如果我们不需要Camera旋转,保持视角不变的情况下在当前屏幕比如射击只需要把ThirdPersonCharacter(类比为武器)的Pawn属性勾选,就可以了。
*********************************************************************************************
当我们按下WASD的时候,角色旋转朝向
此处的Pawn的由来
意思就是说:Pawn 是玩家或 AI 实体在世界中的物理象征。
决定其在冲突和其它物理互动方面 如何与世界交互。由于某些类型的游戏可能在游戏中没有可见的玩家网格或形象,这在某些情况下可能会令人困惑。无论如何,Pawn 仍 代表玩家或实体在游戏中的物理位置、转动等。Character 是一种特殊类型的能走动的 Pawn。
默认情况下,控制器和 Pawn 之间是一对一的关系;意思是,每个控制器在任何特定时间只控制一个 Pawn。此外,在游戏中生成的 Pawn
不被控制器自动控制。
这里的Get Control Rotation系统函数指定的Pawn是世界中的实体,也即是该蓝图的父类Character作为控制 它是可移动的pawn
而前面的鼠标输入控制的target Pawn取决于我们设定的参数,谁作为了Pawn控制
2:本文修改此Pawn设置的原因
当我们在第一/三人称游戏中,如果我们希望只在当前屏幕里左右旋转例如大炮机枪等器械射击出现的怪物,此时希望相机不动,那么Pawn就需指定Character身上的设置了
3:总结
Actor作为UE4的底层对象Object,那么如何区分实物体与虚物体呢,Pawn则说明了玩家或 AI 实体在世界中的物理象征,继而从Pawn开始扩展为可移动的角色Pawn如Player Character以及控制输入类Pawn如Player Controller
将数据信息传递给Pawn从而做出相应的行为。
参考链接:官方GamePlay框架
1:https://docs.unrealengine.com/latest/CHN/Gameplay/Framework/Pawn/index.html
PS:其实虚幻4的这些底层知识还是值得学习的,毕竟都是肉,哈哈。学而时习之
祝大家学习开心