Unity 中的鍵盤輸入
命名空間:UnityEngine
類型: TouchScreenKeyboard
雖然 HoloLens 支援許多形式的輸入,包括藍牙鍵盤,但大部分的應用程式都無法假設所有使用者都有可用的實體鍵盤。 如果您的應用程式需要文字輸入,則應該提供某種形式的螢幕小鍵盤。
Unity 提供 TouchScreenKeyboard 類別,可在沒有實體鍵盤可用時接受鍵盤輸入。
Unity 中的 HoloLens 系統鍵盤行為
在 HoloLens 上 ,TouchScreenKeyboard 會利用系統的螢幕小鍵盤,並在 MR 應用程式的音量檢視上方直接重疊。 此體驗類似於在 HoloLens 的內建應用程式中使用鍵盤。 請注意,系統鍵盤會根據目標平臺的功能運作,例如 HoloLens 2 上的鍵盤會支援直接手部互動,而 HoloLens 上的鍵盤則支援 GGV(注視、手勢和語音)。 此外,從編輯器執行 Unity 遠端處理至 HoloLens 時,系統鍵盤將不會顯示。
在 Unity 應用程式中使用系統鍵盤
宣告鍵盤
在類別中,宣告要儲存 TouchScreenKeyboard 的變數,以及用來保存鍵盤傳回字串的變數。
UnityEngine.TouchScreenKeyboard keyboard;
public static string keyboardText = "";
叫用鍵盤
當發生要求鍵盤輸入的事件時,請使用下列命令來顯示鍵盤。
keyboard = TouchScreenKeyboard.Open("text to edit");
您可以使用傳入函 TouchScreenKeyboard.Open
式的其他參數來控制鍵盤的行為(例如設定佔位元文字或支援自動更正)。 如需參數的完整清單,請參閱 Unity 的檔。
擷取具類型的內容
只要呼叫 keyboard.text
即可擷取內容。 您可能想要擷取每個畫面的內容,或只在鍵盤關閉時擷取內容。
keyboardText = keyboard.text;
替代鍵盤選項
除了直接使用 TouchScreenKeyboard 類別之外,您也可以使用 Unity 的 UI 輸入字段 或 TextMeshPro 輸入字段來取得使用者輸入。 此外,MRTK 的 HandInteractionExamples 場景中有一個以 TouchScreenKeyboard 為基礎的實作(左側有鍵盤互動範例)。
下一個開發檢查點
如果您遵循我們制定的 Unity 開發旅程,您正在探索混合實境平臺功能和 API。 您可以從這裡繼續任何 主題 ,或直接跳到在裝置或模擬器上部署您的應用程式。