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

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