Unity 在赛车游戏圈逻辑中不工作对撞机

Unity not working collider in race game lap logic

我正在制作一款赛车游戏,我在地图上创建了点,您必须通过这些点才能完成一圈。

可悲的是,当玩家通过第一部分时,它并没有显示出来,因此无法通过另一部分。

我正在使用 OnCollisionEnter() 但 IsTrigger 在这些点上被激活,因此它们没有碰撞。

我什至添加了 Debug.Log(""); 来检查它是否真的做了一些事情,但是它 不会在控制台中显示任何东西 。这是车内的碰撞代码:

function OnCollisionEnter(col: Collision) {
  ... never gets to here
}

注意:不要告诉我切换到 C# 因为 JavaScript(UnityScript) 正在被删除,我很清楚这一点.

我相信你的基本问题是你应该使用

void OnTriggerEnter

而不是 OnCollision 调用。

在这种情况下,这件烦人的事...

http://docs.unity3d.com/Manual/CollidersOverview.html

将解决您的问题。向下滚动到:

“碰撞动作矩阵”

您必须熟悉它才能使用 Unity。好痛。

要获得关于 SO 的答案,对于此类问题的特定案例,您需要提供这八个问题的答案:

在“CAR”上

刚体? / 运动开启或关闭? / 对撞机? / 触发器开还是关?

在“WALL”上

刚体? / 运动开启或关闭? / 对撞机? / 触发器开还是关?