找回密码
 立即注册
查看: 256|回复: 0

unity碰撞触发物体检测销毁

[复制链接]
发表于 2022-10-8 10:26 | 显示全部楼层 |阅读模式
触发检测和碰撞检测都可以检测到两个物体是否发生接触,但是有一些区别,比如碰撞发生时,两个物体会模拟物理效果,会弹开等等,但触发发生时,运动的物体会直接穿过对方。
触发检测的函数
    // 开始接触
      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);
        }
    }
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-15 10:25 , Processed in 0.090671 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表