游戏开发的数学知识(二)背刺高伤害 unity3d
背刺在很多游戏都会涉及到,从背后攻击敌人,敌人会掉大量的HP
玩家可以攻击到敌人的位置可以分为3种情况
面对面 player.forward 和enemy.forward夹角=180°
面对侧 player.forward 和enemy.forward夹角=90°
面对背 player.forward 和enemy.forward夹角=0°
所以我们判断被刺的范围就是0°-90°夹角的范围,角度根据项目需求实现,我用了45°来背后直接刺杀敌人
我们在unity中有玩家和敌人自身坐标系就可以很简单的实现这个需求。
看伪代码
DamageEnemy(){
if(Vector3.Dot(player.forward,enemy.forward)>Mathf.Acos(45°))
damage =99999;
}
本节就到这里,欢迎大家评论指导。