新手求助,如何实现一个敌人检测周围是否存在另外的敌人
unity3d吧
全部回复
仅看楼主
level 2
我的想法是,假如我有一个士兵,当他在移动状态中或者待机状态下检测到敌人进入视野范围就会将状态变成待机,如果敌人进入攻击范围则进入攻击状态。
我使用的方法是利用碰撞检测,当敌人进入一个圆形的范围便会加入他的标签到集合中,通过判断标签是否为Enemy来实现功能,代码如下,这个函数在Update调用,detectionRadius是圆半径范围,enemyLayer是图层,但实际运行发现,hitColliders始终为null,请问是为什么,如果大佬们有更好的办法,麻烦您告诉我,谢谢
2024年08月10日 08点08分 1
level 8
1.用碰撞层而不是图层
2.2d的话用physics2D
3.实际上如果你这边无视遮挡的话 你不需要做碰撞判定 而是计算距离即可
4.不要用CompareTag 在碰撞矩阵里面设置好该碰撞的东西
2024年08月10日 12点08分 2
好的,这就去试试,谢谢
2024年08月10日 12点08分
level 7
用触发器或者距离检测
2024年08月14日 05点08分 3
谢谢 已经使用physics解决了
2024年08月14日 05点08分
level 4
请问楼主是自学的unity吗
2024年08月18日 04点08分 4
1