ue3d自定义Unity编辑器窗口和菜单

自定义Unity编辑器窗口和菜单

分类:
ue3d - 自定义Unity编辑器窗口和菜单

在本教程中,3D天堂将介绍如何在Unity编辑器中创建自定义的编辑器窗口,就像Unity中的其他内置编辑器窗口一样,可以自由的摆放撕下,当然你也可以创建其他的自定义编辑器窗口,可以为这些窗口提供自定义的用户界面。

创建自定义编辑器窗口的步骤

  • 创建建脚本,通过目标菜单资产 → 创建 → C#脚本,示例脚本如下所示。
    • 该脚本必须继承自EditorWindow类。
    • ShowWindow()方法将允许它显示在编辑器中,MenuItem属性提供窗口的路径或层次结构。
using UnityEditor;

public class MyCustomWindow : EditorWindow
{
    // provide the menu/menu item
    // This will add My Custom Window menu item in Window Menu
    [MenuItem("Window/i3dtt Custom Menu")]
    public static void ShowWindow()
    {
        EditorWindow.GetWindow(typeof(MyCustomWindow));
    }
}

现在可以在编辑器中看到菜单项

ue3d - 自定义Unity编辑器窗口和菜单

这里也可以提供菜单名称,如下所示。

[MenuItem("3D/i3dtt Custom Menu")]

这将显示如下名称。

ue3d - 自定义Unity编辑器窗口和菜单

现在创建自定义窗口,打开它并使用任何其他窗口调整其在UI中的位置。

ue3d - 自定义Unity编辑器窗口和菜单

现在将为编辑器窗口添加GUI代码。

using UnityEditor;
using UnityEngine;

public class MyCustomWindow : EditorWindow
{
    float scale = 1.0f;

    // provide the menu/menu item
    // This will add My Custom Window menu item in Window Menu
    [MenuItem("Window/i3dtt Custom Menu")]
    public static void ShowWindow()
    {
        EditorWindow.GetWindow(typeof(MyCustomWindow));
    }
    
    private void OnGUI()
    {
        //Label
        var style = new GUIStyle(GUI.skin.label);
        style.alignment = TextAnchor.MiddleCenter;
        style.fontStyle = FontStyle.Bold;
        EditorGUILayout.LabelField("i3dtt Customize Objects", style, GUILayout.ExpandWidth(true));

        GUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Scale: ");
        scale = EditorGUILayout.FloatField(scale);
        GUILayout.EndHorizontal();

        if(GUILayout.Button("Apply"))
        {
            foreach (GameObject obj in Selection.gameObjects)
            {
                obj.transform.localScale = new Vector3(scale, scale, scale);
            }
        }
    }
}

现在设置已经完成。

接下来可以测试上面的脚本,无需运行Unity项目来测试编辑器脚本。

ue3d - 自定义Unity编辑器窗口和菜单

注意

在Assets目录下创建Editor文件夹,并将所有编辑器脚本放在该文件夹中,但此步骤是可选的,editor文件夹的优点是其中的脚本不会包含在构建中,可以在不同位置的资产目录中创建多个编辑器文件夹。

以上是3D天堂关于在Unity中自定义编辑器窗口和菜单的全部内容,如果你有任何反馈,请随时在本页面下方留言。

相关信息

  • 类型:知识
  • 字数:397
  • 字符:2360
  • 适用软件:Unity
  • 说明:无
  • 编号:156764

热门内容

提示:3D天堂作为服务提供者,尊重网络版权及知识产权,对某些行为的发生不具备充分的监控能力,若无意间侵犯到您的权利,请 联系我们,我们会在收到信息后尽快给予处理。

本站文章版权归本站自创作者所有,未经允许不得转载!