連載
【西川善司】裸眼立体視対応で7800円。格安のUSBディスプレイを試してみる(後編)〜PCゲームの立体視に挑戦するの巻
西川善司 / グラフィックス技術と大画面と赤い車を愛するジャーナリスト
(善)後不覚 |
前回,裸眼立体視対応ディスプレイ「RockVision 3D」を7800円(税込)で購入し,ひとまず使ってみたところまで話をしましたが,そのとき予告したとおり,今回はこいつを使ってPCゲームを立体視でプレイしてみたいと思います。
RockVision 3Dが採用する
DisplayLinkの動作原理
それを判断するにはまず,このRockVision 3Dがどういう仕組みで動作しているのかを知る必要がありそうです。
RockVision 3Dは,USB接続型ディスプレイでの採用例が豊富なDisplayLinkのグラフィックスサブシステムを根幹システムとしています。
簡単にいえば,「追加のGPUを必要としない,USB接続のグラフィックス機能」といった感じです。
DisplayLinkでは,ドライバソフトウェアがGPUを“装う”ような仕組みになっていて,描画自体はホストPC側のGPUを使って行います。そして,その「描画結果としての映像フレーム」を複数のブロックに分割して可逆圧縮(ロスレス圧縮)してUSBに流すという仕掛けですね。圧縮はソフトウェア処理だと,DisplayLinkは説明しています。
ゲームがプレイできるかどうかは,その「GPUを装っているドライバソフトウェア」が,DirectX(Direct3D)をどのレベルまでサポートしてくれるかにかかってきます。幸い,最新のDisplayLinkドライバでは,ほぼすべてのDirectX機能をラッピングする形でホストPC側のGPUへ発注できる設計になっているようです。
いまあるゲームを
3D立体視対応化させるには?
続いて考えねばならないのは,ゲームを3D立体視に対応させる手立てです。
前編で取り上げた立体視対応写真やビデオをメディアプレイヤーで見る場合は,プレイヤー側の設定で「垂直インタリーブ」を選択できれば問題がなかったわけですが,ゲームの場合は,リアルタイムに2視点分の映像をレンダリングしてもらったうえで,それを垂直インタリーブ表示用に再構成しなければなりません。
この動作をゲーム側に期待するのはかなり難しそうです。
一番手っ取り早いのは,NVIDIAの「3D Vision」ドライバが垂直インタリーブに対応してくれることでしょう。実際,一部の認証ディスプレイ製品に限られていますが,3DVisionは最近,垂直インタリーブへの対応を完了していますし。また,プロフェッショナル用GPUブランド「Quadro」用の3D Visionだとそうした認証制限は取り払われているようです。さらにいえば,GeForce用の3D Visionをハックして,そうした認証制限を取り払う手法も発見はされているようですね。
もっとも,今回のRockVision 3DでQuadroを持ってくるのは現実的ではないですし,GeForce用3D Visionをハックするのも面倒そうです。
iZ3Dを使えばRockVision 3Dで
立体視ゲームプレイが可能に?
ではRockVision 3Dでの立体視ゲームプレイは絶望的かというと,そうでもありません。3D Visionの発想に汎用性を持たせた「iZ3D」というソリューションがあるのです。
3D Visionと同じく,iZ3Dは,ゲームのグラフィックスエンジンからDirect3D APIへ向けてへ向けて行われる描画コールの間に入って,2視点分の描画コールへ置き換えるような振る舞いをします。つまり,個別対応がある程度は必要になるものの,原理的には3D Visionと同じように既存のゲームを立体視化できることになります。
3D Visionでは,その立体対応化レンダリングをGeForceなどのNVIDIA製GPUに限定し,なおかつ,その立体視表示を3D Visionのアクティブシャッター式メガネへ対応させる設計になっていますが,iZ3Dでは,立体視化レンダリングをNVIDIA製GPUとAMD製GPUに対応し,立体視表示も現存するさまざまな方式に対応させています。そして,調べてみたところ,その「さまざまな立体視表示方式」にはRockVision 3Dで採用される垂直インタリーブも含まれていました。これは試してみる価値がありそうです。
iZ3Dドライバのインストール
iZ3Dは有償ながら30日間は無料体験可能
iZ3Dのドライバダウンロードページ。RockVision 3Dと組み合わせる場合は「Interleaved」を選択する |
ドライバは公式最新版より新しいものが公開されているので,できる限りそちらを選ぼう |
Get Softwareメニューを開くと,最初に,「Step 1: Select your device or output:」という質問がプルダウンリストとともに浴びせられます。これは「iZ3Dドライバをどんな3D対応ディスプレイに利用しますか」という質問なので,RockVision 3Dが採用する「Interleaved」を選択すればOKです。選んだら[Download Driver]ボタンを押してください。
するとドライバのダウンロードページに進みますので,バージョンがより新しいものを選んでください。一番上が公式最新版ですが,原稿執筆時点では公開候補版となる「Release Candidate version: 1.13(5443)(15 June 2011)」が最新でした。
ドライバのインストーラは日本語化されているため,それほど難しいものではありませんが,iZ3Dの機能をすべて利用するためには,「コンポーネントの選択」で「Full Installation」を選んだほうがよさそうです。
最新バージョンのiZ3Dドライバはなんと日本語に対応していた |
すべての機能を利用するために「Full Installation」を選択してインストール |
そうそう,言い忘れていましたが,iZ3Dドライバは有料のソフトウェアで,価格は39.99米ドルです。30日間の無料試用期間が設けられており,試用中はいま紹介したような感じで機能名の一部に「トライアル」が表示されることになります。ただし,試用中であってもゲーム映像に体験版等の文字が挿入されることはありません。
iZ3Dの購入ページはPayPalによる決済に対応しており,購入後,メールで送付されてくるシリアル番号を入力して試用期限を取り去る仕組みになっています。
ゲーム起動のための準備
〜RockVision 3Dをプライマリディスプレイに
いよいよPCゲームを起動させることになるのですが,ここからはちょっとした工夫というかワザが必要になります。
基本的にPCゲームはプライマリディスプレイに全画面表示されるようになっていますが,RockVision 3DはUSB接続のディスプレイデバイスですから,標準ではセカンダリ以降のディスプレイとしてシステムに登録されてしまいます。
これをやると,800×480ドットの狭いデスクトップにタスクバーがやってきて,Windows 9x時代のミニノートPCのような画面になってしまいますが,まぁ仕方ないですね。
あるいは,ゲームをウインドウモードで起動して,そのウインドウをRockVision 3D側に移動させてから全画面表示に切り替えるというアプローチでも構いません。
なお,RockVision 3Dをプライマリディスプレイに設定するほうの手法を選択した場合,一度設定してしまえば,RockVision 3Dを接続したときにだけRockVision 3Dがプライマリディスプレイになり,取り外せば,元のディスプレイが自動的にプライマリディスプレイへと戻ります。
そもそもUSB接続のグラフィックスサブシステムで
ゲームは動くのか?
今回筆者が用いたPCは,以下のような仕様です。
- CPU:Phenom II X4 940/3.0GHz
- マザーボード:ASUSTeK Computer M4A78 PRO(AMD 780G+SB700)
- メインメモリ:PC2-6400 DDR2 SDRAM 2GB×4
- GPU:GeForce GTX 680(グラフィックスメモリ容量4GB)
- ストレージ:HDD(Samsung Electronics「EcoGreen F2 HD103SI」,容量1TB,Serial ATA 3Gbps)
- OS:64bit版Windows 7 Ultimate
実際にRockVison 3Dで3Dゲームを立体視でプレイできるのかは,2つに分けて考える必要があります。
1つは,そもそもDislplayLinkのグラフィックスサブシステム上でPCゲームがちゃんと動作するのかです。
で,結論から言うと,適当に手持ちのタイトルを実行した限りでは,概ね問題なく動作しているようでした。「Crysis 2」などいくつかのタイトルでは,RockVision 3Dをプライマリディスプレイとして設定しているにもかかわらず,フルHD解像度のセカンダリディスプレイで実行されてしまうという問題があり,さらに,無理矢理その画面をRockVision 3D側へ移動させようとすると強制終了するなど,どうにもならなかったりしましたが,その問題さえ生じなければ大丈夫な感じです。2012年6月に発売されたばかりの「Max Payne 3」もRockVision 3D上できちんと動作していました。
日本では未発売ながら,世界市場では発売になったMax Payne 3もこのとおり動作した。ただし平面視で,だが |
GPUヘビーで有名な「Battlefield 3」もOKだった。こちらも平面視。グラフィックスプリセット「最高」で(笑) |
続いて,2つめ。iZ3Dを使って立体視表示を行いつつプレイできるかですが,実のところ,iZ3Dの公式Webサイトに動作確認済みリストが公開されているので,これを参考にするだけだったりします。
800×480ドットの画面で平面視ゲームプレイをわざわざする理由はありませんから,RockVision 3DでPCゲームが(おおむね)動く以上,あとはこの立体視対応リストを参考にすればいいということになりそうです。
PCゲームを裸眼立体視で
プレイするときの勘所
互換リストに掲載されているタイトルの中で,筆者が選択したのは「Batman: Arkham Asylum」「Mirror's Edge」「Portal」の3タイトルです。
幾つかの実験を経て,ボクなりのノウハウが見えてきたので,ここに紹介しておきましょう。
まず,iZ3Dドライバの「高度」設定モードで出てくる「ゲーム内設定」オプションは,基本的にそのままでいいと思います。ボクは,おまじない的に,「ウィンドウモード」の設定を「全画面」に指定し,必ず全画面で起動するよう設定してしまいましたが。
メモを取るかキャプチャ画面を印刷するかして把握しておきたいのは,「ゲーム内設定」オプションのなかの「ホットキー」タブです。
立体視は,表示させるシーンの奥行き感/飛び出し感と,視差量の組み合わせ,ディスプレイサイズ,視聴距離をうまく合わせてやらないと,映像の一部が不自然に見えたり,あるいはまったく立体視できなかったりします。しかも,見え方には個人差があったりするので,定量的に「こうしておけばいい」と言うこともできません。
そこでiZ3Dでは,特殊なホットキーを用いることで,ゲーム起動後にも立体視パラメータのリアルタイム調整を行えるようになっているのです。
なかでも重要になると思うのが,以下にまとめたホットキーです。
- L&Rのスワップ:[Ctrl]+[F8]
- 分離の増加&減少:[+]/[−]
- コンバージェンスの増加&減少:[Shift]+[+]/[−]
- ステレオの切替:[*]
RockVision 3Dでゲームを立体視プレイする場合,ゲームタイトルによって,あるいは,ユーザーの視聴位置によって,左右の映像が逆転して見えることがあります。そうした事態が生じ,表示が不自然に感じられたり,立体的に見えなかったりしたときは,「L&Rのスワップ」の操作を試すべきです。
さて,ここでちょっとホットキーの話から離れますが,ゲームグラフィックスがあまりにリッチで情報量が多いと,「そもそもこの立体視表示が左右反転して不自然なのかすらよく分からない」という事態が起こり得ます。左右の映像が反転していると,床に張り付くように投射されるべき影が浮いて見えたり,潜って見えたりするので,そういう場合は慌てず騒がず,床などに投射されている影に着目してみてください。
しかし,基準となる「影」の描画がそもそもおかしい場合があります。
これは,iZ3Dが左右の目用にシーンを2度レンダリングするとき,影生成に用いるシャドウマップが不整合やエラーを起こしているときに生じます。なのでこの問題は,シャドウマップの立体視対応レンダリングを無効化することによって回避できる場合があるのですが,その項目が「ゲーム内設定」の「ゲーム」タブ以下にある「Render shadows in mono」オプションです。どうにもならない感が極まったときは試してみるといいでしょう。
これは,左右の目の距離を画面上に投射した幅の設定に相当していて,ホットキーを使って設定値を「0」にすると,完全に平面視映像と一致します。一方,視差量を大きく取ると立体感は増しますが,あまり上げすぎると,立体像が妙に小さく見えてしまう「箱庭現象」が起こります。
なので,立体感の大小設定というふうには捉えずに,「自分に見やすい視差量を探る」ような感じで調整したほうがいいでしょう。
「コンバージェンスの増減」は,立体視用語でいうところの「輻輳」(ふくそう)に相当するパラメータで,システムによって「角度」で与える場合と,「距離」で与える場合がありますが,いずれにせよ,「立体映像全体をディスプレイ表示面から手前に出したり,奥に引っ込めたりする」といった,感覚的な設定になります。
iZ3Dの設定では負値までが与えられ,さらに絶対値が1を超えて与えられるので,おそらく輻輳「角」ではなく輻輳「距離」で与えるパラメータなのでしょう。スクリーン平面上の距離を「0」として,画面からユーザー側に飛び出す側を負値,奥行き側を正値としていると思われます。
コンバージェンスの適正値は一概に言えませんが,一人称視点のゲームであれば,最も手前に映る手持ちの銃器などがブレて不快に見えたりしない程度に合わせるのがいいと思います。三人称視点のゲームであれば,表示されるプレイヤーキャラクターが,やはりブレて不快に見えたりしない感じにするのがいいでしょう。
「ステレオの切替」の操作は,平面視/立体視のトグル操作です。立体視表示のパラメータ設定をどうすべきなのか悩みこんでしまったときには,一度平面視に戻して,映像の全体像を把握してから調整するといいと思います。
裸眼立体視でプレイしてみる
基本的に問題ないが,サイズや解像度による制限も
先ほど挙げた3タイトル,Batman: Arkham AsylumとMirror's Edge,Portalで立体視プレイを行ってみましたが,RockVision 3Dで立体感はちゃんと得られました。どのゲームにおいてもシーン内のオブジェクトの前後の位置関係や距離感が分かりやすかったです。
7インチという小さい画面で立体視をしているせいですかね。
そうそう,PortalはValve製で,Source Engineがベースになっていますが,iZ3Dには,Source Engine専用(?)のオプションとして,「ゲーム内設定」-「ゲーム」オプションに「シンプルステレオ プロジェクション メソッド」が用意されています。
これはSource EngineベースのゲームをiZ3Dで立体視表示させたとき,視点位置に最も近い位置に来る手持ちの銃器グラフィックスが間延びしてしまうアーティファクトを防ぐオプションになります。同じValve系のHalf-LifeシリーズやLeft 4 Deadシリーズ,Team Fortressシリーズなどにもこのオプションは効くようですね。
シンプルステレオ プロジェクション メソッドを無効化した状態。手待ちの銃が手前に強く飛び出しすぎている。これを好むユーザーがいるかもしれない(jps形式のファイルをダウンロード) |
シンプルステレオ プロジェクション メソッドを有効化。手持ち武器の過度な飛び出しが抑制される(jps形式のファイルをダウンロード) |
どのゲームにおいても,実際にゲームグラフィックスをレンダリングしているのはGeForce GTX 680なので,グラフィックスオプションは最高位に設定できます。なので,7インチという小画面サイズながら,グラフィックス品質自体は相当ゴージャスなんですね。ボクも仕事柄,さまざまな3D立体視映像を見てきていますが,高画質でリッチな立体視映像を見るのはたいてい大画面でした。なので,こんな小さな画面でリッチなゲームグラフィックスを,ましてや裸眼立体視で見たのは今回が初体験です。このミスマッチ感というか,不思議な組み合わせは,逆になんだか楽しげで,人に見せたくなる衝動に駆られます。
もっとも,プレイしているうちに,いいことばかりではなくて,ネガティブな面も見えてきましたので,それもちゃんと記しておきましょう。
まず,RockVision 3Dの画面は,「奥の敵を狙って撃つ」ようなタイプのゲームは向きませんでした。
3D立体視時,左右の眼のそれぞれに表示する映像解像度が400×480ドットと,かなり低解像度になってしまうため,画面サイズが7インチしかないという問題だけでなく,解像度的にも「奥の敵を狙って撃つ」のがつらいです。遠方の敵は豆粒のように小さく,しかも十数ドットでしか描かれないので,いうなれば,このプレイスタイルでプレイすること自体がゲームの難度を上げてしまっています。今回プレイしたMirror's EdgeやPortalはFPSスタイルのゲームですが,戦闘主体ではなく,しかも狙い撃つターゲットがそれほど遠くに存在しないタイプのゲームだったので,それほどストレスは溜まりませんでしたが,本格的なFPSだったら,結構,胃がチリチリしたかもしれません。
また,ゲージや数字パラメータ,台詞の字幕などが,解像度不足で判読不可能になることもあったので,やはり解像度はもう少しほしい気がしました。
そしてもう1つ,半ば強引に立体視化しているため,一部の影表現や,フォグ&スモーク表現,高輝度オブジェクトからの光の溢れ出し表現――いわゆるHDR表現――といった平面ベースのポストエフェクトが正しく立体的に表示されないことがありました。そうしたエフェクト群は手前とも奥とも分からない感じで描かれていて,メインのオブジェクト群との立体的な位置関係に矛盾が出てしまうんですね。この問題は,同様のアプローチでゲームを立体視化させている3D Visionでもしばしば起こります。
というわけで,RockVision 3Dネタは今回でおしまいです。
興味があればぜひとも,7800円の裸眼立体視ライフに挑戦してみてください。
■■西川善司■■ テクニカルジャーナリスト。4Gamerの連載「3Dゲームエクスタシー」をはじめ,オンライン/オフラインのさまざまなメディアに寄稿したり,バカゲーを好んでプレイしたり,大画面にときめいたり,観切れないほどBlu-rayビデオを買ったり,オヤジギャグを炸裂させたりして毎日を過ごしている。 |
- この記事のURL:
キーワード