VR日本語入力

概要VR日本語入力

VR を日常のインフラとして使用するにあたって、快適な文字入力は重要なファクターとなります。本プロジェクトでは、VR 向けのハンドコントローラー(Oculus Touch、Vive Controller など)を使って、少ない疲労で快適に文字入力を行う方法を開発しています。

本ページでは、Oculus Touch で例示します。

入力方法

1.腕をひねって入力する文字を選びます。子音が切り替わる時に Touch が振動でフィードバックを返し、操作感を高めています。

捻り

2.人差し指を押し込むと母音を選ぶ状態になり、離すと決定です。かなり快適です。

人差し指

3.人差し指を押し込んだ状態でスティックを上下に操作すると、上下のバリエーションが入力されます。
連続入力が可能です。

親指

4.中指を押し込むと「はまやらわ」に切り替わります。離すと「あかさたな」です。

中指

漢字変換

Aボタンを押すと、漢字の変換と確定が行えます。

漢字変換

HTC Vive 版

いちかさんが Vive 版を作成されています。Vive 欲しい。

VRTextInputForViveひとまず形になったので公開します。
ViveコントローラーのTouchPadをタッチパネルに見立てた、VR向けのテキスト入力アセットです。手をだらんと下げたまま、フリック入力の感覚で入力出来る、というコンセプトで作りました。 pic.twitter.com/J15USynJNg

— いちか (@ichika292) March 23, 2017

掲載・展示実績

ダウンロード

Unity 用のパッケージをダウンロードできます。MIT ライセンスを採用しており、ご自身の Unity プロジェクトにて自由に使っていただけます。
試用だけしたい方は、@yutoVR まで Oculus ID を教えていただければ招待します。

GitHub を見る ダウンロード(.unitypackage)

リリースノート

バージョン 0.5.1

VR日本語入力 0.5.1 を公開しました。使い方がわかりやすくなりました。 https://t.co/oi7x5RVzsb pic.twitter.com/RJPPe956kM

— ゆーとVR@2/25VR日本語入力出展 (@yutoVR) 2017年2月12日

Oculus Touch のモデルに使用方法をアタッチしました。

新機能
  • 使用方法を Oculus Touch のモデルに表示するようにしました。
  • Oculus Utilities を 1.11.0 にアップデートしました。Oculus Software 1.11 が必要です。
バグ修正
  • 文字の赤いハイライトが薄くなってしまう問題を解決しました。

既知のバグはありません。(何か見つけたら Twitter@yutoVR までお知らせ下さい)

バージョン 0.4

既知の致命的なバグを全て解決しました。
たぶん安定的に使えるようになっていると思います。
バグを発見した方は Twitter@yutoVR までご連絡下さい。

バグ修正
  • 入力システムのY軸を回転すると針の動きがおかしくなる問題を解決しました。
  • 角度の処理をオイラー角ベースに切り替えました。(クォータニオンの処理がバグの温床となっていました。)
  • 漢字変換候補にまつわる配列のバグを解決しました。
既知のバグ
  • Touch の回転が逆方向になる環境がある。(Oculus 側のバグのようなので修正待ち。)直ったっぽいです。
開発者向け
  • 漢字を変換せず、入力したひらがなを直接受け取るコールバックと変換なしモードを実装しました。

バージョン 0.3

ツイートに疲れが見える…

改良
  • IPAフォントを同梱し、日本語の表現を改善しました。
  • 複数の変換区切りを連続して変換できるようになりました。
バグ修正
  • 複数変換区切りが1回で確定されてしまう問題を解決。
  • 文字入力ができなくなる問題を解決。
  • 最後の漢字を確定する際に、変換前のひらがながオリジナルより少なくなっているとエラーとなる問題を修正。
  • サンプルテキストエリアが空でバックスペースをした場合のエラーを解決。
  • 一部のメモリリークを修正しました。
既知の問題
  • 漢字の確定時にエラーが起きる場合があります。

バージョン 0.2

  • Aボタンで漢字変換/確定
  • 床と壁を作りました
  • 不具合の際は、右スティック押し込みでリロードできます
開発者向け
  • OnJPInput(string) 関数を呼ぶことで、自身のコンテンツに容易に組み込めるようになりました。
  • OnBackspace() 関数を呼ぶことで、変換用の一時入力欄と整合性を保って文字の削除を行なえます。(詳しくは GitHub のサンプルをご覧下さい。)
既知の問題
  • 複数文節の変換が1度に確定されてしまいます。
  • 変換する文字列によっては入力できなくなることがあります。

バージョン0.1

最初のバージョン

ライセンス

MIT License

Copyright (c) 2017 yutoVR

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.