【发布时间】:2019-01-31 11:18:33
【问题描述】:
我是 UE4 的新手,正在尝试了解一些关于控制角色 pawn 的基本概念。我正在摸索尝试实现一些角色移动逻辑。我打算使用基本的 WASD 来让角色向前、向后、左右移动——就像在几乎所有基本的第一人称射击游戏中一样。我还希望鼠标输入来旋转字符。
我有自己的自定义 PlayerController 和 Character 类。
添加代码来移动角色 - 前后左右 - 似乎都在角色类本身中。那里有一个名为 AddMovementInput 的方法,似乎可以为我修改位置。这也让我认为角色类“拥有”自己的位置。这是有道理的,因为一次可能有多个角色类别,每个角色类别都在不同的位置,对吧?
添加旋转字符的代码有类似的控制旋转的方法——AddControllerYawInput、AddControllerPitchInput、AddControllerRollInput。简单地看一下函数的名称就表明偏航俯仰和滚动是由玩家控制器“拥有”的。查看函数的文档和 cmets 进一步支持了这一点:“将输入(影响 Yaw)添加到控制器的 ControlRotation,如果它是本地 PlayerController。” 所以在我看来, yaw pitch 和 roll 是玩家控制器“拥有”的值,对吧?
作为一个初学者,这让我很困惑:我对位置存储在角色本身中但旋转似乎没有这一事实感到困惑。
我有兴趣了解我应该如何“思考”角色或棋子的移动。我只是不清楚,这让我对这个话题感到困惑。
【问题讨论】:
-
我只是在这里猜测,因为我从未使用过 UE4,但会不会是俯仰、偏航和滚动只是用户对角色的看法?换句话说,完全独立于角色的旋转。
标签: c++ oop unreal-engine4