Version: 5.4

Handles.DrawAAPolyLine

Switch to Manual
public static void DrawAAPolyLine (params Vector3[] points);
public static void DrawAAPolyLine (float width, params Vector3[] points);
public static void DrawAAPolyLine (Texture2D lineTex, params Vector3[] points);
public static void DrawAAPolyLine (float width, int actualNumberOfPoints, params Vector3[] points);
public static void DrawAAPolyLine (Texture2D lineTex, float width, params Vector3[] points);

Parameters

lineTex @param lineTex AA текста, используемая для отображения. Чтобы получить эффект сглаживания, используйте текстуру с 1х2 пикселями с одним прозрачным белым пикселем и одним непрозрачным белым пикселем.
width @param center Центр круга.
points @param points Список точек, откуда будет строится линия.

Description

Рисует сглаженную линию, указанную массивом точек и шириной.

Важно: Используйте HandleUtility.GetHandleSize если вам нужны маркеры постоянного размера.


Anti-aliased line in the Scene View.

The following example uses DrawAAPolyLine to draw a line between a number of objects 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.DrawAAPolyLine( positions ); } }

...and attach the following script to a GameObject in the Scene. Drag and drop GameObjects onto the GameObjects array inspector, corresponding to the GameObjects you would like to see the line drawn between:

using UnityEngine;

[ExecuteInEditMode] public class DrawConnectedLine : MonoBehaviour { public GameObject[] GameObjects; }