最近学习的时候遇到不触发碰撞检测的问题,搜了很多都不是,后来还是没有解决,不过我有另一个解决的方案
先说一下碰撞的条件:
两个都是碰撞器,其中一个有刚体
碰撞器勾选is Trigger
方法:
第一步:把2D碰撞器都换成3D的(什么形状碰撞器都行)
第二步:把OnTriggerEnter2D()换成OnTriggerEnter()
第三步:是我之前代码问题
本来我的代码是这样的:
private void OnTriggerEnter2D(Collider other)
{
if (other.tag == "Player")
{
Debug.Log("碰撞成功");
audio.PlayOneShot(auexp);//播放爆炸声音
}
}
other.tag不能触发
改成other.gameObject.CompareTag("Player")
private void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Player"))
{
Debug.Log("碰撞成功");
audio.PlayOneShot(auexp);//爆炸声音
//instantiate(exp, transform.position, transform.rotation);//爆炸动画
//destroy(this.gameobject);
}
}
然后就正常检测啦文章来源:https://www.toymoban.com/news/detail-596995.html
希望能帮助到你们文章来源地址https://www.toymoban.com/news/detail-596995.html
到了这里,关于【学习笔记】Unity ontriggerenter2d不触发问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!