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刚体。