Version: 2022.1

Handles.DrawPolyLine

切换到手册
public static void DrawPolyLine (params Vector3[] points);

描述

绘制一条穿过 points 列表的线。

注意:如果您希望拥有恒定屏幕大小的手柄,请使用 HandleUtility.GetHandleSize

\ 连接场景视图中所有对象的折线。

// Draw lines between selected GameObjects.

using UnityEditor; using UnityEngine; using System.Collections;

[CustomEditor(typeof(DrawPolyLineExample))] public class PolyLineDraw : Editor { private Vector3[] positions;

void OnSceneGUI() { DrawPolyLineExample connectedObjects = target as DrawPolyLineExample; if (connectedObjects.objs == null) { return; }

if (connectedObjects.objs.Length > 0) { positions = new Vector3[connectedObjects.objs.Length]; }

for (var i = 0; i < connectedObjects.objs.Length; i++) { if (connectedObjects.objs[i]) { positions[i] = connectedObjects.objs[i].transform.position; } else { positions[i] = Vector3.zero; } }

Handles.DrawPolyLine(positions); } }

附加到此手柄的脚本:

using UnityEngine;

public class DrawPolyLineExample : MonoBehaviour { public GameObject[] objs; }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961