凹みTips

C++、JavaScript、Unity、ガジェット等の Tips について雑多に書いています。

Oculus Rift DK2 が届いたので遊んでみた

はじめに

ついに Oculus Rift DK2 (Developer Kit 2) を手に入れました!

f:id:hecomi:20140803002344j:plain

f:id:hecomi:20140803002350j:plain

f:id:hecomi:20140803002031j:plain

DK2 は 2014/7 時点で全世界で 45,000 個もの注文(DK1 は 2014/3 時点で 60,000 個)の注文があったとのことです。私は開発用と布教用で 2 個買いました。

公式の動画を含め、いくつか動画を見るといろいろとイメージが掴めると思います。

外観など筐体の特徴については @kawauso3 さんによる週刊アスPlus の以下の記事がとてもわかり易く、中身については iFixit による分解レポートもあがっているため、合わせてみると特徴がよくわかると思います。

自分の知識を整理するためと、ハンズオン時の感想を記録・共有するためにエントリをまとめてみました。

特徴 - DK1 との違い

今回のアップデートのポイントはいくつかあります。

すでにご存じの方も多いと思いますが下記にまとめておきます。

ポジショナルトラッキングによる自然な動き

DK1 では回転しか取れなかったため下から覗き込むといった動作が実現できていませんでした。DK2 からは 60 Hz の近赤外線 CMOS センサ(赤外線カメラ)をプレイヤーの前方に配置することで、HMD 側に仕込まれた赤外線 LED を検知、そこから位置を割り出すといった手法で、位置のトラッキングを実現しています。

f:id:hecomi:20140803130301j:plain

f:id:hecomi:20140803130311j:plain

以下の動画が大変わかり易いです。

OLED 液晶による残像感のない高コントラストな映像

DK1 では 1280 x 800(640 x 800 / eye) だったのに対し、DK2 では 1920 x 1080 (960 x 1080 / eye) になりました。またパネルも LCD から高速で自発光型な OLED になり、よりきれい(黒が黒く見えるなど)で残像感のない映像が見れるようになりました。ディスプレイは冒頭の iFixit 記事によると、 SamsungGalaxy Note 3 のパネル(60 Hz)をオーバークロックして 75 Hz で利用しているようです。

実際に装着してみると、DK1 の時に気になっていた網目(ドットとドットの隙間)が見えてしまう効果もかなり低減されていて、より自然な映像になっていました。また、色収差を補正するためにスクリーン上の映像は RGB がずれたような絵になっています。

f:id:hecomi:20140803142528p:plain

ちょっとずれているとこの RGB のズレが目立ってしまいますが、横のダイヤルを回して液晶までの距離を調節したり、バンドで装着位置をしっかり調整すれば気にならなくなり、より鮮明な画になります。こういったいくつかの対応が SDK 側でもなされていて、例えばディストーション用に大きく(2364x1461)描画するなどの対応がされています。

f:id:hecomi:20140803154607p:plain

これらハード・ソフト両面からのきめ細やかな施策により、よりきれいな VR 映像が実現されています。

複数の遅延対策による自然なヘッドトラッキング

ジャイロ、加速度、磁気センサによる 1000 Hz なヘッドトラッキングは前回と同じですが、今回はレイテンシーテスターが新しく入りました。レイテンシーテスターは以前 DK1 用にスタンドアロンで売られていたものが、今回ビルトインされた形になっています。

Oculus Rift では予測補間をすることにより遅延を吸収していますが、この補間は実際に目に届くまでの時間を知らないと正確にはなりません。そこで光学式の本テスターにより実際に目に液晶の映像が入るまでの時間をリアルタイムに計測することでより自然な動きを実現しています。

遅延に関しては公式でスライドも上がっています。

コントロールボックスの排除

なくなりました。ケーブルは HDMI とヘッドトラッキング用のケーブル 2 本がまとめられて 1 本になって本体から出ています。代わりに、カメラとのシンクケーブルが 1 本増えました。あと本体に USB 口が 1 つついているのが面白いです。色々と連携デバイスが出てくると面白いですね。

ちょっと重くなった

DK1 は 395g だったのに対し、DK2 は 453g と重くなっています。確かに装着した感じ少し重い印象も受けますが、今回からコントロールボックスが排除されたことを考慮すればトータルでは相当な軽量化

ちょっと高くなった

DK1 は $300 + 送料 $50 でしたが、今回は $350 + 送料 $75 になりました。それでも安い...。

セットアップについて

エヴァンジェリストの @GOROman さんをはじめとする有志の方々による素晴らしい情報がまとめられています。今回は単純な映像出力ではないため、色々とインストールに手こずることが多い(私も動かすまでに時間かかりました...)ので、導入前に一度目を通しておくことを強くお勧めします。

必要とされるスペックについて

解像度が上がったことも影響し、DK1 の時よりもより高スペックが求められています。しかしながら Untiy での開発に関しては、アンチエイリアスをオフにすることで、ある程度パワーのない PC でも動くようです。

設定について

Oculus Configration Utility

f:id:hecomi:20140803165818p:plain

複数のユーザ設定が保存できます。中でも重要なのが Advanced にある IPD(瞳孔間距離)の設定です。設定すると自然に立体視ができるようになります。

f:id:hecomi:20140803170229p:plain

これは @yuujii さんがスクショ付きでまとめてくださっているので以下のページをご参照ください。

Rift Display Mode

f:id:hecomi:20140803170353p:plain

「Direct HMD Access from Apps」モードと、「Extend Desktop to the HMD」モードという 2 つのモードがあります。

Direct HMD Access from Apps モード

f:id:hecomi:20140803164926p:plain

Windows にディスプレイとして認識されずに、直接 HMD へ描画を行うモードです。上記のようにどういった画面が表示されているかを別ウィンドウで見ることができます。後述の Extend モードと比較してレイテンシが低減されるモードになり、前述のレイテンシテスターも動作する模様です。可能であればこちらを使いましょう。

Extend Desktop to the HMD モード

f:id:hecomi:20140803165611p:plain

従来通り、Windows にディスプレイ(縦として認識)として認識されます。

アプリケーション

以下のリンクに DK2 で遊べるソフトウェアがまとまっています。

いろいろ試した中からいくつかピックアップしてみました。

Demo Scene

f:id:hecomi:20140803171852p:plain

Configuration Utility から「Show Demo Scene」ボタンを押すと起動します。机の上にいろんなオブジェクトがあって DK2 の綺麗さとポジトラの威力を最初に体験するのに相応しいデモになっています。思わず机の上のものを取ろうとして、あれ、手がない、となる感覚はとても不思議です。

Oculus World Demo

Oculus SDK for Windows に含まれています。

最初はこんな感想をいだきました。

が、SDK 付属のデモは軽量化のために色々とエフェクトが切ってあるためチープに見えてしまうようです(@yando さんに教えていただきました)。

そこで、同サイトの Unity 4 Pro Integration でビルドをしたところ、色々なオブジェクトが動いたりともろもろのクオリティが上がり、「あー、異国来たんじゃー」感が出ました。

BLAST BUSTER 2

@yasei_no_otoko さんによる Leap Motion にも対応したシューティングゲーム。Perilous Dimension という名で DK1 時代有名でした。きれいな宝石を Leap Motion がない場合は頭の向きでロックオン、ある場合は 10 本の指を使ってロックオンして壊していくゲームです。頭の向きだけで操作できるのがすごい楽です。ホーミングレーザーがとても綺麗でぶっ壊すのが爽快です。

すわこちゃん Cubic for Oculus Rift

※ 動画は DK1 時のもの

f:id:hecomi:20140805012428p:plain

@rodonjohn さんによるジャンピング立体弾幕ゲームのすわこちゃん Cubic の待望の DK2 版です!ゲームとして一番完成している Oculus Rift ゲームだと思います。DK2 のきれいな画面&ポジトラ付きでいろんな角度から楽に見れるようになってプレイしやすくなりました。こんなにすごいものが無料でできるのは驚きです...。

最初、エラー(「動作を停止しました」で終了)で起動しなかったのですが、@rodonjohn さんに色々と教えていただき、結論としては私のパソコンに DirectX のランタイムが入っていなかったというのが原因でした。

Totoro Bus Stop Scene

著作権的にはいいのか気になりますが、あー、アニメの世界が現実だったらこんな感じになるんだろうなぁ...、と感動しました。動画を見ずにプレイするのをおすすめします。

Mikulus DK2

f:id:hecomi:20140805013642p:plain

そして @GOROman さんによる FHD でポジトラする MikulusDK2 版が昨日発表されました。DK2 を持った人々は新たなる世界へと旅立って行きました。

その他情報

ドキュメント
Alienware 17 での動作

私がテストしたのは Alienware 17(GeForce GTX880M)なのですが、以下の 3 点ひっかかりました。

認識しない

どういう理屈かはわかりませんが本体ケーブル接続部のカバーを外して別の HDMI を挿して PC と接続したところ認識し、以降認識するようになりました。

Extend Desktop to HMD モードの映像が変

DK2 はモニタの向きを「縦」にするのが普通なのですが、以下のように「横(反転)」でないと正常の表示されませんでした(縦画で表示される)。

f:id:hecomi:20140803162001p:plain

NVIDIA の設定

ドライバを最新にした後、以下の様な設定にしました。

f:id:hecomi:20140803162737p:plain

f:id:hecomi:20140803162725p:plain

Optimus を切るために優先するグラフィックスプロセッサを「高パフォーマンス NVIDIA プロセッサ」、垂直同期を「オン」、レンダリング前最大フレーム数を「1」にしています。

おわりに

以下の記事を書いてからおよそ 1 年しか経っていません。

進化に驚くばかりですし、この先を進んでいけば面白い未来がある気がしてなりません。私は平日は本職が立て込んでいて DK2 が受け取れなかったのですが、日本では Oculus Rift コミュニティの活気がすごいので、ようやく受け取れたあとは既にベストプラクティス的なレールが敷かれていて「楽しく使う Oculus Rift DK2」に従ってインストールすることで、それほど躓かずスムーズに体験までこぎつけられました。また、Twitter で DK2 で検索すると色々な知見をみんなつぶやいていますし、困っていれば色々と助けてくれます。私もこの一端を担えるよういろいろ頑張っていきたいと思います。

以下総括: