计算NPC在你左边还是右边

利用叉乘可以很好的实现这个目的,利用叉乘出来的方向的正负就可以很好的判断在左还是在右。"左手法则",利用左手的四指延NPC方向(叉乘的第一个参数)弯曲指向forward取弯曲得比较少的一边,拇指指向的方向就是叉乘方向。

void Start () {
    Vector3 v = Vector3.Cross(target.position - transform.position,transform.forward);
    Debug.Log(v.y);//正在左,负在右
}


已知Unity是左手坐标系,所以模型物体在xz平面上的叉乘出来相关指标就是y轴的正负了,当目标在右方,由目标方向旋转到forward方向,怎么都是逆时针旋转的路程短吧,所以左手抓出个逆时针,拇指向下对准了y轴负方向吧!所以正就在左咯,反之就右咯。


首页 我的博客
粤ICP备17103704号