Vector3.Reflect
Declaration
public static Vector3 Reflect(Vector3 inDirection, Vector3 inNormal);Параметры
| Параметр | Описание |
|---|---|
| inDirection | Вектор, который будет отражаться в плоскости. |
| inNormal | Нормальный вектор, определяющий плоскость отражения. |
Описание
Отражает вектор с плоскости, определенной нормальным вектором.
Этот метод рассчитывает вектор отражения с помощью следующей формулы:
B = A − 2 × N × A ⋅ N
где A — входящий вектор и N определяет нормальный (перпендикулярный) вектор плоскости отражения.
Возвращаемое значение представляет собой вектор равной величины inDirection, но с отраженным направлением.
Отражение вектора с плоскости.
// 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); } }