我很惊讶我在网上找不到很多关于这个的东西,也许我只是不知道合适的搜索词。
我正在做一个自上而下的赛车游戏,想知道在赛道上跟踪赛车的最佳方式是什么,即在赛道上的任何一个给定点上告诉哪些赛车领先于哪些其他赛车,同时确保完成整个圈数等。航向被定义为一系列外部和内部轨道边界的坐标。
我可以想出两种方法来做到这一点,例如在每个角落都设置检查站,并根据车辆在上一个检查站和下一个检查站之间的位置来获得进展,但这似乎不是特别优雅或健壮有“标准”的方法吗?还是更好的办法?

最佳答案

这是我的建议-它可能不是绝对准确的,但应该足以满足你的需要。
首先,为课程定义一个中心轴——因为你的课程似乎是由一系列的SRIGH段组成的,这可能是与课程边界等距的直线。现在跟踪一条直线上的进展比追踪2D的进展更容易,所以我建议你在中心轴上投射汽车的位置。我认为简单的正交投影在这里最好简单地找到最靠近汽车位置的中心轴线上的点,并用它来跟踪进度。
计算中心轴的总长度,并计算沿中心轴线的总长度直到每个汽车的投影。这会给你汽车的进步。如果总长度为T,距离直到投影为T,则车辆将通过该课程的t/T或该课程的t*100/T百分比。

关于algorithm - 跟踪赛车比赛过程中的进度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14081082/

10-13 04:01