ベクトルの 2 乗の長さを返します(読み取り専用)
The magnitude of a vector v
is calculated as Mathf.Sqrt(Vector3.Dot(v, v)). However, the
Sqrt calculation is quite complicated and takes longer to execute than the normal arithmetic
operations.
Calculating the squared magnitude instead of using the magnitude property is much faster -
the calculation is basically the same only without the slow Sqrt call. If you are using
magnitudes simply to compare distances, then you can just as well compare squared magnitudes against
the squares of distances since the comparison will give the same result.
See Also: magnitude.
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Transform other; public float closeDistance = 5.0F; void Update() { if (other) { Vector3 offset = other.position - transform.position; float sqrLen = offset.sqrMagnitude; if (sqrLen < closeDistance * closeDistance) print("The other transform is close to me!"); } } }