[Unity][优化]射击游戏选择碰撞器子弹还是射线检测

当有射击游戏的时候,是射线碰撞检测,还是创建实体子弹碰撞器,来判断是否命中目标

1.选择 射线

发射射线--判断是否是敌人 目标--如果是,调用伤害函数,调用对敌人进行 减少 血量的函数。如果不是,则不对目标进行伤害。

子弹仅为特效,不含碰撞器,判断 发射点到 射线击中的目标的 距离,并计算时间t(l距离/速度s=时间t)。使得子弹特效 在 

t秒后子弹销毁。

2.创建实体子弹碰撞器,用碰撞器来判断 是否命中目标

从枪口的位置 创建 子弹实体(包含碰撞器)--给 子弹实体 添加 刚体力,或者 速度 -- 子弹发射判断 是否命中目标 --调用伤害函数

从优化的角度看,选择 射线检测 占用的资源比较小。

参考资料:

1.在unity中做射击游戏需要"真的"子弹做碰撞吗

2.Does the collider occupy resources?

3.

猜你喜欢

转载自blog.csdn.net/BuladeMian/article/details/81141955