Unity Hierarchy面板 添加菜单选项

No.1 给个官方参考链接MenuItem。

No.2 编写如下代码。

    [MenuItem("GameObject/Dosomething", false, 11)]
    static void DoSomething()
    {
        //dosomething
    }

No.3 得到当前选择的对象

    [MenuItem("GameObject/Dosomething", false, 11)]
    static void DoSomething()
    {
        Transform []transforms = Selection.GetTransforms (SelectionMode.Assets);
        Debug.Log (transforms.Length);
    }

No.4 操作选择对象注意事项

Undo操作

  • Undo.RecordObject(s)记录Object的状态
  • Undo.AddComponent 要添加Component的时候使用,可以撤销掉新加的Component
  • Undo.RegisterCreatedObjectUndo 新建Object的时候使用,可以撤销新建的物体
  • Undo.DestroyObjectImmediate 要删除Object的时候使用,可以撤销删除操作
  • Undo.SetTransformParent 修改Transform的Parent的时候使用,可以恢复层次结构
    [MenuItem("GameObject/Dosomething", false, 11)]
    static void DoSomething()
    {
        Transform []transforms = Selection.GetTransforms (SelectionMode.Assets);

        GameObject tg;

        if ((tg = GameObject.Find ("EditorParents")) == null) {
            tg = new GameObject ("EditorParents");
            Undo.RegisterCreatedObjectUndo (tg, "clone a tg");
        }

        for (int i = 0; i < transforms.Length; i++) {
            Undo.SetTransformParent (transforms [i], tg.transform, "Trans");
        }
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、源题QUESTION 1The instance abnormally terminates because ...
    猫猫_tomluo阅读 1,738评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,418评论 19 139
  • 记事本程序展示结果图: 1.建立了一个类Notepad extends JFrame implements Act...
    可乐W阅读 1,863评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 178,072评论 25 709
  • 夜微凉, 半倚阑干, 无处不断肠。 五一不还家, 渐迷离, 清明愁, 再上心头。 只道故乡遥, 假日短, 黄山月,...
    悲歌低吟阅读 262评论 0 0

友情链接更多精彩内容