扩展Scene视图下的辅助UI
//针对某个组件物体的ui
using UnityEngine;
using UnityEditor;

[CustomEditor(typeof(Camera))]
public class Script_03_09 : Editor {

    private void OnSceneGUI()
    {
        Camera camera = target as Camera;
        if (camera != null)
        {
            Handles.color = Color.green;
            Handles.Label(camera.transform.position, camera.transform.position.ToString());
            Handles.BeginGUI();
            GUI.backgroundColor = Color.red;
            if (GUILayout.Button("click", GUILayout.Width(50)))
            {
                Debug.LogError("click:" + camera.name);
            }
            Handles.EndGUI();
        }
    }
}


图片.png


//常驻Scene视图的辅助ui
[InitializeOnLoadMethod]
static void InitializeOnLoadMethoda()
{
    SceneView.onSceneGUIDelegate = delegate (SceneView sceneView)
    {
        Handles.BeginGUI();
        GUILayout.Label("标题");
        GUILayout.Button("按钮");
        Handles.EndGUI();
    };
}

首页 我的博客
粤ICP备17103704号