自动瞄准系统

  自动瞄准系统是iOS游戏必备的内容,玩家不想使用复杂的右摇杆指向打击敌人,这时候可以为他们提供更加‘人体工程’的选择(很时髦的硬件话语不是吗;)自动瞄准系统。可恶的《枪火战线》!

     我将研究一下自动瞄准系统的应用。

     在PlayerController中有PlayerMove函数,对该函数进行分析:

     该函数是控制人物操作的基本函数,在该函数内修改PC或是手柄的操作。

     一些重要的变量,

  local vector NewAccel;

  local vector NewLookDir;

  local vector TraceHitLoc;

  local vector TraceHitNormal;

  local rotator OldRotation;

  local AntEnemy traceEnemy;

  local float closetTraceEnemyDistance;

  local float  currentTraceEnemyDistance;

  local bool SetAnyTarget;

  由于我现在的能力很牛逼,现在不对这些东西做解释,有一些见名知意;)

     OldRotation=rotation;     //存储一下现在的方向

  NewAccel.X=PlayerInput.RawJoyUp;

  NewAccel.y=PlayerInput.RawJoyRight;    //两者的方向

  NewAccel=Pawn.AccelRate*Normal(NewAccel);    //啊哈,原来半天在搞的是Pawn.AccelRate的方向啊

   

     这时候是我着重考虑的地方,摇杆的使用!

  if(UseGamePadControl)

  {

    if(Abs(PlayerInput.RawJoyLookUp)<0.1&&Abs(PlayerInput.RawJoyLookRight)<0.1)             //看好这可是右摇杆RawJoyLookUp

    {

      NewLookDir=NewAccel;      //人物的前进方向就是当前角色的转向
    }

    else

    {

      NewLookDir.X=-PlayerInput.RawJoyLookUp;

      NewLookDir.Y=PlayerInput.RawJoyLookRight;                         //转动玩家的方向

      NewLookDir.Z=0;                                                                  //Z轴方向不变

    }

  
  }

   算了,再写这篇文章的时候自动瞄准系统我已经写完了。byebye

  

       

                                                                                                                                                                                                                                                                                                                                                    

原文地址:https://www.cnblogs.com/NEOCSL/p/2746806.html