首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么PlayerController“拥有”偏斜的音高和滚动,而角色“拥有”它的位置?

为什么PlayerController“拥有”偏斜的音高和滚动,而角色“拥有”它的位置?
EN

Stack Overflow用户
提问于 2018-08-25 02:30:39
回答 1查看 10.8K关注 0票数 5

我是UE4的新手,我正试图理解一些关于控制角色典当的基本概念。我在摸索着尝试实现一些角色的运动逻辑。我是去基本的WASD,以推动字符前进,背部,左右-在几乎每一个基本的第一人称射击。我也希望鼠标输入旋转字符周围。

我有自己的自定义PlayerControllerCharacter类。

添加代码来移动字符--前、后、侧--似乎都在字符类本身中。其中有一个名为AddMovementInput的方法,它似乎为我修改了这个职位。这也使我认为字符类“拥有”自己的位置。这是有意义的,因为一次可能有多个字符类,每个在不同的位置,对吗?

添加代码旋转字符有类似的方法控制旋转- AddControllerYawInputAddControllerPitchInputAddControllerRollInput。简单地看一下函数的名称,就可以看出偏航、俯仰和滚转都是由玩家控制器“拥有”的。查看文档和函数的注释将进一步支持:“向Controller的ControlRotation添加输入(影响偏航),如果它是本地PlayerController的话。”因此,在我看来,偏航投球和滚转似乎是球员控制者“拥有”的价值,对吗?

作为初学者,这让我感到困惑:我对这样一个事实感到困惑:位置存储在字符本身,但旋转似乎不是。

我有兴趣学习我应该如何“思考”人物或典当运动。我只是不清楚这件事,这使我在这个话题上陷入困境。

EN

Stack Overflow用户

回答已采纳

发布于 2018-08-25 06:59:53

本设计的目的是将控制力学与人物物理分开。在编写软件方面,的思想是从角色在游戏世界物理中的旋转开始,根据游戏交互机制, https://en.wikipedia.org/wiki/Coupling_(computer_programming)来控制玩家的旋转。例如,I可以是将向上瞄准,而我的角色的身体不知何故是将向下倾斜E 212 --因此可能会与位于其下方的物体发生物理碰撞。

看,你对“谁拥有什么”的观察是正确的。你可以看到 AControllerPlayerController的基类,它有一个成员变量ControlRotation,类型为FRotator。该数据成员的文档说:

ControlRotation (通过GetControlRotation()访问)决定了被控制典当的观察/瞄准方向。

GetControlRotation() 进一步澄清

这是完全的目标旋转,可能与受控的旋转不同(例如,它可能选择不视觉俯仰或滚动)。

与之一样,控制器的旋转与字符自身管理的任何“旋转相关”都是分开的。

这一点在文档中得到了进一步的支持,例如,请参见Pawn (ACharacter的基类):

典当是玩家或AI拥有的所有角色的基类。它们是一个级别上的玩家和生物的物理表示。

以及在AController

控制器是non-physical参与者,可以拥有一个典当来控制它的动作。

票数 8
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52013550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档