冗长的问题,我将提供一张我想要的图表:
红色方块代表角色,蓝色矩形代表相机,绿点代表“舞台”的中心,黑色圆圈代表舞台本身。
我想要的是基本上将玩家的移动锁定在舞台的“中心”周围,这样无论何时你向左或向右移动,你或多或少都会围绕所述中心旋转。然而,我也希望玩家能够向前和向后移动到中心/从中心移动。请记住,我希望摄像机始终位于玩家的正后方。我尝试了很多不同的方法,最新的如下:
我选择了一个默认演员,附加了一个弹簧臂,将一个儿童演员附加到其上(被附身成为可玩角色),附加了另一个弹簧臂,最后将相机附加到其上。然后,我将蓝图代码添加到第一个弹簧臂,以便它由左/右控件控制。然而,点击播放后,唯一移动的是相机,而且它只能向前和向后移动。
诚然,我对虚幻蓝图相当陌生,因此我们将不胜感激。
好吧,我明白了。
如果其他人想要类似的东西,这是所需的设置。
对于玩家本身,你需要这样的东西:
重要的是将根网格放置在要旋转的位置的中心。弹簧臂的目标臂长度将受到玩家网格运动的影响,从而产生您正在物理移动角色的错觉。除非您希望更好地控制摄像机到玩家的距离,否则不需要第二个弹簧臂。
对于旋转蓝图,您需要这个:
目标是您命名的根网格物体。 (我的称为中心)将其从层次结构中拖放。
对于向前/向后运动,您需要这个:
目标就是您所说的弹簧臂。 (我将我的设置为默认的“SpringArm”)再次,只需将其从层次结构中拖放即可。
项目设置调整:
是的,我的输入与你的想法相反。我觉得反转输入比调整导致运动向后的任何因素更快。 (这可能只是球体方向。)此外,您会注意到我将 w 和 s 输入设置为 5 或 -5,而不是 1 或 -1。这是因为否则移动速度很慢。我确信有一个修复不涉及更改输入轴比例,但老实说,我真的没有理由在项目中的任何点更改这些值。如果它出现在我确实需要的地方,我确信无论如何都有一个旁路可以更改蓝图中的值。
最终结果:
如果我没记错的话,子角色组件与其他组件有点不同,因为它们是独立于变换的,也就是说,当父组件移动时,它们不会更新其变换。
我觉得你将玩家演员和相机组件分开有点奇怪。通常,玩家“pawn”包含一名玩家的网格和相机组件。
我建议您执行以下操作:
创建以下组件层次结构:
根场景 -> 弹簧臂 -> 骨架或静态网格体 -> 弹簧臂 -> 相机
您的根场景是绘图中的绿色中心。然后,您基本上可以使用已有的蓝图来旋转和移动玩家。
我做的没有弹簧臂和其他组件: