Processing用のOculus Riftのライブラリを作りました
DK2向けにヘッドトラッキングとレンズ補正をやってくれるProcessing用のちゃんとしたライブラリが見当たらなかったので、先人たちの偉業を組み合わせて新しく作りました。先人たちに感謝。
ダウンロードページ(GitHub)
ページ右下の「Download ZIP」をクリックしてダウンロードしてください。ダウンロードして解凍したら、まずはOculusRift_BasicExampleを実行してみてください。
ライブラリと銘打っていますが、まだJAR化せずにPDE形式になっています。自分のスケッチで使いたいときは、いずれかのサンプルに入っているOculusRift.pdeと、codeフォルダに入っているjna-4.1.0.jar、JOculus.jar、jovr-0.4.4.0.jar、それとdataフォルダに入っているbarrel_frag.glslを自分のスケッチに追加してください。
動作を確認した環境
(Windows環境)
- Oculus Rift DK2
- Oculus Runtime for Windows V0.5.0.1-beta
- Windows PC (VAIO Z, Windows8.1)
- Processing 2.2.1
(Mac環境)
- Oculus Rift DK2
- Oculus Runtime for OS X V0.5.0.1-beta
- MacBook Pro (Retina, 13-inch, Mid 2014), OS X Yosemite (v10.10.2)
- Processing 2.2.1
何ができるか
- ヘッドトラッキング(IRカメラによる位置計測含む)
- Oculus Rift DK2用のステレオ表示 (※DK2用の設定になってます)
サンプルコードいろいろ
OculusRift_BasicExample
いちばん基本のサンプル。床、壁、立方体、ステレオ画像でシーンが構成されています。左目と右目で処理を分岐できる仕組みになっているので、それを利用してステレオ画像の表示をやっています。
OculusRift_PanoramaView
THETAで撮影した全天球画像を鑑賞できるサンプルです。サンプルで使っている写真は、明治大学中野キャンパスの吹き抜け。バルーンにTHETAを付けて撮影しました。
OculusRift_VideoSeeThrough
カメラのライブ映像を使ってARをやるためのサンプル。OculusRift.pdeで使っているjna-4.1.0.jarと、ProcessingのCaptureクラスが利用しているjna.jarが衝突してしまう問題があり、それを回避するためにwebcam-captureというライブラリを使ってカメラから映像を取得しています。ちなみにこのサンプルはカメラ1つの単眼仕様です。