我正在制作一个赛车游戏,我已经在地图上创建了一些点,你必须通过它才能完成一圈。
可悲的是,当玩家通过第一部分时,它没有表明它,因此无法通过另一部分。
我正在使用OnCollisionEnter()
但是在这些点上激活了IsTrigger,以便它们没有碰撞。
我甚至添加Debug.Log("");
来检查它是否确实有效,但在控制台中不会显示任何内容。这是汽车中的碰撞代码:
function OnCollisionEnter(col: Collision) {
... never gets to here
}
注意:请不要告诉我切换到C#,因为 JavaScript(UnityScript)正在删除,我很清楚。
答案 0 :(得分:2)
我相信你的基本问题是你应该使用
void OnTriggerEnter
而不是OnCollision调用。
这是一件烦人的事情......
http://docs.unity3d.com/Manual/CollidersOverview.html
将解决您的问题。向下滚动到:
您必须熟悉这一点,才能使用Unity。这很痛苦。
要获得SO的答案,对于此类问题的具体案例,您需要提供以下八个问题的答案:
" CAR"
刚体? /运动开启还是关闭? /对撞机? /触发器开启或关闭?
在" WALL"
刚体? /运动开启还是关闭? /对撞机? /触发器开启或关闭?