using UnityEngine;
public class Test : MonoBehaviour {
public Vector3 vector;
void Update () {
//向量叉乘
//应用:判断两个兴亮的相对位置
//a叉乘b,如果所得向量的y值小于零,说明b处于a的逆时针方向
//Unity中叉乘向量的方向,使用左右定则
vector = Vector3.Cross(new Vector3(transform.position.x, 0.0f, transform.position.z),
new Vector3(Camera.main.transform.position.x, 0.0f, Camera.main.transform.position.z));
Debug.DrawLine(Vector3.zero, vector * 1000, Color.red);
}
}
//向量点乘
//应用:计算两向量的夹角
float dot = Vector3.Dot(new Vector3(transform.position.x, 0.0f, transform.position.z).normalized,
new Vector3(Camera.main.transform.position.x, 0.0f, Camera.main.transform.position.z).normalized);
angle = Mathf.Acos(dot) * Mathf.Rad2Deg;