我想给大家推荐一个学习交流群。 点击下方加入。
这个怪物从重生点找到了路unity 攻击判定unity 攻击判定,走了很长一段时间,直接被我的普攻击杀了。 我可怜了它三秒钟。 这是一个显而易见的判断。 它就在我面前,而且离我很近,所以我只要按一下按钮就会攻击它。 它肯定会成功,因为它满足我们的算法。 好啦贴图笔刷,我们来看看具体的原理和实现。 首先我们先计算一下攻击范围,也就是说,经过我的攻击范围之后,我们才能判断它是否在我的前面。 可能有人想和我争论。 先算角度,再算距离。 但这显然是不可能的。 我们必须先计算距离,然后计算角度。 那么该怎么做呢?
基本攻击逻辑:首先需要一个集合来保存所有需要攻击的怪物。 那么我们首先遍历场上所有的怪物,然后确定距离和角度。 将符合条件的放入集合中,然后遍历集合,调用一次受伤的函数。 具体如何判断距离和角度? 这个很简单UI界面,需要使用unity自带的函数Vector3.Distance和Vector3.Angle; 代码如下:
代码中有注释,问题应该不大。 这里就说说爆发力吧。 我这样做只是为了让效果看起来更好一些,因为我写的是范围攻击,希望能有击退和击退效果。 所以利用了刚体的爆发力函数。 效果还是不错的。 以上就是攻击判定的内容。 不喜欢就别喷!