前情提要一下,MINIS插件在性質上是基於Unity的新Input System,因此可以有兩種大方式來取得MIDI裝置的輸入。
<aside> <img src="/icons/warning_yellow.svg" alt="/icons/warning_yellow.svg" width="40px" />
注意!Input System不能新舊同在
只要使用新的Input System,舊的就會變得不能用,因此舊專案要小心安裝,往後如果有找到的話會再更新如何同時維持新舊。
</aside>
使用Input Actions Map,可以在一個介面內有效的管控各方面輸入。
<aside> <img src="/icons/warning_yellow.svg" alt="/icons/warning_yellow.svg" width="40px" />
但程式(C#)較難取得輸入(更細來說無法用if文去知道目前是什麼輸入),若想達到每(某)一個按鍵有特定的功能,則程式較難用這個方式抓到按鍵。
因此在此系列我們不會示範此方法。
※ March 17, 2025 更新驗證:新的InputSystem 可以與舊的同在,須經由設定,在此不多做說明。
</aside>


在C#內宣告Input Action,可以針對功能而去宣告輸入。
<aside> <img src="/icons/info-alternate_gray.svg" alt="/icons/info-alternate_gray.svg" width="40px" />
基本上會使用此方法來撰寫功能。
基本上與上述的第一種方式有同樣的效果和類似的介面,因此會使用此方式為主。
</aside>
以下為範例程式碼
using UnityEngine.InputSystem;
public class MINIS_Example : MonoBehaviour
{
public InputAction Pad1 = null;
}
大致可以做到下面效果

<aside> <img src="/icons/info-alternate_gray.svg" alt="/icons/info-alternate_gray.svg" width="40px" />
後續說明的例子中,無論要用在哪邊,基本上都會需要此章節「插件使用基底」會介紹的內容。
</aside>
以下以第二種方式說明基底的建構步驟。
在Hierarchy(樹狀圖、階層視窗)右鍵 → Create Empty建立空物件 → 命名(以易懂為原則,在此的取名與腳本名稱相同)

建立一個新的C#腳本,在此建立了一個名為MIDI_Process的C#腳本。
<aside> <img src="/icons/warning_yellow.svg" alt="/icons/warning_yellow.svg" width="40px" />
注意!命名要小心!
Unity中,C#腳本的檔名會直接當作腳本的類別(class)名稱,換句話說,腳本的類別(class)名稱與C#腳本的檔名必須相同。
即:


此兩地方的名稱要相同,否則Unity抓取不到腳本
</aside>
並且套用在剛剛的空物件上。