linux小蜜蜂游戏,Unity 射击游戏的射击思路

散布:一般用在射击类游戏中,表示在瞄准到同一点之后两发炮弹之间的最大距离,为了增加游戏的不确定性因此增加散布词汇。

一般射击游戏中使用射线的方式向确定目标,击发,然后直接通知目标物减少血量或死亡。不具备物理效果和不确定性。可使用射线确定目标物和Hit.Point然后发射物理引擎的子弹,子弹向前碰撞到目标物的碰撞体(注意防止过穿现象),然后判定为命中,再次进行减血。这么做的优点就是能够比较明确的模拟真实的子弹命中。缺点:防过穿做起来优点恶心。

目前比较多的设计类游戏中采用了物理引擎的这种方式,大部分表现中出现射击和命中不是同一时间的基本上都是采用物理引擎计算或者手动计算的方式的。

而且这种方式还可通过在目标点设置跟踪点的方式实现追踪导弹和通过设置重力系数来模拟普通炮弹的下坠和带位移炮弹的下坠等多数不同炮弹下坠所造成的弧线问题都可以通过这种方式模拟。(追踪导弹不用说,时时刻刻向目标点移动,改变位置。)

瞄准方式分两种,1:射击方向指向型,我只管向目标方向发射子弹,下坠速度设定好,由配置文件进行决定。玩家通过自己的经验来自己总结往什么角度射击,类似于CF中的投掷手榴弹,反正我向天上头,至于落哪看经验。

2:终点计算型,通过得到目标点,然后结合下坠速度等计算出子弹轨道,让子弹沿着轨道前进,最终击中目标。参考坦克世界或者守望屁股中的弓箭手。

当然方式2需要设置最大前进距离,例如一枚子弹的最大射程设定为400米,有瞄准对象时,终点为瞄准对象的Hit.Point,无瞄准对象时, 目标点为Hit.direction*400。也就是当前方向的400米外。注意:当目标距离较远时,有可能在子弹击发后目标移动了,造成了目标物不在击发时的目标点了,但是子弹轨道只计算到了原目标点,目标点之后的轨道没有计算,因此这里需要计算目标点之后的轨道。

至此,已完成射击命中的基本逻辑。为了更大的增加趣味性,定义了散布这个词(现实中存在这个词,见上面)。

散布实现方式,前进方向为Hit.Point,散布系数为100米散布系数0.5m,Hit.Point距离为200米,则子弹命中的区域为1米区域,那么一Hit.Point为圆心半径为1的圆内随机取点即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值