オススメ機能
Twitter
お気に入り
記事履歴
ランキング
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
[GDC 2016]Oculusの「Rift」を使うならOSは「Windows 10」がベスト? 開発者向けセッションで明らかになったその理由とは
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2016/03/18 15:17

イベント

[GDC 2016]Oculusの「Rift」を使うならOSは「Windows 10」がベスト? 開発者向けセッションで明らかになったその理由とは

Anuj Gosalia氏(Engineer, Oculus)
画像集 No.002のサムネイル画像 / [GDC 2016]Oculusの「Rift」を使うならOSは「Windows 10」がベスト? 開発者向けセッションで明らかになったその理由とは
 GDC 2016の3日目である北米時間2016年3月16日,Oculus VRは,「Building for the Rift with the Oculus PC SDK」と(PC用SDKを用いた,Rift用の開発)と題する技術セッションを行った。
 基本的には,仮想現実(以下,VR)対応型ヘッドマウントディスプレイ(以下,HMD)「Rift」向けアプリケーションを制作する開発者向けのセッションなのだが,RiftとWindows 10の関係や,Rift用のホームアプリといった具合に,興味深い情報がいくつも出てきたので,要点をまとめてみよう。セッションを担当したのは,Oculus VR(以下,Oculus)のエンジニアであるAnuj Gosalia氏だ。


Riftを快適に使うにはWindows 10の最新ビルドがベスト


 VR HMDでは,不快感をもよおす原因になる遅延や表示のJudder(ジャダー,カク付き。3Dグラフィックス業界では「Stutter」と呼ぶことが多い)をいかになくすが,アプリケーション制作において非常に重要となっており,Oculusでは,それを開発者に周知して,対策をとるように促している。
 そんなOculusが提唱する遅延低減の仕組みの1つが,「非同期タイムワープ」(Asynchronous TimeWarp,ATW)だ。これは,遅延低減テクニックとして知られるタイムワープの改良版である。

 非同期タイムワープについて詳しく説明するのが本稿の趣旨ではないため,詳細は,西川善司氏による解説記事1解説記事2を参照してもらうとして,大雑把に説明しておこう。「頭部の動きを取得したセンサーの情報をもとにしてレンダリングした映像を,頭の動きに合うよう位置をずらして描画するときに,V-Sync同期を待たない」のが,非同期タイムワープと呼ばれる手法である。
 PlayStation VRの開発元であるSony Computer Entertainmentは,同様の手法を「Temporal Reprojection」(時間再射影)と呼んでいる。呼び名は違うが基本原理は同じで,VR HMDには必須の手法といっていい。

GTC 2015のセッションで,NVIDIAがTimewarpの概念を説明するのに使ったスライド。左のスライドは,ある瞬間における頭部の位置をもとに描画した映像だが,映像描画中にも首が動き続けると,視界は右にずれていく。そこで右のスライドにあるように,動きに合わせて映像をやや左側に寄せて描画するのがTimewarpの基本だ
画像集 No.003のサムネイル画像 / [GDC 2016]Oculusの「Rift」を使うならOSは「Windows 10」がベスト? 開発者向けセッションで明らかになったその理由とは 画像集 No.004のサムネイル画像 / [GDC 2016]Oculusの「Rift」を使うならOSは「Windows 10」がベスト? 開発者向けセッションで明らかになったその理由とは

 この非同期タイムワープを実現するためにOculusでは,「GPUプリエンプション」――GPUが処理を一時中断して,別の処理を行う機能のこと――を用いているのだが,Gosalia氏は「GPUプリエンプションはまだ完全ではない」と言う。
 そこでMicrosoftが,Windows 10に非同期タイムワープを実現するための改良を加えたそうだ。改良が加えられたのは,Windows 10のビルド番号「10586.14」であるとのこと。つまり,Riftで非同期タイムワープを正しく機能させるには,ビルド番号10586.14以降のWindows 10が望ましいことになる。幸いなことに,Windows UpdateでWindows 10を最新の状態に保っているなら,ビルド番号は10586.14以降になっているはずなので,ユーザーがとくに何かする必要はないはずだ。

※Windows 10のビルド番号を確認するには,OS標準の「Winver」アプリを実行するのが簡単だ。

 Gosalia氏によると,NVIDIAは「GeForce 361.91 Driver」以降,AMDは「Radeon Software Crimson Edition 16.3 Hotfix」以降のドライバで,Windows 8.1および7でも非同期タイムワープを利用できるようにしているという。「ただ,それでもWindows 10(のビルド番号10586.14以降)がよりベターである」(Gosalia氏)。

Windows 10のビルド番号10586.14以降を使うと,非同期タイムワープを効果的に利用できるという
画像集 No.005のサムネイル画像 / [GDC 2016]Oculusの「Rift」を使うならOSは「Windows 10」がベスト? 開発者向けセッションで明らかになったその理由とは

 VRアプリケーションにとって重要な手法である非同期タイムワープだが,万能の切り札というわけではなく,いろいろなトレードオフがあるとGosalia氏は述べる。たとえば,「非同期タイムワープによって小さなJudderが起こる」(Gosalia氏)ほか,現行世代のGPUによるGPUプリエンプションがまだ完全でないといった問題があるそうだ。ただ,「次世代のGPUでは,GPUプリエンプションがより完全なものになるはずだ」と,Gosalia氏は述べているので,2016年以降に登場する新アーキテクチャのGPUに期待といったところか。

現状では,非同期タイムワープにもトレードオフはある。次世代GPUではGPUプリエンプションがより完全なものになるそうなので,それに期待か?
画像集 No.006のサムネイル画像 / [GDC 2016]Oculusの「Rift」を使うならOSは「Windows 10」がベスト? 開発者向けセッションで明らかになったその理由とは

 Gosalia氏は,非同期タイムワープ以外にもWindows 10のほうがRiftを利用するのに向いている理由をいくつか説明していた。その1つは,グラフィックスメモリの扱い方にある。
 Rift用VRアプリケーションは,多くのグラフィックスメモリを必要とする場合が多いのだが,グラフィックスメモリが不足してメモリページングが起きた場合,Windows 8.x/7とWindows 10では挙動が異なるという。Windows 8.x/7では「グラフィックスを使うアプリケーションのすべてが停止する」(Gosalia氏)のに対して,Windows 10のメモリ管理は賢くできているため,アプリケーションの動作に影響が出ても表示が停止するようなことは起こりにくくなっているそうだ。
 さらに,DirectX 12では「リソースの非同期読み込み」(Async resource load)といったことが可能なので,その点でも表示が停止しにくいという利点があるということだった。

Windows 8.x/7とWindows 10では,グラフィックスメモリの管理にも違いがあるため,メモリページングが発生しても,表示が停止したりしにくい
画像集 No.007のサムネイル画像 / [GDC 2016]Oculusの「Rift」を使うならOSは「Windows 10」がベスト? 開発者向けセッションで明らかになったその理由とは

 Gosalia氏の説明をまとめると,Riftは事実上,Windows 10が推奨OSということになるようだ。Riftを導入しようとしている人は,PCのOSをWindows 10に移行することも検討しておくべきかもしれない。


Riftのホームアプリは「Oculus Home」

アプリを一時停止すると「Universal Menu」に遷移


 テクニカルな話から打って変わって,次の話題はRiftのアプリケーションに関するものだ。

 Rift用アプリケーションは,Windowsのデスクトップから起動できるのは当然だが,Oculusが用意する独自のホームアプリ「Oculus Home」からも起動できる。Riftを装着したままでも使いやすいように作られているので,Rift用アプリケーションを起動するときは,こちらを使うのがメインになるかもしれない。

これがRiftのホームアプリであるOculus Homeの画面だ。立て看板のように浮いているのが,各アプリケーションである
画像集 No.008のサムネイル画像 / [GDC 2016]Oculusの「Rift」を使うならOSは「Windows 10」がベスト? 開発者向けセッションで明らかになったその理由とは

Oculus Homeから,VRアニメコンテンツの「Henry」(関連記事)を起動したところ
画像集 No.009のサムネイル画像 / [GDC 2016]Oculusの「Rift」を使うならOSは「Windows 10」がベスト? 開発者向けセッションで明らかになったその理由とは

 Oculus HomeからVRアプリケーションを起動したあとで,VRアプリケーションを一時停止すると,「Universal Menu」という汎用メニュー画面に切り替わる。ここでアプリケーションを終了させると,またOculus Homeに戻るという動作になるそうだ。
 PlayStation 4やXbox Oneのホーム画面的な機能をRiftで実現しているのが,Oculus Homeであると考えれば分かりやすいだろうか。

動作中のHenryを一時停止すると,Universal Menuが表示された。ここからアプリケーションを終了したり,Oculus Homeに戻ったりできる
画像集 No.010のサムネイル画像 / [GDC 2016]Oculusの「Rift」を使うならOSは「Windows 10」がベスト? 開発者向けセッションで明らかになったその理由とは

 こうした仕組みがあるので,,アプリケーションは一時停止やOculus Homeに戻るといった動作を考慮して作成しましょう,というのが,開発者に向けたGosalia氏のメッセージである。ゲーマーとしては,Riftを利用するときには,こういう操作ができるということを覚えておけばいいだろう。

Riftにおける基本的なアプリケーションのライフサイクル。写真が見にくくて恐縮だが,左上の円は「App」(アプリケーション),下の円には「Home」と書かれている。右上の円にある「UM」は,Universal Menuのこと。Oculus Homeから起動されたアプリケーションは,一時停止状態になるとUniversal Menuに切り替わり,終了するとOculus Homeに戻る
画像集 No.011のサムネイル画像 / [GDC 2016]Oculusの「Rift」を使うならOSは「Windows 10」がベスト? 開発者向けセッションで明らかになったその理由とは

 3月28日にはRiftの出荷が始まるので,早い人には月内か,4月早々に届くことになりそうだ。Oculus HomeやUniversal Menuの使い心地を,早く実機で試してみたいものである。

Oculus VR 公式Webサイト

4Gamer GDC 2016関連記事一覧


  • 関連タイトル:

    Rift

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:04月18日〜04月19日