美文网首页
枪械武器的LineTrace

枪械武器的LineTrace

作者: meta42 | 来源:发表于2016-02-12 16:46 被阅读0次

今天拓展了武器系统,初步实现了无弹道枪械武器,总结如下


一般来说,射击游戏中的枪械武器大致会分两种,有弹道和无弹道,也就是顺发武器与投弹武器

  • 无弹道:通过向确定的射击方向发射一条射线,射线将对接触到的物体捕捉并返回,也就是LineTrace
  • 有弹道:借助物理引擎实现

首先在射击时肯定是需要获取射击方向与射击位置的,由于游戏中玩家观察世界的方式是通过摄像机,摄像机又位于角色的后方,这就必然会牵扯到摄像机与人物在Transform上的一些运算,这些运算主要集中在确定LineTrace的起始点与结束点上

在这些运算过程中,会用到以下变量

  • CD(camear direction) (摄像机当前朝向)
  • CP(camear position)(摄像机当前位置)
  • RP(role position)(角色当前位置)
  • VP(vector projection) (相机到角色的距离在 CD上的投影)
  • SSP(shoot start point)(射击起始点)
  • SEP(shoot end point)(射击结束点)
  • WR(weapon range) (武器射程)

定义好变量以后,就直接上公式了

第一步:求VP
VP = CD * DotProducr(RP-CP, CD)

第二步:求SSP
SSP = CP + VP

第三步:求SEP
SEP = ASP + AD * WR

第四步:LineTrace
LineTrace(SSP , SEP)

相关文章

网友评论

      本文标题:枪械武器的LineTrace

      本文链接:https://www.haomeiwen.com/subject/qdeukttx.html