Producto escalar de dos vetores.
The dot product is a float value equal to the magnitudes of the two vectors multiplied together
and then multiplied by the cosine of the angle between them.
For normalized vectors Dot returns 1 if they point in exactly the same direction,
-1 if they point in completely opposite directions and zero if the vectors are perpendicular.
// 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!"); } }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Transform other; void Update() { if (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!"); } } }