这篇日志是对第一篇的否定,即pawn不是角色脚底下相连的控制物,在人物蓝图中,pawn就是包括人物基础actor在内的character类,是个特殊的pawn。

公式pawn(character)=actor+controller

那个脚底下的东西应该是controller,但这个应该没有和actor连着

然后针对将旋转朝向运动的功能理解,我做了个量化比较实验。

首先要有三个打印文本

人物蓝图中的“获取控制旋转”

将旋转朝向运动

动画蓝图中的“获取控制旋转”与“获取actor旋转

将旋转朝向运动

 

 

 

 

 

 

 

 

 

**有点杂乱,不过不影响,这实现的功能就是人物根据”wasd“按键形成行走动画+头部随鼠标有左顾右盼上仰下探的动画动作

只需要关注”获取控制旋转“到后面的”打印文本“以及”获取actor“旋转到后面的打印文本

前提是除了第一张蓝图实现的”wasd“运动蓝图外外,你还编写好了靠鼠标变换视角的事件蓝图

然后先将摄像机设置全打勾(人物蓝图——springarm——细节面板——摄像机设置)

将charactermovement的细节面板中的”将旋转朝向运动“不打勾+类默认值中pawn属性的三个”使用控制器旋转“不打勾

进行实验:

直观感受,人物角色只有面部朝前的移动,但是两个”获取控制旋转“的文本输出同时变化,所以,这两个pawn是一体的。

再将”将旋转朝向运动“打勾

进行实验:

直观感受:actor的面部朝向可以随鼠标改变并且有一数值会从任一角度在actor朝向随旋转变换完后迅速的过度到0.

就比如:你鼠标移动了一下,然后控制器通过一个封装函数“添加控制器xx输入“(第一篇文章有直观的蓝图)将你的移动值经过处理输出一个旋转轴值给对象(pawn),然后你按下了W,人物会转相同的角度。然后actor的旋转角就归0

我们先看官方解释:旋转角色朝向加速方向

这里的加速方向其实就是所谓的”正前方“,有个箭头指向的方向。

梳理一遍:鼠标(控制器)通过蓝图将自己的变化转化为了值输给了pawn(character),pawn转动了角度,那个指向前方的箭头也转动了一个角度,此时,加速方向不再是禁止的人物(actor)面朝的方向,而是与其成一个固定角度的方向。

当你按下W,actor根据”将旋转朝向运动“旋转了固定角,更新了新的加速方向,这时,pawn就没有旋转了。

其实现实情况下,(actor)人物模型其实可以看成是和pawn(character)这个类一起旋转的,但如将时间无限小,还是有先后的,因为代码执行也需要耗时。

所以,这既是将旋转朝向运动的功能,在这个实验中你也可以从中深入研究UE4的底层逻辑。

最后我总结一下我对character这个东西的新的见解:你就算不加人物模型到character类,将碰撞体可视化后,你也可以看见碰撞体在运动。

相关文章:

  • 2021-08-02
  • 2022-01-05
  • 2021-08-04
  • 2022-12-23
  • 2022-03-05
  • 2022-12-23
  • 2022-01-11
猜你喜欢
  • 2021-09-09
  • 2021-04-25
  • 2021-08-23
  • 2021-10-02
  • 2021-04-09
  • 2021-11-02
相关资源
相似解决方案