【问题标题】:Sprite face the Cursor - UE4 Blueprint精灵面对光标 - UE4 蓝图
【发布时间】:2020-12-18 23:16:19
【问题描述】:

我正在 Ue4 中制作 2d 射击游戏。我正在尝试旋转精灵以面对鼠标。该精灵稍后将成为一个隐藏箭头,用于确定子弹产生时的方向。添加精灵是为了帮助我进行视觉调试。由于游戏是 2d 的,精灵应该只需要绕 Y 轴旋转。

精灵没有正确旋转。当我在游戏窗口的边缘移动鼠标指针时:它不是绕圈旋转 360 度,而是来回跷跷板(见第二张图片)。

我认为这是弧度或世界空间问题,但我已经完成了我知道如何进行的基本故障排除。第一个图像是产生错误的最干净的蓝图版本。我尝试了 ATAN、ATAN2 和 GetMousePosition 解决方案,所有这些方案看起来都与此有所不同。

在精灵图像中,红色圆圈显示我的光标所在的位置。红色箭头只是为了帮助确定精灵倾斜的角度(它们都是错误的)。圆形钻头的顶部(红色箭头的逆时针 90 度)应该面向鼠标。精灵的默认未旋转位置具有指向屏幕顶部的圆形位。值得注意的是,实际旋转和所需旋转似乎都偏离了 90 度的倍数,但这可能是巧合。

关于我做错了什么有什么想法吗?

【问题讨论】:

    标签: rotation sprite mouse


    【解决方案1】:

    我想通了。

    我(错误地)假设鼠标在屏幕上的位置严格来说是 XY(Z 为 0)。从 hit 事件中弹出打开位置后,鼠标在 XZ 中计算(Y 几乎不动)。

    我切换回 ATAN2 解决方案(在 BP 中看到),但发现我的精灵背对鼠标而不是朝向鼠标。添加 -1 乘数修复它,现在它按预期工作。

    有关完整解决方案,请参阅 BP。大家干杯。

    【讨论】:

      猜你喜欢
      • 2018-05-05
      • 2021-09-10
      • 1970-01-01
      • 2011-10-10
      • 2014-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-26
      相关资源
      最近更新 更多