unity中计算向量的模长和归一化向量
计算向量的模长
创建一个cube, 获取position后计算向量的模长
void fun()
{
Vector3 pos = this.transform.position;
// 已开平方计算
float m01 = Mathf.Sqrt(Mathf.Pow(pos.x, 2) + Mathf.Pow(pos.y, 2) + Mathf.Pow(pos.z, 2));
// 已UNITY现成的API计算
float m02 = pos.magnitude;
// 已两向量的距离计算
float m03 = Vector3.Distance(pos, Vector3.zero);
Debug.LogFormat("{0}-{1}-{2}", m01, m02, m03);
Debug.DrawLine(Vector3.zero, pos);
}
向量归一化
void fun()
{
Vector3 pos = this.transform.position;
// 求归一化向量
Vector3 n01 = pos / pos.magnitude;
Vector3 n02 = pos.normalized;
Debug.DrawLine(Vector3.zero, pos, Color.yellow);
Debug.DrawLine(Vector3.zero, n02, Color.red);
}