VRのマメ知識:VRのマルチプラットフォーム対応とViveトラッカー
はじめに
区切りの第10回となる今回は、メイキング内では扱いきれませんがVRコンテンツを作成する上でぜひ知っておいていただききたい内容をまとめて解説します。
複数のHMDにマルチプラットフォーム対応する
UE4は手軽にマルチプラットフォーム対応ができるように作られているため、最低限のカスタマイズでコンテンツを複数のデバイスに対応させることができます。
無論、ハイエンドPC向けに作られたVRコンテンツをそのままスマートフォンに対応させてもまともに動きませんが、ViveやOculusなど動作環境も性能も似通ったデバイスであれば、ちょっとした知識さえあれば簡単にできます(図1)。
複数のデバイスに対応したコンテンツは、そうでないコンテンツよりも多くの人に利用してもらえることは間違いありませんので、最低限のカスタマイズ方法を学んで、複数のプラットフォームに対応したVRコンテンツを作れるようになりましょう!
HMDごとに処理を分ける
HMDごとに分けたい処理がある場合は、「Get HMD Device Name」ノードでHMDの名前を取得して処理を分岐させるのが一般的です(図2)。
HMDのトラッキング方式の違いにより、そのままでは想定より高い位置に目線が設定されてしまうケースなどで重宝します。
インプットアクションの設定
プロジェクト設定の「インプット」を開いてみてください。図3のような形でイベントにボタン入力が設定されていると思います。
ここでインプットアクションをボタンと紐付けて定義しておき、図4のような形で使用すれば、定義したボタンを押したタイミングでインプットアクションに繋いだ処理が実行されます。
例えば、新たに図5のような定義を追加し、図6のように「MotionControllerPawn」を編集すると、図7のように「スペースバー」で手を握ったり開いたりできるようになります。
ブループリント上に直接キー入力イベントの取得処理を入れることもできますが、デバッグ用の一時的なものである等の理由がない場合は一度キー入力をインプットアクションとして定義し、ブループリント上からインプットアクションを呼ぶという形式にするのが望ましいです(マルチプラットフォームにする予定がなくても同様です)。
ちなみに、図3でGrabLeftとGrabRightにボタンが「Motion Controller(R,L)Trigger」1種類しかセットされていないのは、どちらのコントローラの入力も「Motion Controller(R,L)Trigger」で取得できるからです。
このように、別のコントローラでも取得の際にセットする値は同一という場合もあります。
Viveトラッカーの実装
次は「Viveトラッカー」の使い方です。ViveトラッカーはHTC Vive用の拡張デバイスで、VRに対応していない物に取り付けると、その物をVR空間内で認識できるようになります。
活用例としては、テニスラケットに取り付けて実物のテニスラケットを使ったテニスをVR空間内で楽しめるようにする、複数のトラッカーを体に装着してモーションキャプチャーを行うなどが挙げられます。
7月にオープンしたVR ZONE SHINJUKUでは、マリオカートVRで手の甲に巻きつけるような形で装着し、ハンドデバイスを握らなくてもVR空間で手が使えるようにするために用いられていました。
図8がViveトラッカーです。ちょうど手のひらに乗るぐらいのサイズです。そんなに大きくないので色々なものに装着して使えることが最大の売りです。
Amazon Echo Dot(右)と比べてみました(図9)。ほぼ同じぐらいの大きさでしょうか。
それでは、実際にUE4でViveトラッカーを使ってみましょう。まず、いつものようにアクターブループリントを1つ作ってください。名前は「BP_ViveTracker」とします(図10)。
次に、「コンポーネントを追加」から「Scene」コンポーネントを追加し、その下にViveトラッカーと連動させて動かしたいモデルデータを配置してください(図11)。なお、今回はメイキングで使用した車のモデルを使用しますが、どんなモデルでも大丈夫です。
次に「BP_ViveTracker」のイベントグラフに移動し、図12のようにブループリントを編集してください。このとき、「Get Tracked Device Position and Orientation」ノードのDevice IdはViveでコントローラを認識している場合は「3」を、そうでない場合は「1」を設定します。
これは、コントローラの方が「Device Id」割り振りの優先順位が高い関係で、コントローラを認識していると「1」「2」が割り振られるためです。ちなみに、「0」はヘッドセット本体です。
それでは「BP_ViveTracker」を適当なレベルに配置して、Viveトラッカーの動作を確認してみましょう。Viveトラッカーに連動して車のモデルが動くのを確認できるはずです(図13、図14)。
もちろん、VR HMDを被って動かせば目の前で実際に物を掴んでいるような感じで動かすことができます。Viveトラッカーはアイデア次第で色々な使い道があるデバイスなので、「こんなものがあって簡単に使える」ということを覚えておけば、ひょんなところで役に立つかもしれません。
最後に、VRデバイスの最新動向について紹介します。
トラッキングデバイスについて
現在主流となっているトラッキング方式は以下の3つです。
- OculusやViveのような外部センサーを利用したトラッキング方式
メリット:高精度なトラッキングが可能
デメリット:外部センサーの設置が必要
(OculusとViveのトラッキング技術には差異がありますが、ここでは外部センサー方式として一括りにします) - HoloLensやMicrosoft VRのような内部カメラを用いたトラッキング方式(インサイドアウト方式)
メリット:HMDのみで完結するので手軽、外部センサー方式には及ばないが実用レベルの精度
デメリット:外部センサー方式ほど正確ではない - スマートフォンのようなジャイロセンサーを利用したトラッキング方式
メリット:従来のスマートフォンで利用できる
デメリット:精度が低い、徒歩での移動が反映されない
どの方式も一長一短ありますが、トラッキングのクオリティと手軽さとのバランスが良いということで、最近は2のインサイドアウト方式が注目されています。
Microsoft系のデバイス全般に搭載されて実績もあり、またOculusが開発中のスタンドアロン型HMDもインサイドアウト方式のトラッキングを採用するとのことなので、次世代VRデバイスの主流となりそうです。
ハンドデバイスについて
現状、ハンドデバイスは大まかに言うとOculus Touchとそれ以外に分けることができます。
違いは、指の動きを認識できるかどうかです。Oculus Touchでは指の動きを認識してVR空間内にある手のモデルを自分の手に連動して動かせるため没入感が高まりますし、ボタンを押すときは人差し指を伸ばさないといけないなど、手の形を判別することでVR空間における誤入力を防ぐことができます(誤ってVR空間内のUIに触れてしまうことは、VRに慣れないうちはよくあるため、指の形によってボタン入力を制限できることは意外に重宝します)。
一方、Oculus Touch以外のハンドデバイスは、ほとんどの場合ViveのコントローラやDayDreamのコントローラのように棒状のものです。棒状なので手の感覚はありませんが、「Tilt Brush」のような筆で絵を描くコンテンツでは直接手で筆を持っているような感覚を味わえます。
私が知る限り、VR開発者の間では「手の感覚を再現したOculus Touchの方がハンドデバイスとして優れている」という意見が支配的なので、今後ハイエンド寄りのデバイスはOculus Touchのように手の感覚を再現するものが主流になりそうです。
ちなみに、最近はあまり見ませんが「LEAP MOTION」というカメラを使って仮想的な手をVR空間に持ち込むことができるデバイスもあります。Oculusの開発者向けバージョン「Oculus Rift DK2」が発売され、日本でVR開発コミュニティが盛り上がり始めた2015年ごろに流行しました。
体感デバイスについて
みなさんは「VR体感デバイス」をご存知でしょうか。これは視覚以外の感覚にHMDに映し出される映像と連動した刺激を与えることでVR体験の質を引き上げるデバイスです。
VR ZONEなどのアミューズメント施設で見かけるような、VR HMDの映像が揺れるのに連動して振動する座椅子をイメージしてもらうとわかりやすいかと思います。
昨今のVR用途として、自動車教習所でのシミュレータや災害体験での利用が注目されていますが、そういった分野と体感デバイスは非常に相性が良いです。これは、視覚に連動して他の感覚を刺激することで飛躍的に没入感が高まるためです。VR ZONEなどで一度体験していただけるとわかると思いますが、体感デバイスの有無で没入感は格段に変わります。
シミュレータや災害体験は大型案件化も十分に期待できる分野なので、本気で産業VRに取り組もうと思っている方は、今のうちから体感デバイスのノウハウを持つ企業とコネクションを作っておくと良いかもしれません。
ちなみに、上記のもの以外にも「Unlimited Hand」(※1)や「VAQSO」(※2)のような自宅でも使える手軽な体感デバイスもあります。これらはまだ開発段階のものが多いですが、VRでデモ展示を行って多くのお客さんに体験してもらいたいという場合は、このようなちょっとした体感デバイスをVR HMDと一緒に置いておくと興味を持ってもらいやすいかと思います。
※1:腕に巻いて使用するデバイスで、電気刺激を与えて疑似的な触覚を再現できる。※2:内部に複数の香水を入れておき、VR空間内での出来事に連動して香水を鼻先に噴霧することにより匂いを再現するデバイス。
おわりに
今回は、メイキングでは触れられなかった内容を一度に紹介しました。本連載も残り2回です。次回は、最終回に向けてこれまで作ったコンテンツのブラッシュアップをしていきたいと思います。
次回もお楽しみに!
VAIOがABAL(VRベンチャー)と協力し「VRソリューション事業」をコア事業として展開していくことを発表したり、新日鉄住金ソリューションズがホロラボ(HoloLensの開発に強みを持つベンチャー企業)と連携したりと、ここ1ヶ月ほど産業VR/AR界隈が賑やかになってきているように感じるので、今回は日本の産業VR/ARの最新動向を紹介します。
まず、今まで小規模なベンチャーやスタートアップが主流だったVR/AR業界に大企業が参入し、大きなお金が動き始めたように思います。
VAIOや新日鉄住金ソリューションズの他にもトヨタ自動車がVRの研究開発を始めたり、フジテレビがGREEと協力してVR番組を作る実験をしていたりと、ここ半年ほどで東証1部に上場しているような企業が一気にVRへ取り組むという事例が増えました。
また、大企業がVRの取り組みを始めるパターンとして、技術を持つベンチャーと協力することが多いように思います。VAIOもVRソリューション事業を始めるにあたり日本最大のVRベンチャー「ABAL」と提携しましたし、トヨタ自動車も外部企業と協力しながら研究開発を進めているようです。
しかし資本が入って賑やかになるのは良いことですが、実際の案件というと不動産系、建築系、アミューズメント施設向けが主流です。あまり大規模な物はありませんが、開発会社に限って言えばきっちり収益化する例もちらほら出てきたように思います。
このように産業VRが賑わってきてVRの前途は明るいのですが、これらは全て「未来への投資である」ということを忘れてはいけません。
大前提としてHTC ViveもHoloLensも大規模なソリューションに利用できるほどのハードウェア的ポテンシャルを持っていないので、大規模なソリューション案件が生まれるためには普及デバイスが2~3世代進むのを待つ必要があります。大きな投資を行った場合は、少なくとも2020年あたりまで回収することは難しいでしょう。
とはいえ、調査会社は軒並みVR/ARに楽観的な見方を示していますし、実際にVR/ARの市場規模は急速に拡大しているので、VR/ARに投資をしようという企業は今後もますます増えて行くものと考えられます。
余談ですが、日本よりVR投資熱の高い中国ではVR動画コンテンツ1本で2500万円の案件など、ある程度大規模な案件が出てきているようなので、VRビジネスに興味のある方は中国のVR事情も注視しておくと良いかもしれません(ただし、中国では既にVRスタートアップの9割が倒産するなどしており競争は非常に激しいです)。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- VR世界を「触れる」コントローラーOculus Touchついに発売!
- Valveの新型VR用コントローラー「Knuckles」の特徴は?
- Epic Games「フォートナイト」の純利益の40%を貢献度に応じてクリエイターと分配する新たな仕組みを発表
- Oculus Riftが3台以上のセンサーによるルームスケールに対応!
- ゲームパッドからハンドコントローラーへ。VRゲームのコントローラー移植が進む
- HTCの新型VRヘッドセット「VIVE COSMOS」のデザイン公開
- モバイルVR開発をはじめよう
- 視野角を拡大したGear VR新型が11月に発売へ
- フェイスブックがマイクロLEDディスプレイメーカーと独占契約締結
- 5本の指を認識できるSteamVRの新コントローラーKnuckles