unity碰撞触发物体检测销毁
触发检测和碰撞检测都可以检测到两个物体是否发生接触,但是有一些区别,比如碰撞发生时,两个物体会模拟物理效果,会弹开等等,但触发发生时,运动的物体会直接穿过对方。触发检测的函数
// 开始接触
void OnTriggerEnter(Collider collider) {
}
// 接触结束
void OnTriggerExit(Collider collider) {
}
// 接触持续中
void OnTriggerStay(Collider collider) {
}碰撞检测的函数
// 碰撞开始
void OnCollisionEnter(Collision collision) {
}
// 碰撞结束
void OnCollisionExit(Collision collision) {
}
// 碰撞持续中
void OnCollisionStay(Collision collision) {
}下方案例代码是挂在主体上,当遇到tag为“des"的物体即可销毁,在被碰撞物体collider中的Is Trigger触发器打开如下图
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class peng : MonoBehaviour
{
// Start is called before the first frame update
private void OnTriggerEnter(Collider other)
{
Debug.Log(other.gameObject.name);
if(other.tag == "des")
{
Destroy(other.gameObject);
}
}
}
页:
[1]