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 輸入欄位來取得使用者輸入。 此外,MRTKHandInteractionExamples 場景中有一個以TouchScreenKeyboard為基礎的實作, (左側有鍵盤互動範例) 。

下一個開發檢查點

如果您遵循我們已配置的 Unity 開發旅程,您就正在探索Mixed Reality平臺功能和 API。 您可以從這裡繼續任何 主題 ,或直接跳到在裝置或模擬器上部署您的應用程式。