如何确保精灵在2D自上而下游戏中始终面向正确的方向。 (逻辑)

时间:2017-05-13 05:32:26

标签: unity3d sprite multiplayer

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

如果您对此有疑问,请观看视频:https://youtu.be/4tdcxl3aZ0c?t=31s

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

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

我尝试过的事情:

  • 将游戏对象添加到相机,所有精灵都会评估其距离的变化,并根据该信息确定其面向方向。 (这导致玩家在移动相机时有时会不规则地翻转,并且他们也在移动,因为有时他们可能会移动得更慢,尽管向左移动相机从右侧移动并且翻转它们)
  • 将游戏对象添加到世界中,允许所有精灵都有一个固定的点,他们可以测量他们的距离变化,因此也知道要面对的方向(这更好用,因为他们总是知道他们的方向不得不面对,但是一旦玩家颠倒过来,一切都会倒转)
  • 在我颠倒的情况下,为了试图重新解决上述解决方案而向其他玩家发送更多内容。 (我找不到一个很好的方法来做到这一点,它让我觉得这一定是人们多次修复的问题,也许有人知道一个有效的解决方案。)

谢谢大家的意见。

1 个答案:

答案 0 :(得分:0)

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

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

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

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

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

谢谢。