Vector3.Dot 点乘


static function Dot (lhs : Vector3, rhs : Vector3) : float

Description描述

Dot Product of two vectors.

两个向量的点乘积。

Returns lhs . rhs.

返回lhs . rhs。

For normalized vectors Dot returns 1 if they point in exactly the same direction;  -1 if they point in completely opposite directions; and a number in between for other  cases (e.g. Dot returns zero if vectors are perpendicular).

对于normalized向量,如果他们指向在完全相同的方向,Dot返回1。如果他们指向完全相反的方向,返回-1。对于其他的情况返回一个数(例如:如果是垂直的Dot返回0)。

For vectors of arbitrary length the Dot return values are similar: they get larger when the angle between vectors  decreases.

对于任意长度的向量,Dot返回值是相同的:当向量之间的角度减小,它们得到更大的值。

  • C#

  • JavaScript

using UnityEngine;using System.Collections;public class example : MonoBehaviour {public Transform other;void Update() {if (typeof(other)) {Vector3 forward = transform.TransformDirection(Vector3.forward);Vector3 toOther = other.position - transform.position;if (Vector3.Dot(forward, toOther) < 0)print("The other transform is behind me!");}}}
// detects if other transform is behind this object//检测其他变换是否在这个物体的后面var other : Transform;function Update() {if (other) {var forward = transform.TransformDirection(Vector3.forward);var toOther = other.position - transform.position;if (Vector3.Dot(forward,toOther) < 0)print ("The other transform is behind me!");}}


,