「Leap Motion」が「Oculus Rift」の“目”になる! 新体験を生み出すVRアプリケーション開発2つのデバイスで新しい世界を体感

「Oculus Rift」をかぶると、目の前に仮想空間が広がり、よりコンテンツに入り込んだ体験ができます。これに入力装置としての「Leap Motion」を組み合わせることで、リアリティある仮想空間を作ることが可能です。

» 2015年03月02日 10時00分 公開
[中村薫PR/ITmedia]
PR
このエントリーをはてなブックマークに追加

Oculus RiftでLeap Motionの動きをよりリアルにする

 いよいよ「Leap Motion」を「Oculus Rift」の目にしてみましょう。Oculus RiftはOculus VRが開発しているHMD(Head Mounted Display)です。最近ではOculus VRがFacebookに買収されたことで知った方もいるでしょう。Oculus Riftをかぶると、目の前に仮想空間(VR:仮想現実、VR空間)が広がり、よりコンテンツに入り込んだ体験ができます。

 しかし、Oculus Riftをかぶることで表示される画面以外が見えなくなるため、コンテンツを見ることはできますが、そこに何かの入力を与えることが難しくなります。これにLeap Motionを組み合わせることで、Leap Motionで検出した手をOculus Rift上の仮想空間に表示させ、自分の手が仮想空間の中にいるような効果を出すことができます。

 また、Leap Motionのカメラ画像をOculus Riftに表示させることで、現実の映像を重ね合わせることもできます。これらの機能によって、Oculus Riftで表現した仮想空間に入力を与えることが、より簡単になりました。

 Leap MotionとOculus Riftを「Unity」で利用するパッケージはこちらで提供されています(下にスクロールすると出てくるUnity VR Asset)。Leap Motionのパッケージと同様にUnity Pro用とFree用の2種類があります。Oculus Riftを単体で使う場合には、Unity 4.5.5以降でUnity Freeにも対応しています(Unityとの戦略的提携による)。本稿ではUnity Proで解説を進めますが、操作はUnity Freeと同じです。

 事前の確認、設定事項として、Leap MotionをOculus Riftと組み合わせ、Leap Motionのカメラ画像を使いたい場合は「Leap Motionコントロール パネル」から「イメージを許可する」にチェックを入れ、「OK」をクリックします。

Leap Motionのカメラ画像を取得できるようにする

 Unityで新しいプロジェクトを作成し、Unityパッケージ(LeapMotionVRAssets2_2_2.unitypackage)をインポートします。AssetsフォルダにLeap Motion用とLeap Motion + Oculus Rift用のフォルダができるので、Leap Motion + Oculus Rift用の「Asset → LeapMotion+OVR → Scenes」にあるサンプルのシーンを開きます。どれでもよいですが、ここでは「LeapOculusPassthrough」を開きます。

パッケージをインポートしてサンプルのシーンを開く

 シーンに配置されているオブジェクトを表すHierarchyビューにいくつかのオブジェクトが表示されます。この状態でLeap MotionとOculus Riftをコンピュータに接続し、シーンを実行します。

サンプルのシーンを実行する

 すると、Oculus Rift用に分割された画面に、Leap Motionのカメラ画像が表示されます。ここに手をかざす(手を下から入れるとよいです)と、手のモデルが表示され、手を奥に動かすとブロックが壊れていきます。

 このようにOculus Riftの仮想空間に自分の手を使った入力を追加できます。なお、実際にOculus Riftをかぶって見たい場合には、Unityエディターの「File → Build Settings」からビルドを行います。ビルドが成功すると2つの実行ファイルが生成されます。このうち「DirectToRift.exe」と付いているほうを起動します。

 独自のアプリケーションに組み込む場合には「Asset → LeapMotion+OVR → Prefabs」にあるPrefabsを利用します。

Oculus Riftアプリケーション開発時の注意点

 Leap Motionとの組み合わせに限らず、Oculus Riftを使ったアプリケーション開発にはいくつかの注意点や、展示の際のガイドラインがあります。

 特にOculus Riftでは3D酔いと呼ばれる現象への対処が必要です。これは処理速度が間に合わない場合や、ユーザーの動作とVR空間の視点が一致しないために、酔いが発生する現象です。ユーザーの動きと表示する視点が同じになるようコンテンツを開発します。

 またOculus Riftはコンピュータに高い性能を求めますが、これをクリアしないとユーザーによい体験をしてもらえません。必ず高スペックのコンピュータ(具体的にはOculus Rift DK2でコンテンツのフレームレートが75を維持できるもの、ノートPCよりデスクトップPC)を選択しましょう。

WindowsでUntiyアプリケーション開発の際にVisual Studioを利用する

 Untiyでスクリプト(プログラム)を記述する際には、規定では付属のMono Developを使います。しかしWindows環境であれば、MicrosoftのVisual Studioという高機能の統合開発環境があります。以前はUnityのスクリプトをVisual Studioで開発するための拡張機能が発売されていましたが、Microsoftが買収し、「Visual Studio Tools for Unity」として無償でリリースされています。

 Visual Studio Tools for Unityを利用することで、Windowsアプリケーション開発者であれば使い慣れた開発環境を、普段Windowsのアプリケーション開発をしていない開発者であれば、Visual Studioのパワフルな環境を利用できます。Visual Studio Tools for Unityではメソッドの検索のようなUnityアプリケーションの開発支援や、Unityアプリケーションのデバッグなどの機能があります。

 Unity側はアセット、Visual Studio側は拡張機能として提供されます。そのため、Visual Studioは無償のExpressでは利用できません。Visual Studio 2013では個人開発者向けの「Visual Studio 2013 Community」というエディションが追加されました。Visual Studio 2013 Communityは拡張機能を含む「Visual Studio 2013 Professional」と同等機能が無償で利用できます。商用利用に関しては制限がありますので、サイトを参照してください。

 これらを組み合わせることで、個人開発者であれば、Unity Free、Visual Studio Community、Visual Studio Tools for Unityで素晴しい開発環境を手にできます。商用利用であれば、Unity ProおよびVisual Studio Professional以上のエディションの購入検討にもなるでしょう。

Copyright © ITmedia, Inc. All Rights Reserved.


提供:BBソフトサービス株式会社
アイティメディア営業企画/制作:ITmedia PC USER 編集部/掲載内容有効期限:2015年3月15日