layout: post
title: Unity ugui非常不友好!自定义控件创建流程。
key: 201905232043
tags: unity ugui
刚接触unity ugui,以下几点非常不友好
- 好的工具软件都有顺手的快捷键,为有如此编辑过程才能如行云流水,一挥即就。万万没想到!Unity居然没有创建控件的快捷键。目前都要从Hierarchy窗口右键->UI,或者菜单GameObject->UI创建控件。
- 很多控件不需要勾选raycastTarget。但默认创建的控件默认勾选raycastTarget。而选了raycastTarget的控件,会参与摄像机的UI事件计算。所以为了避免不必要的消耗,我们在每次创建控件后,都要手动关闭该选项。
- 各个游戏项目可能使用了各自的非默认字库。但默认的Text,使用了Arial.ttf字库。所以每次创建后,都要重新选择字库。
有如下几个方法解决上面问题
- 查看UnityEditor.UI是否允许设置自定义控件的创建过程
- 修改ugui源码。使用它满足我们项目的要求
- 覆盖创建控件的菜单命令
创建控件的代码在ui/UnityEditor.UI/UI/MenuOptions.cs1,我详细看了一下,未发现有可以委托创建控件的设定,即方法1不可行。修改源码的做法不够通用,实在办法时再来考虑方法2。而方法3比较容易实现.
定义菜单命令,