检测汽车何时离开轨道

我对Unity 3D完全陌生,刚开始遵循一些教程。 我正在试图建立一个2D赛车游戏作为我学习的一部分(殴打,没有对手)。 我有一个赛车赛道纹理(重复)。 我的问题是知道赛车何时在赛道之外/赛道内(我不希望将赛道限制在赛道边界内)。

我在四处搜寻后试过的东西:我读了一些关于网格碰撞器的地方:

显然这两种方法根本不叫,有人请帮忙。 谢谢。

我可以想到我的头顶上的三个解决scheme,我会列出他们简单(在我看来):

  1. 您可以检查汽车下面的纹理,并根据被认为是“轨迹”纹理的纹理进行testing,如果不是,
  2. 你可以沿轨道使用触发器,并检查汽车是否至less有一个触发器,在一个或多个触发器意味着它在轨道内,否则它的外面,为此,你将不得不从脚本得到触发器信息绑定到每个空对象与触发器附加到最后一个更大的脚本(例如一种方法)。
  3. 编写一个可以在地形数据中运行的代码,然后检查是否有轨道(可能再次使用纹理),预处理这些数据,并检查汽车相对于预处理数据的位置。

也许这是一个错字,留意大写字母。 你有没有给Trigger分配任何名字?

如果你只是写OnTriggerEnter(){...}OnTriggerExit(){...}它将无法正常工作。 你需要一个碰撞的名字来触发它。 所以例如OnTriggerEnter(Collider2D Player){...}OnTriggerExit(Collider2D Player){...}

如果你这样做,至less应该被称为。