Gizmos.DrawLine
Declaration
public static void DrawLine(Vector3 from, Vector3 to);Параметры
| Параметр | Описание |
|---|---|
| от | Начальное положение линии, которая будет нарисована в мировом пространстве. |
| до | Конечное положение линии, которая будет нарисована в мировом пространстве. |
Описание
Рисует линию между двумя точками в представлении Scene.
DrawLine является методом, используемым для визуальной отладки в Unity Editor. Используйте DrawLine для отображения сегмента линии в представлении Scene. DrawLine универсален и может быть использован для визуализации соединений, путей или границ в вашей сцене.
Линия рисуется с использованием текущего цвета Gizmos, который может быть установлен с помощью Gizmos.color перед вызовом DrawLine. Линия рисуется с использованием текущей матрицы Gizmos, которая может быть установлена с помощью Gizmos.matrix перед вызовом DrawLine.
Как правило, вы используете этот метод в MonoBehaviour.OnDrawGizmos или MonoBehaviour.OnDrawGizmosSelected функциях в ваших MonoBehaviour скриптах, или в методе с атрибутом DrawGizmo. Как и все Gizmos, это инструмент только для редактора и не должен использоваться для функционирования игры. Этот метод не имеет эффекта в представлении Game или во время выполнения. Если вы хотите нарисовать похожие фигуры во время выполнения, обратитесь к Debug.DrawLine.
Линия уважает 3D пространство и перспективу сцены, включая глубину и окклюзию другими объектами. Она также уважает альфа-канал цвета Gizmos, позволяя полупрозрачные линии, а также преобразование Gizmos.matrix.
Если вам нужно нарисовать много линий, рассмотрите Gizmos.DrawLineList или Gizmos.DrawLineStrip функции, которые гораздо быстрее, чем повторяющийся вызов этой функции для рисования линий по отдельности.
using UnityEngine;
public class LineGizmoExample : MonoBehaviour { public Transform endPoint; [Range(0f, 1f)] public float alpha = 0.75f;
private void OnDrawGizmos() { if (endPoint == null) return;
// Set the color with custom alpha Gizmos.color = new Color(1f, 1f, 0f, alpha); // Yellow with custom alpha
// Draw the line Gizmos.DrawLine(transform.position, endPoint.position);
// Draw spheres at start and end points Gizmos.DrawSphere(transform.position, 0.1f); Gizmos.DrawSphere(endPoint.position, 0.1f);
// Calculate and display the midpoint Vector3 midpoint = (transform.position + endPoint.position) / 2f; Gizmos.color = Color.red; Gizmos.DrawSphere(midpoint, 0.15f);
// Display the distance float distance = Vector3.Distance(transform.position, endPoint.position); UnityEditor.Handles.Label(midpoint, $"Distance: {distance:F2}"); } }
Дополнительные ресурсы: ,Gizmos.DrawLineList,, ,Gizmos.DrawLineStrip,, ,MonoBehaviour.OnDrawGizmos,, ,MonoBehaviour.OnDrawGizmosSelected,, ,DrawGizmo,, ,Gizmos.color,, ,Gizmos.matrix,.