Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Vector3.Dot

static function Dot(lhs: Vector3, rhs: Vector3): float;
static float Dot(Vector3 lhs, Vector3 rhs);
static def Dot(lhs as Vector3, rhs as Vector3) as float

Description

Dot Product of two vectors.

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!");
            
        }
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	public other as Transform

	def Update() as void:
		if other:
			forward as Vector3 = transform.TransformDirection(Vector3.forward)
			toOther as Vector3 = (other.position - transform.position)
			if Vector3.Dot(forward, toOther) < 0:
				print('The other transform is behind me!')