Unity编辑器扩展(一)

菜单项相关操作

Posted by MagicianJoker on January 1, 2021

菜单项(MenuItem)

自定义菜单选项显示在编辑器菜单栏区

在Asset目录下新建Editor文件夹,然后再目录下新建一个脚本文件

image-20210128154654665

[MenuItem(“”)]方法: “Surprise”编辑器同层级下显示在上面,”/”作层级划分,ComeOnBaby在Surprise的子层级下

tips:(1)脚本引入UnityEditor (2)脚本无需继承自MonoBehaviour (3)方法必须static修饰

在编辑器下点击效果如下:

MenuItem

组件菜单(AddComponentMenu)

将自己所写的脚本添加到Component菜单下面

image-20210128160052147

在Asset目录下新建Scripts文件夹,并在文件夹内新加一个脚本文件

image-20210128160508727

[AddComponentMenu(“”)]方法: “ComponentExtension”将此名字加入到Component子级

(1)在Component菜单栏中找到”ComponentExtension/AddComponentMenu_T”,点击效果如下:

AddComponentMenu

(2)为一个GameObject Add Component选择添加的组件,效果如下:

AddComponentMenu_2

上下文菜单(ContextMenu)

在一个物体组件上添加上下文的菜单,右键点击出现的菜单选择

在AddComponnetMenu例子中继续添加相关代码

image-20210128162325123

[ContextMenu(“”)]方法: “ContextMenu”为显示的方法名字

右键点击相关对应的组件,效果如下:

ContextMenu

必要组件菜单(RequireComponent)

必要组件是在添加该组件的同时需要添加的其他组件,且依赖于这个组件的

在ContextMenu例子中后续添加相关代码

image-20210128163301134

[RequireComponent(typeof())]方法: CharacterController组件

为一个物体添加脚本组件的同时,必要组件也一并添加了上去,且该必要组件不可移除,只有先移除脚本组件,才可以移除必要组件,效果如下:

RequireComponent