Version: 5.5
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);

パラメーター

lineTex レンダリングに使用する AA テクスチャ。アンチエイリアスのかかったエフェクトを作るために透明な白のピクセルと不透明な白のピクセルの 1 x 2 テクスチャを使用します。
width 線の幅
points ラインを構築するためのポイントのリスト

説明

位置の配列と幅で指定したアンチエイリアスのかかった線を描きます。

注意: 画面サイズに対して固定サイズのハンドルを持ちたい場合、HandleUtility.GetHandleSize を使用します。


Anti-aliased line in the Scene View.

以下の例では、シーンビューで複数のオブジェクトの間に 1本の線を描画するために DrawAAPolyLine を使用しています。

この例を使用するには、以下のスクリプトを Assets/Editor フォルダーに保存します。

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); } }

以下のスクリプトをシーンのゲームオブジェクトにアタッチします。間に線を描画したいゲームオブジェクトそれぞれに該当するゲームオブジェクト配列インスペクター上にゲームオブジェクトをドラッグアンドドロップします。

using UnityEngine;

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