Unity 6.3
0 онлайн 80 гостей 3 в системе
Вход

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