共用方式為


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。 您可以從這裡繼續任何 主題 ,或直接跳到在裝置或模擬器上部署您的應用程式。