点积又叫做点乘,叉乘,可以判断对象是否在自己前方后方,或者前方多少度。
var sub = enemy.transform.position - transform.position; var dot = Vector3.Dot(transform.forward, sub); if (dot > 0.5) return true; else return false;
返回的dot是一个1到-1之前的值
下面用一幅图形象化的表示,可以看出当45°时得到的值是0.5或者-0.5
相对于Unity映射的方向是+forward到-forward,即+z到-z
当比较物体正对于right(+x)时,点积结果是0
时间: 2024-11-05 17:21:09