Рисует линию через список всех точек (/points/).
Важно: Используйте HandleUtility.GetHandleSize если вам нужны маркеры постоянного размера.
PolyLine that connects all the objects in the Scene view.
The following example uses DrawPolyLine to draw a line between a number of GameObjects in the Scene view.
To use this example, save the following script in the Assets/Editor folder:
using UnityEngine; using UnityEditor;
[CustomEditor(typeof(DrawConnectedLine))] public class DrawConnectedLineEditor : Editor { // Draw lines to the connected game objects that a script has. // if the target object doesnt have any game objects attached // then it draws a line from the Last checked object to 0,0,0
void OnSceneGUI() { DrawConnectedLine t = target as DrawConnectedLine;
if (t == null || t.GameObjects == null) return;
Vector3[] positions = new Vector3[t.GameObjects.Length];
for (int i = 0; i < t.GameObjects.Length; i++) { if (t.GameObjects[i] != null) positions[i] = t.GameObjects[i].transform.position; else positions[i] = Vector3.zero; }
Handles.DrawPolyLine(positions); } }
...and attach the following script to a GameObject in the Scene. Drag and drop GameObjects onto the GameObject's array inspector, corresponding to the objects where you would like to see the line drawn between:
using UnityEngine;
[ExecuteInEditMode] public class DrawConnectedLine : MonoBehaviour { public GameObject[] GameObjects; }