游戏开发的数学知识(二)背刺高伤害 unity3d

背刺在很多游戏都会涉及到,从背后攻击敌人,敌人会掉大量的HP

玩家可以攻击到敌人的位置可以分为3种情况

面对面       player.forward 和enemy.forward夹角=180°

面对侧       player.forward 和enemy.forward夹角=90°

面对背        player.forward 和enemy.forward夹角=0°

所以我们判断被刺的范围就是0°-90°夹角的范围,角度根据项目需求实现,我用了45°来背后直接刺杀敌人

游戏开发的数学知识(二)背刺高伤害 unity3d

我们在unity中有玩家和敌人自身坐标系就可以很简单的实现这个需求。

看伪代码

DamageEnemy(){

if(Vector3.Dot(player.forward,enemy.forward)>Mathf.Acos(45°))

damage =99999;

}

本节就到这里,欢迎大家评论指导。