Version: 5.6

Handles.DrawDottedLine

切换到手册
public static void DrawDottedLine (Vector3 p1, Vector3 p2, float screenSpaceSize);

参数

p1 起点。
p2 终点。
screenSpaceSize 线段长度及其间距的大小(以像素为单位)。

描述

绘制一条从 p1p2 的虚线。


Draw Line in the Scene View.

// 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 object to 0,0,0.

using UnityEditor; using UnityEngine;

[CustomEditor(typeof(ConnectedObjects))] class ConnectLineHandle : Editor { float dashSize = 4.0f; void OnSceneGUI() { ConnectedObjects connectedObjects = target as ConnectedObjects; if (connectedObjects.objs == null) return;

Vector3 center = connectedObjects.transform.position; for (int i = 0; i < connectedObjects.objs.Length; i++) { GameObject connectedObject = connectedObjects.objs[i]; if (connectedObject) { Handles.DrawDottedLine(center, connectedObject.transform.position, dashSize); } else { Handles.DrawDottedLine(center, Vector3.zero, dashSize); } } } }

附加到此手柄的脚本:

using UnityEngine;
using System.Collections;
public class ConnectedObjects : MonoBehaviour
{
    public GameObject[] objs = null;
}