红色更大的敌人为BOSS,如果BOSS只是稍远于小怪的话,主角会优先攻击BOSS
按照这个思路,我们还可以将怪物的强度、健康程度都纳入计算范围,可以让玩家角色优先攻击更弱的或更容易击*的单位。这些都看设计者具体需求,不多赘述。
镜头视野
经过上述计算后,玩家角色会攻击一个计算后的距离最近的目标,但却可能出现这个问题:游戏中镜头偏平视,距离角色也比较近,玩家明明看到前面5米有个目标,按下普通攻击按钮期待着攻击这个单位,结果角色突然180度转身攻击了后方一个距离2米的原本看不到的敌人。虽然这符合上述的逻辑,但不符合玩家的预期。
所以在上述的逻辑中,我们还需要考虑到镜头的视野。一般来讲,我们让游戏镜头可以看到的单位享有更高的优先级即可,与上述怪物性质规则一致。比如在镜头外的目标在进行距离计算时为1.1,那镜头外的目标除非明显比镜头内的目标更近,否则都会攻击镜头内的目标。
但是依然会存在一些问题,尽管运用了上述规则,但角色始终可能攻击镜头外的一个目标。并且镜头本身其实还有另一个问题,那就是目标位置相对于角色位置不太合理的话,比如目标在镜头边缘,我们攻击时观感并不舒服。那么我们就需要镜头旋转到合适的角度,以解决这2个问题。
这时候我们需要改变镜头三样参数,水平旋转角度、垂直旋转角度、与目标锚点的距离。
这三个参数可以让镜头在一个合适而又舒服的位置来观看角色攻击目标,但如果角色攻击所有目标都需要镜头旋转,又会使得镜头晃动过于频繁。
因为每款产品在这方面设计都各有特色,鱼骨头在此就只提几个常用设计。
在某些游戏中,如下图所示,用角色位置、镜头水平朝向构建出了一个二维坐标系。如果目标在1、2象限,则镜头不会水平选择;在3,4象限则会水平旋转。这是一种比较简单的设计思路,即攻击“镜头前方”的目标,前后的判断是基于主角。
角色攻击基于镜头朝向的“后方”单位时镜头会转向
角色攻击基于镜头朝向的“前方”单位时镜头不会转向
示意图,数字为象限
另外一种设计也较为通用,那便是其实每次攻击系统都会尝试改变镜头参数。他们会尝试镜头改变到一个合理的位置,让主角和目标都处于镜头的中心区域,这个中心区域的确定就需要使用到三分法的理论。三分法简单说就是把镜头分成一个九宫格,角色和目标在三分线交叉点上为最佳,两线位置次佳,如下图所示。篇幅所限就不细致讲解三分法了。