一般使用Unity3D主要是用来制作Client内容播放与操作,但制作游戏或任何系统软体,比较少被注意到却很重要的就是编辑或後端工具,虽然 Unity 编辑器本身就很强大且方便了,但有时候还是有些客制化需求,希望能更方便於我们制作及设置游戏,所以Unity的Script除了有运作游戏内容的Runtime Classes之外还有 Editor Classes,它其中一个功能就是可以让我们自订工具列选单,选单命令的动作就像我们平常撰写script 一样,相当方便。 通常我们自己建立的class只要是继承MonoBehaviour,都会自动在工具列中的Component/Scripts出现,如果为class加上、
AddComponentMenu则可以为此class定义它在Component选单内的路径,如下所示:
脚本代码如下
//Javascript
@script AddComponentMenu ("MyScripts/My Unity Script")
class MyUnityScript extends MonoBehaviour {
.....
}
// C#
[AddComponentMenu("MyScripts/My C# Script")]
public class MyCSharpScript : MonoBehaviour{
.....
}
unity3d教程其实Javascript部份的写法不需要特别宣告class继承MonoBehaviour,因为Unity在编译时会自动为Javascript处理这个部份,所以只要在程式档内找个地方插入 AddComponentMenu 那一行就可以了。
这种自订工具列选单的方式只是运用在为物件加入Component,如果我们在编辑游戏时,常有一连串动作需要常常重复操作,此时就能利用Editor Classes的MenuItem另外自订工具列选单做为执行命令,制作重点及步骤如下:
1.在Project视窗任意路径建立名为 Editor 的目录。
2.在Editor目录内建立新的script档。
3.如果是使用C#请记得using UnityEditor;。
4.给工具列选单呼叫的method必须为static。
5.在被呼叫执行的method上一行加入MenuItem,Javascript的写法为@MenuItem(“选单路径字串”),C# 的写法[MenuItem (“选单路径字串”)]
6.视需求为自订选单命令加入快捷键,在[选单路径字]后空一格加入参数字元,% 符号代表Ctrl键,# 符号代表Shift键,& 符号代表Alt键,_ 符号代表无功能键,例如 %&b 代表按住 Ctrl+Alt 再按 B 键可执行此选单命令。
|