VRでプレイヤー名を入力しようと,キーボードを探していました.ところが,見つけたものはSteamVRやVRTKなどのVR用のパッケージに依存した作りになっており,僕が使っている環境への移行がめんどくさそうだと感じてしましました.なので,今回パッケージに依存しないXR用キーボードを開発しました.
導入方法や使い方はREADMEにも書いてありますのでそちらをお読みください.
Oculus Integrationで実装した例が次のものになります.
オリジナルキーボードを作成しました.
物理的なフィードバックが無いので打ちにくい.#unity3d #OculusQuest pic.twitter.com/jYRN4BWpqa— botamochi (@botamochi6277) January 21, 2020
ここからは特徴について語っていきます.
接触判定を利用した簡単な原理
キーボードの各キーがStylus
とタグ付けされたものと接触した時に,キーボートに文字を送っています.ReturnキーやShiftなどの特別なキーは文字ではなく,各キーごとの特別なメソッドを呼び出しています.また,キーを押された時のコールバックを追加できるようにしているので,アプリケーションごとの特別な機能(提出とかリセットとか)を設定することもできます.一方でキーボードにつき30個程度のColliderが入っているので,大量にキーボードを並べてしまうと,処理が重くなる可能性があります.Textを使った簡単なキートップ
キートップの文字はCanvasのTextで書いています.«とか↵も文字で書いています(半角特殊文字).簡単に文字を変えることができ便利です.その一方でのっぺりとした印象になってしまっているので,テクスチャを貼り付けてタイプライター風とかに改造したいと思います.すり抜ける
これはXRの宿命なのですが,指がキーボードをすり抜けます.もともとキーボードが現実世界のインターフェースなので,仮想世界用の最適なインターフェースは別の形になると予想されます.
コメント