首页 > 解决方案 > Unity 3d 碰撞检测

问题描述

几个星期以来,我一直在扯头发,只是试图检测 RigidBody 和 BoxCollider 之间的碰撞,该碰撞与绑定到相机的聚光灯上,我想检测玩家何时在某物上闪烁手电筒,但是对于某些原因这不起作用。

我认为它根本没有检测到碰撞,变量“test”没有改变,控制台中什么也没有出现,我确信手电筒碰撞箱足够大,但控制台仍然没有任何迹象表明发生了任何事情,我是遵循本教程:https ://www.youtube.com/watch?v=QRp4V1JTZnM

这是我制作的简单代码:

void OnCollisionEnter(Collision col) {
    if (col.gameObject.name == "Spot_Light") {
        Debug.Log("detected");
        test = 375;
    }
}

标签: c#unity3dcollision-detection

解决方案


如果您在对撞机中标记了触发器,则不能使用OnCollisonEnter来检测碰撞,而应使用OnTriggerEnter


推荐阅读