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.Reflect

static function Reflect(inDirection: Vector3, inNormal: Vector3): Vector3;
static Vector3 Reflect(Vector3 inDirection, Vector3 inNormal);
static def Reflect(inDirection as Vector3, inNormal as Vector3) as Vector3

Description

Reflects a vector off the plane defined by a normal.

The inNormal vector defines a plane (a plane's normal is the vector that is perpendicular to its surface). the inDirection vector is treated as a directional arrow coming in to the plane. The returned value is a vector of equal magnitude to inDirection but with its direction reflected.


Reflection of a vector off a plane.

	var originalObject : Transform;
	var reflectedObject : Transform;

function Update () { // Makes the reflected object appear opposite of the original object, // mirrored along the z-axis of the world reflectedObject.position = Vector3.Reflect (originalObject.position, Vector3.right); }

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public Transform originalObject;
    public Transform reflectedObject;
    void Update() {
        reflectedObject.position = Vector3.Reflect(originalObject.position, Vector3.right);
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	public originalObject as Transform

	public reflectedObject as Transform

	def Update() as void:
		reflectedObject.position = Vector3.Reflect(originalObject.position, Vector3.right)