Vector3.sqrMagnitude 长度平方

var sqrMagnitude : float


Returns the squared length of this vector (Read Only).


Calculating the squared magnitude instead of the magnitude is much faster. Often if you are comparing magnitudes of two vectors you can just compare their squared magnitudes.



using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
	public Transform other;
	public float closeDistance = 5.0F;
	void Update() {
		if (typeof(other)) {
			float sqrLen = other.position - transform.position.sqrMagnitude;
			if (sqrLen < closeDistance * closeDistance)
				print("The other transform is close to me!");

// detects when the other transform is closer than closeDistance
// this is faster than using Vector3.magnitude
var other : Transform;
var closeDistance = 5.0;

function Update() {
	if (other) {
		var sqrLen = (other.position - transform.position).sqrMagnitude;
		// square the distance we compare with
		if( sqrLen < closeDistance*closeDistance )
			print ("The other transform is close to me!");

参见: magnitude.

Page last updated: 2010-12-19