HoloLensで文字を入力する(XAMLのキーボードを呼び出し)
HoloLensアプリをUnityで作成していると文字の入力に困る事があります。
結局、Direct XのD3Dの画面ではキーボードは呼び出すことができないので、XAMLの画面を呼び出すことになるのですが、 TouchScreenKeyboardを使えばそのあたり自動でやってくれます。
UnityのCanvas UIもそのままでは動かないので、無理にUIを使わずに、「TextMeshにアタッチして、Airタップでで切り替え」ができるスクリプトを作りました。
//(InputField .cs) using UnityEngine; using System.Collections; public class InputField : MonoBehaviour { TouchScreenKeyboard keyboard; public static string keyboardText = "Input any"; void OnSelect() { if (keyboard == null) keyboard = new TouchScreenKeyboard(keyboardText, TouchScreenKeyboardType.Default, false, false, false, false, "sample prompting text that goes above the textbox"); else keyboard.active = true; } void Update() { if (keyboard != null && keyboard.active == false) { if (keyboard.done == true) { keyboardText = keyboard.text; keyboard = null; gameObject.GetComponent<TextMesh>().text = keyboardText; } } } }
TextMeshをタップすると、こんな感じのしょぼいXAMLの入力画面が表示されます。
関連ドキュメント
その他、
試してないですが、D3Dで使えるAssetもあるようです。yuujiさんの記事
あとは、音声入力にしちゃうとか・・
- 出版社/メーカー: 日本マイクロソフト
- 発売日: 2016/11/24
- メディア: Video Game
- この商品を含むブログを見る