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”上
刚体? / 运动开启或关闭? / 对撞机? / 触发器开还是关?
我正在制作一款赛车游戏,我在地图上创建了点,您必须通过这些点才能完成一圈。
可悲的是,当玩家通过第一部分时,它并没有显示出来,因此无法通过另一部分。
我正在使用 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”上
刚体? / 运动开启或关闭? / 对撞机? / 触发器开还是关?