在资源目录下的Editor文件夹下的脚本。
引用UnityEditor并继承Editor类
[MenuItem("MyEditor/MyFunction")]
放在静态方法的前面,在上面的菜单栏会出现MyEditor选项,点击下选项中的MyFunction会执行相应的静态方法
using UnityEngine;
using UnityEditor;
public class MyEditor : Editor {
[MenuItem("MyEditor/SelectHierarchyGameObject")]
static void SelectHierarchyGameObject() {
//Hierarchy(游戏场景)中的游戏物体
GameObject[] selects = Selection.gameObjects;
for (int i = 0; i < selects.Length; i++) {
Debug.Log(selects[i]);
}
}
[MenuItem("MyEditor/SelectProjectGameObject")]
static void SelectProjectGameObject() {
//Project中的文件
Object[] selects = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
for (int i = 0; i < selects.Length; i++) {
Debug.Log(selects[i]);
}
}
}
#补充:2017年3月2日 18:35:38
扩展窗口的方法添加快捷键
[MenuItem("MyEditor/MyFunction #&%A")]
static void SelectHierarchyGameObject(){}
#:Shift
&:Alt
%:Ctrl
//按下Shift+Alt+Ctrl+A键也会调用SelectHierarchyGameObject方法
#补充:2018年8月10日 16:47:59
弹出提示窗
UnityEditor.EditorUtility.DisplayDialog("Error", "提示窗内容", "确认");
本文介绍如何在Unity中创建自定义编辑器菜单,包括如何使用脚本引用UnityEditor命名空间,继承Editor类,以及如何通过[MenuItem]属性在菜单栏中添加功能项。此外,还介绍了如何为自定义菜单项添加快捷键,并提供了弹出提示窗口的方法。
611

被折叠的 条评论
为什么被折叠?



