前言
有一段時間沒有寫作了,最近在忙自己的作業,我需要設計一份完全屬於我的作品,之後會考慮放上方格子撰寫成文章,這篇文章是研究Editor後,想到自己有段時間沒寫作了,這次的文章完全可以創建一個新的系列,我把這一新系列命名為「Unity Editor」,之後有Editor相關也會冠上系列名。
Menu Item (菜單選項)
在我撰寫程式的過程中,我遇到很多「多餘」的測試環節,很多內容似乎可以再更精簡,或是省略更多過程來提升效率,這種情況在程式技藝提升後越來越明顯,在課堂上,我得知了客製化Editor的概念。
自定選單通常使用 「UnityEditor.MenuItem」為核心,請先跟著我的教學進行操作,我最後再一併講解。
01:建置資料夾(Folder)與腳本(Script)
- 在Project→Assets中,新建資料夾「Editor」。
- 於Editor中創建Script,命名為「Example」。
- 複製下列程式,開啟Script後全選貼上覆蓋原有內容。
using UnityEditor;
using UnityEngine;
public class Example
{
[MenuItem("Example/Do Something")]
static void DoSomething()
{
Debug.Log("Doing Something...");
}
}
02. 名詞解釋
- using Unity Editor,取用官方Editor類(class)。
- using Unity Engine,取用官方Engine類(class)。(幾乎所有程式均會用到)
- class Example,創建類(class),Unity某個地方會呼叫它的樣子。
- [MenuItem("")],核心程式碼,()定義路徑,並執行下方的程式,
圖片來源:自己
[MenuItem("Example/Do Something")]
在Unity中,會呈現如旁邊所顯示。
- DoSomething(),點擊路徑最尾端的選單,會運作的函式。
03. 補充
- 創建的Editor資料夾,不會在Build時載入。
- class的名稱與Script的名稱,可以不相同 (MonoBehaviour要相同)
- 一個MenuItem,只能執行一份函式。
- ("")中用「/」寫多少層,就會有多少層。
- 函示必須使用static,不能使用public,Unity會跳訊息。
結語
源本來打算建立應用,後來發現撰寫上面的內容就花費我相當長的時間,所以就停止在這裡,不過這些內容也足夠一名程式員初窺客製化Editor了,需要更多內容可以等之後更新,或自行查詢資料。
參考資料