Unity 中的鍵盤輸入
Namespace:UnityEngine
類型: TouchScreenKeyboard
雖然 HoloLens 支援許多形式的輸入,包括藍牙鍵盤,但大部分的應用程式都無法假設所有使用者都有可用的實體鍵盤。 如果您的應用程式需要文字輸入,則應該提供某種形式的螢幕小鍵盤。
Unity 提供 TouchScreenKeyboard 類別,可在沒有可用的實體鍵盤時接受鍵盤輸入。
Unity 中的 HoloLens 系統鍵盤行為
在 HoloLens 上, TouchScreenKeyboard 會利用系統的螢幕小鍵盤,並在 MR 應用程式的音量檢視上方直接重迭。 此體驗類似于在 HoloLens 的內建應用程式中使用鍵盤。 請注意,系統鍵盤會根據目標平臺的功能運作,例如,HoloLens 2上的鍵盤支援直接手部互動,而 HoloLens (第 1 代) 上的鍵盤則支援 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 開發旅程,您就正在探索Mixed Reality平臺功能和 API。 您可以從這裡繼續任何 主題 ,或直接跳到在裝置或模擬器上部署您的應用程式。