更新於 2023/02/02閱讀時間約 3 分鐘

Unity Editor | MenuItem的介紹與使用

前言

  有一段時間沒有寫作了,最近在忙自己的作業,我需要設計一份完全屬於我的作品,之後會考慮放上方格子撰寫成文章,這篇文章是研究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了,需要更多內容可以等之後更新,或自行查詢資料。

參考資料

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.