如何确保精灵在 2D 自顶向下游戏中始终面向正确的方向。 (逻辑)
How to ensure sprites face the correct direction at all times in a 2D top down game. (logic)
我正在制作一款具有 3d 元素的多人自上而下的 2D 游戏。即使在服务器上托管和玩游戏时,我所有的移动、健康条和基本功能都可以完美运行,node.js socket.io。但是在这个游戏中,可以像在狂神之境中那样移动相机。
如果您有疑问,这里有一个视频:https://youtu.be/4tdcxl3aZ0c?t=31s
这当然意味着玩家最终可能会相互颠倒,我找不到一个在所有方面都有效的解决方案来确保其他玩家的精灵始终面向正确的方向关于他们的运动。
我已经为这个问题做了几个解决方案,涵盖了大多数情况,但是在测试其他东西时,我们总是最终注意到精灵有时会面对错误的方向。所以我想知道是否有人有答案、逻辑和解决这个问题的方法。
我尝试过的东西:
- 将一个游戏对象添加到所有精灵评估其距离变化并根据该信息确定其朝向的相机。 (这导致玩家有时会在摄像机移动时不规律地翻转,他们也在移动,因为有时他们可能移动得更慢,尽管向左移动,但摄像机从右侧接近并翻转他们)
- 向世界添加一个游戏对象,让所有精灵都有一个固定点,它们可以测量它们的距离变化,因此也知道要面对的方向(这比往常效果更好知道他们必须面对的方向,但是一旦玩家颠倒,一切都会倒转)
- 向其他玩家发送我是否倒立,以便在我倒立的情况下尝试重新反转上述解决方案。 (我找不到一个好的方法来做到这一点,这让我想到这一定是一个人们已经解决过很多次的问题,也许有人知道一个好的解决方案。)
谢谢大家的意见。
我似乎找到了解决此问题的有效方法。请记住,我不想让服务器参与其中,我宁愿让每个精灵都知道它的方向,而不是让一些沉重的东西试图确定这个逻辑,我想出了以下解决方案。可能不是最好的,但它确实有效。仍然非常想听听其他解决方案。
在我的主角身上我有一个开关盒,它会根据玩家在世界中的轮换而变化。无论如何,我需要这个开关盒来解决 (http://answers.unity3d.com/questions/1348301/trying-to-change-the-cameratransparencysortaxis-to.html?childToView=1348316#answer-1348316) 这个问题。
随着情况的变化,我只是将我希望精灵与它们的距离进行比较的游戏对象放置在 4 个位置中的 1 个位置。 YPos、YNeg、XPos、XNeg。这意味着精灵现在根据根据玩家位置放置的游戏对象确定其面向方向。无需将其放在相机上。
如果在进一步的游戏测试中这给我带来麻烦,我会更新,但到目前为止它在我需要的所有情况下都有效。
仍然非常愿意听到这个问题的其他解决方案。
谢谢。
我正在制作一款具有 3d 元素的多人自上而下的 2D 游戏。即使在服务器上托管和玩游戏时,我所有的移动、健康条和基本功能都可以完美运行,node.js socket.io。但是在这个游戏中,可以像在狂神之境中那样移动相机。
如果您有疑问,这里有一个视频:https://youtu.be/4tdcxl3aZ0c?t=31s
这当然意味着玩家最终可能会相互颠倒,我找不到一个在所有方面都有效的解决方案来确保其他玩家的精灵始终面向正确的方向关于他们的运动。
我已经为这个问题做了几个解决方案,涵盖了大多数情况,但是在测试其他东西时,我们总是最终注意到精灵有时会面对错误的方向。所以我想知道是否有人有答案、逻辑和解决这个问题的方法。
我尝试过的东西:
- 将一个游戏对象添加到所有精灵评估其距离变化并根据该信息确定其朝向的相机。 (这导致玩家有时会在摄像机移动时不规律地翻转,他们也在移动,因为有时他们可能移动得更慢,尽管向左移动,但摄像机从右侧接近并翻转他们)
- 向世界添加一个游戏对象,让所有精灵都有一个固定点,它们可以测量它们的距离变化,因此也知道要面对的方向(这比往常效果更好知道他们必须面对的方向,但是一旦玩家颠倒,一切都会倒转)
- 向其他玩家发送我是否倒立,以便在我倒立的情况下尝试重新反转上述解决方案。 (我找不到一个好的方法来做到这一点,这让我想到这一定是一个人们已经解决过很多次的问题,也许有人知道一个好的解决方案。)
谢谢大家的意见。
我似乎找到了解决此问题的有效方法。请记住,我不想让服务器参与其中,我宁愿让每个精灵都知道它的方向,而不是让一些沉重的东西试图确定这个逻辑,我想出了以下解决方案。可能不是最好的,但它确实有效。仍然非常想听听其他解决方案。
在我的主角身上我有一个开关盒,它会根据玩家在世界中的轮换而变化。无论如何,我需要这个开关盒来解决 (http://answers.unity3d.com/questions/1348301/trying-to-change-the-cameratransparencysortaxis-to.html?childToView=1348316#answer-1348316) 这个问题。
随着情况的变化,我只是将我希望精灵与它们的距离进行比较的游戏对象放置在 4 个位置中的 1 个位置。 YPos、YNeg、XPos、XNeg。这意味着精灵现在根据根据玩家位置放置的游戏对象确定其面向方向。无需将其放在相机上。
如果在进一步的游戏测试中这给我带来麻烦,我会更新,但到目前为止它在我需要的所有情况下都有效。
仍然非常愿意听到这个问题的其他解决方案。
谢谢。