Reflect(Vector3, Vector3)
Reflects a vector off the plane defined by a normal vector.
Read time 1 minuteLast updated 4 days ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.CoreModule
public static Vector3 Reflect(Vector3 inDirection, Vector3 inNormal)
Parameters
Returns
Type | Description |
|---|---|
| Vector3 | The reflected vector. It has the same magnitude as |
Remarks
This method calculates the reflection vector using the following formula:
B = A − 2 × N × A ⋅ N
where A is the incoming vector and N defines the normal (perpendicular) vector of the reflection plane.
The returned value is a vector of equal magnitude to but with its direction reflected.
inDirection
Reflection of a vector off a plane.
Examples
// This example moves a GameObject to the reflected position // of a second object//// To run this example, create two GameObjects at different // positions. In the Editor, assign these GameObjects as the // Original and Relflect Object variables. The reflected object// moves to the reflected position of the original object. using UnityEngine;public class ReflectExample : MonoBehaviour{ public Transform originalObject; public Transform reflectedObject; void Update() { // Makes the reflected object appear opposite of the original object, // mirrored in the y-z plane of the world reflectedObject.position = Vector3.Reflect(originalObject.position, Vector3.right); }}