Gizmos.DrawRay
Declaration
public static void DrawRay(Ray r);public static void DrawRay(Vector3 from, Vector3 direction);Параметры
| Параметр | Описание |
|---|---|
| от | Начальное положение луча в мировом пространстве. |
| направление | Вектор в мировом пространстве, определяющий направление и длину луча. Величина этого вектора определяет длину рисуемого луча. |
| r | Структура Ray с началом и направлением отрисовываемого луча. |
Описание
Рисует луч, начинающийся в указанной позиции from и продолжающийся в заданной direction в представлении Scene.
DrawRay — это метод, используемый для визуальной отладки в Unity Editor. DrawRay отображает сегмент линии в представлении Scene. DrawRay полезно для визуализации лучевой проекции, направлений или векторов в вашей сцене.
Линия рисуется с использованием текущего цвета Gizmos, который может быть установлен с помощью Gizmos.color перед вызовом DrawRay. Линия рисуется с использованием текущей матрицы Gizmos, которая может быть установлена с помощью Gizmos.matrix перед вызовом DrawRay.
Как правило, вы будете использовать этот метод в MonoBehaviour.OnDrawGizmos или MonoBehaviour.OnDrawGizmosSelected функциях в ваших MonoBehaviour скриптах, или в методе с атрибутом DrawGizmo. Как и все Gizmos, это инструмент только для редактора и не должен использоваться для функционирования игры. Этот метод не имеет эффекта в GameView или во время выполнения. Если вы хотите нарисовать аналогичные формы во время выполнения, см. Debug.DrawLine.
Сегмент линии учитывает 3D пространство и перспективу сцены, включая глубину и окклюзию другими объектами. Он также учитывает альфа-канал цвета Gizmos, позволяя полупрозрачные линии, а также преобразование Gizmos.matrix.
using UnityEngine;
public class RayGizmoExample : MonoBehaviour { public Vector3 direction = Vector3.forward; public float length = 5f; [Range(0f, 1f)] public float alpha = 0.75f;
private void OnDrawGizmos() { // Set the color with custom alpha. Gizmos.color = new Color(0f, 1f, 0f, alpha); // Green with custom alpha
// Draw the ray. Gizmos.DrawRay(transform.position, direction.normalized * length);
// Draw a sphere at the end of the ray. Gizmos.DrawSphere(transform.position + direction.normalized * length, 0.1f); } }
Дополнительные ресурсы: ,MonoBehaviour.OnDrawGizmos,, ,MonoBehaviour.OnDrawGizmosSelected,, ,DrawGizmo,, ,Gizmos.color,, ,Gizmos.matrix,.