Unity2D碰撞无效问题和基本设置

Unity2D碰撞无效问题和基本设置

最近开始学习unity,都是网站上找的一些白嫖的视频资源,然后也买了一些有关unity的比较新的书籍,这不论是视频还是书籍,讲述的内容主要讲的都是untiy3D,可能是因为unity2D功能是近几年才推出完善的,所以相关的书籍和教学内容比较少。对于初学的我来说,获取到合适的3D模型资源浪费时间和精力,所以我就用2D的项目来做一些练习。结果就遇到了设置2D碰撞无法检测的问题。
我所用的unity版本是2019.4.20.flc1(LTS),建立2D项目,但是所参照练习的书籍《Unity2D游戏开发从入门到精通》《unity3D 2D手机游戏开发第二版》包括我学的教学视频,建立的都是3D项目。我按照教学依次设置Box Collider 和RigidBody,设置好触发器,也在相关脚本中写入了OnTriggerEnter方法

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

运行项目后,什么都没有发生,我的子弹正常穿过敌人,碰撞检测没有生效。作为一个初学者,首先我想到的是代码错误,代码内容很少,检测过后没有任何问题,然后我由仔细检查组件是否设置错误,发现也没有错误,最后我想到我建立的是2D项目,应该用2D相关的组件,于是将上述组件都换成了Box Collider2D 和RigidBody2D,当我再次运行后,发现还是没有任何反应,我打开随书赠送的3D项目资源资源,运行正常,碰撞也发生了,可见书上的内容正确无误。可是我想要的2D项目下的碰撞设置问题并没有解决,昨晚我睡觉前,我还在搜“untiy2D碰撞检测无效的问题”,突然看到一个帖子上的一行代码上OnTriggerEnter2D的字样,恍然大悟,我的组件设置为了适应2D项目的组件,但是代码并没有做相应的修改。(代码没有因为修改两个组件报错),于是第二天早上我将上述代码做以下替换:


                
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值