Unity 3d碰撞检测

Unity 3d collision detection

几周来我一直在焦头烂额,只是想检测一个刚体和一个盒子对撞机之间的碰撞,该碰撞体与一个与相机相连的聚光灯相连,我想检测玩家何时闪光他们的手电筒在某处,但由于某种原因,这不起作用。

我认为它根本没有检测到碰撞,变量“test”没有改变,控制台中也没有出现任何东西,我确信手电筒的碰撞箱足够大,但控制台仍然没有给出任何指示发生任何事情,我正在学习本教程:https://www.youtube.com/watch?v=QRp4V1JTZnM

这是我编写的简单代码:

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

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