在 Unity 中,碰撞事件是通过 OnCollisionEnter 函数来处理的。当游戏对象与其他物体发生碰撞时,会调用该函数。

如果你只想在与'主探针04'物体发生碰撞时执行代码,可以在函数内部加入一个条件判断,只有当碰撞物体的名称为'主探针04'时才执行相应的代码。如果碰撞物体的名称不是'主探针04',则不会执行任何代码。

private void OnCollisionEnter(Collision collision) 
{ 
    if (collision.gameObject.name == '主探针04') 
    { 
        Di.Play(); // 调用探针与标准球碰撞音效; 
        Debug.Log('定位成功'); 
        校准提示框.gameObject.SetActive(true); // 显示提示框信息; 
    } 
} 

你提到碰撞其他物体也会调用该函数,可能是因为其他物体的名称也是'主探针04',导致条件判断始终为真。请确认其他物体的名称是否正确,并根据需要进行修改。

Unity 代码:仅当与特定物体碰撞时执行代码

原文地址: https://www.cveoy.top/t/topic/qsjQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录