unity两个物体相撞让另一个物体显现的代码

unity中两个物体相撞后,另一个物体显现的具体代码和全过程

参考一下

也可以这么写:其中一个物体挂的脚本写上碰撞函数:

private void OnTriggerEnter(Collider other)
        {
            other.gameObject.SetActive(true);
        }

初始的时候设置另一个物体隐藏,两个物体添加碰撞器,运动的物体添加刚体,其中一个勾选碰撞器上的isTrigger,碰撞时另一个物体就会显示了,你也可以添加碰撞条件,检测其他物体的名字或者标签是否满足条件再触发


private void OnTriggerEnter(Collider other)
        {
if  (ohter.name=="")
            other.gameObject.SetActive(true);
或者
if  (ohter.tag=="")
            other.gameObject.SetActive(true);
        }
using UnityEngine;

//挂在物体a上
public class Example : MonoBehaviour
{
    //物体b
    [SerializeField] private GameObject b;
    //物体c
    [SerializeField] private GameObject c;

    private void OnCollisionEnter(Collision collision)
    {
        //如果和b相撞
        if (collision.gameObject == b)
        {
            //c显现
            c.SetActive(true);
        }
    }
}

物体A、B都需要Collider碰撞器,并且需要一个Rigidbody刚体。