【问题标题】:How to ensure sprites face the correct direction at all times in a 2D top down game. (logic)如何确保精灵在 2D 自上而下的游戏中始终面向正确的方向。 (逻辑)
【发布时间】:2017-05-13 05:32:25
【问题描述】:

我正在制作一个带有 3d 元素的多人自上而下的 2D 游戏。即使在服务器 node.js socket.io 上托管和播放时,我所有的动作、健康栏和基本功能都可以完美运行。但是在这个游戏中,可以像在狂神领域一样移动相机。

如果您有疑问,这里有一个视频:https://youtu.be/4tdcxl3aZ0c?t=31s

这当然意味着玩家最终可能会相互颠倒,我无法找到一个在所有方面都有效的解决方案,以确保其他玩家的精灵始终面向正确的方向他们的动作。

我已经针对这个问题提出了几个解决方案,涵盖了大多数场景,但是在测试其他东西时,我们总是最终注意到精灵有时会面临错误的方向。所以我想知道是否有人有答案,逻辑,解决这个问题。

我尝试过的事情:

  • 将游戏对象添加到所有精灵评估其距离变化并根据该信息确定其朝向的摄像机的摄像机。 (这会导致玩家在移动相机时有时会不规律地翻转,并且他们也在移动,因为有时他们可能会移动得更慢,虽然向左移动,但相机从右侧接近并翻转他们)
  • 向世界添加一个游戏对象,允许所有精灵有一个固定点,他们可以测量距离的变化,因此也知道要面对的方向(这工作得更好,因为他们总是知道他们的方向必须面对,但是一旦玩家倒立,一切都会倒转)
  • 无论我是否颠倒,都向其他玩家发射,以便在我颠倒的情况下尝试重新反转上述解决方案。 (我找不到一个好的方法来解决这个问题,这让我想到这一定是人们之前已经解决过很多次的问题,也许有人知道一个很好的解决方案。)

谢谢大家的意见。

【问题讨论】:

    标签: unity3d sprite multiplayer


    【解决方案1】:

    我似乎已经为这个问题找到了一个运行良好的解决方案。请记住,我不想让服务器参与其中,我宁愿让每个单独的精灵都知道它的方向,而不是有一些繁重的东西试图确定这个逻辑,我想出了以下解决方案。可能不是最好的,但它确实有效。仍然非常渴望听到其他解决方案。

    在我的主角身上,我有一个开关盒,它会根据玩家在世界上的轮换而变化。我无论如何都需要这个开关盒来修复(http://answers.unity3d.com/questions/1348301/trying-to-change-the-cameratransparencysortaxis-to.html?childToView=1348316#answer-1348316)这个问题。

    随着情况的变化,我只需将我希望精灵比较它们的距离的游戏对象放置在 4 个位置中的 1 个。 YPos、YNeg、XPos、XNeg。这意味着精灵现在根据玩家位置放置的游戏对象来确定其面向的方向。无需将其放在相机上。

    如果在进一步的游戏测试中这给我带来麻烦,我会更新,但到目前为止它在我需要的所有情况下都有效。

    仍然非常愿意听到这个问题的其他解决方案。

    谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多