実は少し前にOculus Riftのモーションコントローラーデバイスである、『Oculus Touch』の開発機をOculus社の方のご厚意でいただくことができました。
Oculusさんからのご厚意でTouchの開発機を頂きました。NDAがあるので、なんでも情報を出す事は出来ませんが、出来る範囲でオープンにしていきたいと思います。 pic.twitter.com/vIcKVvtpfh
— alwei@デジゲー博D-03a (@aizen76) 2016年10月22日
これについて色々と書いていきたいと思っています。
ただしOculus社とのNDAも実は結んでいるので、なんでもかんでも書くことができない状態ですので、あくまでも可能な範囲についてです。
最初のセットアップ
Oculus Rift CV1とOculus Touchのセットを揃えると、それ以外にトラッキングカメラが2台揃うことになります。このトラッキングカメラ2台を使ってセットアップすることになります。
Oculus Touch自体は乾電池1本で動作し、それなりの時間の間、動作します。まだ一度も電池が切れたことはないので、少なくとも数時間程度でなくなるというものではなさそうです。
ただし、電池カバーはかなり硬めというか、ストラップ部分に引っかかってるのか、なかなか開きません…あまりにも硬いので、おそらく製品版ではもう少しマシになっているはずです。
この後にOculus Touch用のセットアップ作業がありますが、NDAの範囲もあるので、ここは詳細が書けません。HTC Viveをセットアップしたことがある方であれば、同じような手順が必要になると思ってください。
そしてかなりの幅が必要です。最低でもトラッキングカメラの間は1m以上。できれば2mはあった方がいいです。現状では真横に置いていますが、ケーブルを延長させれば対角に配置し、HTC Viveのルームスケールとほぼ同様のことも可能なようです。
ひとまずこれでセットアップ終了。
UE4でOculus Touchを動かす
UE4でOculus Touchを使うのはあまりにも簡単に可能です。チュートリアルを参考にActorやCharacterクラスなどに"Motion Controller Component"を追加し、右手左手用かを設定するだけで自動的にトラッキングが開始されます。
ほぼこれ以上解説することがないくらいに簡単です。
現在UE4.13以降ではVRテンプレートというものが追加されており、このテンプレートを開くとスタートマップが開きますが、このままでは何もできません。説明にあるように、"MotionControllerMap"というレベルを開いてからVRプレビューをする必要があります。
そしてVRプレビューを開始するとシンプルなレベルですが、VRでの基本動作が既に出来上がっている状態になります。
UE4 VRテンプレートでTouchテスト。#UE4Study pic.twitter.com/WDqpTVjqv4
— alwei@デジゲー博D-03a (@aizen76) 2016年10月27日
操作方法はTouchのAボタンかXボタンを押すと、ワープ先の矢印メッシュが出現します。そのまま頭を動かすと、頭の方角で移動後の向きを変更することができます。これは非常に直感的でわかりやすいです。
そしてグリップボタンを握ると、特殊なオブジェクトを掴むことができます。これでVRジェンガみたいなのは簡単にできてしまいますね。おそらく、HTC ViveやPS VRでも同様のことが可能ですが、Touchのトラッキングは非常にスムーズでストレスがありません。何よりも他のモーションコントローラーデバイスよりも圧倒的に掴んだ感じがあるので、モノを動かしているだけでもかなり楽しいです。
Oculus Touchのみの機能
他のモーションコントローラーにはない機能がOculus Touchにはあります。
Oculus Touchはその名前の通り、各種ボタンやグリップなどを『触っている(タッチ)』状態をイベントとして取得することができます。つまりボタンを押していなくても、触っているだけで入力がとれます。これがおそらく最もOculus TouchがTouchらしいと言える特徴なのではないかと。
各ボタンに触れたり離したりしているだけでで手を閉じている感覚、人差し指を伸ばした感覚、親指を立てている感覚を味わうことができます。ボタンを押す必要はないのです。たったこれだけでVRでのプレゼンスが向上していると感じます。
Bullet Trainなどのコンテンツを触ってみたことがある方であればわかると思いますが、手を開いた時、軽く握った時、強く押した時で絶妙に反応が違っていたりします。この指それぞれに対して細かい違いをだせるというのはOculus Touchの強みです。
他にも色々
実はこれ以外にも色々発見があったのですが、細かいところはどこまで書けるのかまだわからないので、あまり深いところは書きません。
目立った機能で言えば、Oculus Guardian Systemというものがあり、セットアップすればHTC Viveのルームスケールのように外部境界線を貼ることができます。
Developer Center — Documentation and SDKs | Oculus
既にAPIも公開されており、UE4でも動くようです。スクショは貼れませんが、色々カスタマイズも可能なようです。
ひとまず今回はこのくらいにしておいて、また何か発見があればOculus Touchについてを書いていきたいと思います。