Unity 代码:仅当与特定物体碰撞时执行代码
在 Unity 中,碰撞事件是通过 OnCollisionEnter 函数来处理的。当游戏对象与其他物体发生碰撞时,会调用该函数。
如果你只想在与'主探针04'物体发生碰撞时执行代码,可以在函数内部加入一个条件判断,只有当碰撞物体的名称为'主探针04'时才执行相应的代码。如果碰撞物体的名称不是'主探针04',则不会执行任何代码。
private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.name == '主探针04')
{
Di.Play(); // 调用探针与标准球碰撞音效;
Debug.Log('定位成功');
校准提示框.gameObject.SetActive(true); // 显示提示框信息;
}
}
你提到碰撞其他物体也会调用该函数,可能是因为其他物体的名称也是'主探针04',导致条件判断始终为真。请确认其他物体的名称是否正确,并根据需要进行修改。
原文地址: https://www.cveoy.top/t/topic/qsjQ 著作权归作者所有。请勿转载和采集!