イベント
[GDC 2019]VRとAR,MRをソフトとハードの両面からクロスプラットフォーム化するAPI「OpenXR」がいよいよ試用版に
それに合わせて筆者はKhronos代表を務めるNVIDIAのNeil Trevett(ニール・トレヴェット)氏へのインタビューを行えたので,今回は,その内容も踏まえつつ,OpenXR 0.90がどんなものなのかを紹介してみたいと思う。
OpenXRはソフトとハードの両面からVRとAR,MRに対応するオープンスタンダードAPI
Oculus VRから「Rift」が,HTCからは「Vive」が登場し,「VR元年」などともてはやされたのは2016年のことだ。翌2017年にはMicrosoftがMR対応ヘッドマウントディスプレイ(以下,HMD)「HoloLens」を発表し,MRにも関心が集まった。2018年にはAR対応の「Magic Leap One」が業界内外から高い関心を集めたことも記憶に新しい。
このようにVRとAR,MRに対応するHMDの重要な製品がいくつか登場している状況にあって,対応アプリケーションを開発・提供する側は,各デバイスの仕様に合わせる必要に迫られている。というのも,開発にあたって用いるソフトウェア開発キット(Software Development Kit,SDK)がHMDプラットフォームごとに異なるからだ。
そして,この「HMDプラットフォームごとに異なるAPI仕様」の違いを吸収しようというのが,オープンスタンダードAPIとしてのOpenXRである。これまでにKhronosが手がけてきたOpenGLなどと同様のコンセプトなので理解はしやすいだろう。
下に示したのは左が「OpenXR以前」右が「OpenXR以後」の概念図だが,OpenXR以前は,あるアプリケーションソフトウェアを複数のHMDで利用できるようにしたい場合,利用させたいHMDの数だけ個別の対応が必要だった。また,1つのHMDハードウェアを複数のVR,AR,MRプラットフォームで利用できるようにしたい場合は,利用させたいプラットフォームの数だけ個別に抽象化層を実装する必要があった。
それに対し,OpenXRの仕組みを使えば,そうした個別対応は不要になるというわけである。
上のスライドでOpenXR以後のほうを見ると,「OpenXR Application Interface」(以下,OpenXR API)と「OpenXR Device Plugin Interface」という2つのブロックがあるが,OpenXRで注目したいのは,VRとAR,MRに対応したさまざまなHMD用デバイスドライバの違いを吸収する層としての後者のほうだ。
たとえばViveはSteamVRプラットフォームに準拠したVR対応HMDである。ユーザーの感覚としては「Vive=SteamVR」だと思うが,実のところ,SteamVR自体はVive専用ではなく,Razerの「OSVR」やFOVEの「FOVE 0」,StarVRの「StarVR One」といったHMDでもSteamVRプラットフォームのVRアプリケーションを動作させることができる。
この仕組みを実現するにあたって,そうしたHMDメーカーは自社で用意しているネイティブHMDドライバソフトウェアの上層に「SteamVRに対応するための抽象化層」を実装している。抽象化ドライバ層と言ってもいいだろう。
なので,あるHMDメーカーがSteamVR以外にGoogleの「Daydream」やMicrosoftの「Windows MR」にも対応させたいと考えた場合,この抽象化ドライバを,対応させたい先のプラットフォームごとに開発しなければならなかったわけだが,当該工程の負荷低減を図るためにKhronosが用意したのがOpenXR Device Plugin Interfaceなのである。
OpenXRのエコシステムにおいて,Khronosはアプリケーション開発側(=ソフト側)のためにOpenXR API,HMD開発側(=ハード側)のためにOpenXR Device Plugin Interfaceを用意したと考えると分かりやすいだろう。
下のスライドは,ここまでの話をもう少し具体的なスタック図で表したものだ。最上段の「Cross-platform XR Apps and Engines」がゲームアプリケーションやゲームエンジン,最下段の「Cross-platform XR Devices」がHMDに相当する。
「XR Vendor Runtime System」は,VRおよびAR,MRプラットフォームのフレームワークにおけるランタイム。「Vendor Supplied Device Drivers」がHMDごとのネイティブドライバで,OpenXR APIとOpenXR Device Plugin Interfaceがこれらの架け橋となるイメージだ。OpenXRであれば,理屈のうえでは,まったく無名な新興ベンチャー企業のHMDが既存の著名なVR,AR,MRプラットフォームすべてへの対応を謳うことができるわけである。もちろん,プラットフォームごとの認証などは必要になるケースがあると思われ,そこはまた別の話になるが。
バージョン1の発表は早ければ年内にも
Khronosとしては,「2018年に開発が始まったOpenXRの,ひとまずの進捗報告」にして,業界からの関心を集めて,広く意見を集めるための素材として,バージョン0.90を位置づけているそうだ。
正式リリースは「バージョン1.00」になる予定。その仕様決定は早ければ2019年内になる見込みとのことである。
昨年のOpenXR計画始動時と比べると協賛企業がかなり増えているのはトピックで,Trevett氏は「とくにMicrosoftが参加したのはホットトピックだと思う」と述べていた。
独自のWindows MRプラットフォームに注力しており,他のソフトウェアおよびハードウェアプラットフォームをそれほど気にかけていないイメージすらあったMicrosoft。そんな同社がOpenXRには協力を惜しまないと宣言し,Windows MR対応HMDだけでなく,「HoloLens 2」でもすべてOpenXRに対応させると予告しているのは確かにインパクトがある。
立ち上がったばかりのVRとAR,MRを一大コンピューティングエコシステムとして育てるために,今は互いに協力し合うべきという判断が下ったといったところだろうか。
KhronosのOpenXRプロモーションページ(英語)
- 関連タイトル:
OpenXR
- この記事のURL: