こんにちは。ついに今回で1か月ブログ連投チャレンジの最終回ですね。
VR / AR中の入力手法はまだまだ研究段階で、「高速」に「誤入力」なく入力出来、「学習コスト」が低く使える実用段階の入力手法はほとんどありません。未だに、何もない空間に表示されたキーボードを指でタップする方法か、音声認識か、Bluetoothキーボードを使用する場合がほとんどではないでしょうか。。。
音声入力はまだ納得できますが、他の手法はスマートじゃないですよね。VR中だと、物理的なキーボードは、位置をトラッキングしていないと場所が分からなくなるので、現実的じゃありません。指でポチポチタップするのは、入力速度がバリ遅で、誤入力が半端ないので正直使い物になりません。
私は過去の作品である「FFKB」をVR空間に持ち込んでみたいと考えており、VR中の入力手法の既存研究については興味があります。そこで大雑把に調査し、まとめてみようと考えました。
概要
現在の研究として、入力手法は大きく3つに分かれており、「既存のコントローラのボタンを活かした方法」、「既存のVRコントローラのトラッキングを活かした方法」、「自身の体をインタフェースとする方法」があると私は考えます。既存のコントローラとは、HTC VIVE コントローラやPlayStationシリーズのDual Shockなどが考えられます。
1つ目はコントローラの2つのジョイスティック(タッチパッド)が利用されます。
2つ目はコントローラの位置・姿勢を取得して、タップしたり、ポインティングしたり、振ったりして入力します。
3つ目はコントローラを持たなくても入力できる方法です。例えば、自分の手の平をタップしたり、物理的なキーボードを操作するように机をタップする方法などがあります。
それでは、1つずつ研究例とともに見ていきたいと思います。
既存のコントローラのボタンを活かした方法
片手持ち VR コントローラのための日本語入力 UI の提案
1つのコントローラにおける、円形状のタッチパッドを活かした日本語入力方法です。タッチパッドを3*3格子の9分割にして、スマホのようにフリック入力する「Pointing and Flick法」と、9分割しにて母音はコントローラをひねることで表現する「Pointing and Rotation法」、外側の領域に時計状に子音を並べて、内側に4つの母音(い~お)を並べる「Dial and Touch法」の3つが提案されています。
2つ目はトラッキングとのハイブリッドですね。
このうち、日常的なスマホ使いと類似しているPF法が最も入力速度・精度が良かったらしいです。直感通りの結果ですね。日本人にフリック入力式が根付いている証拠でもありそうです。
JoyFlick: フリック入力に基づくゲームパッド向けかな文字入力手法
WISS2020で発表されていた日本語入力手法です。これはNintendo Switchのプロコンにおける、ジョイスティック2つとBボタン、トリガー2つを利用しています。子音は右スティックで「あ~わ」までを選択可能で、左スティックが「あ~お」の母音を担当しています。子音を入力した後に、左のジョイスティックで母音を入力するようです。FFKBの入力方法と似ていますね。
50音キーボードと比較して同じ入力速度に到達したらしいです。50音キーボードってあんまり使わないのでイメージが付きづらいですね。
既存のVRコントローラのトラッキングを活かした方法
VR での画面占有を考慮した文字入力高速化の研究
インタラクション2021で発表されていた、日本入力手法に関する論文です。これは1つのHTC VIVEコントローラのタッチパッドとコントローラの姿勢情報を用いて入力を実現します。提案手法は外側に時計状に子音が配置・内側に時計状に母音(あ~おの5字)が配置されている「Dual Dial法」と、時計状に配置された子音を選択してからコントローラを上下左右に振る「Dial and Direction法」の2つがありました。
後者のDial and Direction法は見た感じ直感的な操作間だと思えましたが、入力速度・誤字の両者においてDual Dial法に劣ったらしいです。個人的には、魔法を唱えるときみたいな感じに楽しく入力できそうだと思い、お気に入りだったのですが。。。
Drum Keys
GoogleのDaydream Labsが提案する入力方法です。wiiリモコンのようなコントローラをドラムのスティックのように振り、キーをたたくようにして入力します。ちまちまポインタでキーを選択するよりは、ドラムのようにテンポよく体を動かして入力するほうが入力制度は上がりそうな気もしますね。
ただ、入力時の疲労感がたまりやすい問題と、空を叩くことによるフィードバックの無さは入力体験を下げる大きな原因となりそうです。
自身の体をインタフェースとする方法
VR環境におけるフリック入力形式インタフェースの開発
VR環境で、コントローラを持たずにフリック(日本語)入力する方法もあるようです。奥行きを活かして、ある一定位置よりも奥に指を持っていくと子音キーが選択でき、キーを長押しすると母音が出てスマホらしいフリック入力が実現できるらしい。ハンドトラッキングにはLeap Motionを使っているので、どのご家庭でも使える代物ですね。
被験者実験の結果によると、入力速度は上がったものの、誤入力率が爆上がりしたそうです。Hapticなフィードバックが得られないとそうなりますよね。あと、腕を上げたままにして、さらに指を立てたままにするのはかなり疲れそうです。
PinchType: Text Entry for Virtual and Augmented Reality Using Comfortable Thumb to Fingertip Pinches
facebookが提案する、コントローラを使用しない英語入力手法です。両手それぞれの、親指とそれ以外のある指で輪っかを作ることによって、1つずつ文字を入力します。これの面白いところは、輪っかを作る指がそれぞれ唯一のアルファベットと対応しておらず、AIによる推論で入力文字を後から推定することです。
例えば右手の親指 + 人差し指は「YUHJNM」の6つのアルファベットである可能性があります。「HAPPY」と入力したければ、「右親人」→「左親子」→「右親子」→「右親子」→「右親人」の順番で輪っかを作っていき、予測変換にHAPPYが出力されるという感じです。
これが珍しく感じるのは、英語には予測変換が存在しなかったからでしょうか。Oculus Questの開発元であるfacebookが公開していると、説得力がぜんぜん違いますね。とにかく一度は使ってみたいものです。
Decoding Surface Touch Typing from Hand-Tracking
これまたfacebookの入力手法ですね。1つ前の論文の半年後に公開されたものです。これは物理的なキーボードを押下するのと同じような動作で、キーボードなしで入力できます。PinchTypeと同様に、キー入力位置から予測変換する方式で、動画を見た感じでは日常使いしているキー入力に負けない入力速度を誇りそうです。
ただ動画ではOculus Quest2のハンドトラッキングを使用しておらず、Opti Trackという別の機器を用いる必要がありそうです。まあ、今までと入力感が全く変わらず、高速に入力できるのですから、全然問題なく実用化されそうですが。
おわりに
3つ目の「自身の体を利用する方法」は、Leap MotionやOculus Quest2などでハンドトラッキングが非常に身近な技術になってきたからなのでしょうか。今後、コントローラを用いる時代は廃れていくのかもしれませんね。
今回調べてみて驚いたことは、物理的な新しいコントローラを開発する研究が見当たらないことです。いちいちコントローラから自作する馬鹿はいないんでしょうか。邪道を突き進めume-boshiよ :)
それでは本記事まで、1か月間ブログ連投チャレンジにお付き合いいただきありがとうございました!死ぬまでにしたいことの1つ目を消化することが出来ました :)
// 最終日が肉体的にボロボロ過ぎたので、本記事は推敲+追記をバンバン加えていきたいと思います。。。