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

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

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

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

LINEで4Gamerアカウントを登録
キヤノンITソリューションズからUnity向け複合現実(MR)システムが登場。Unityを採用したゲームのMR化がより簡単に
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2013/04/17 13:33

イベント

キヤノンITソリューションズからUnity向け複合現実(MR)システムが登場。Unityを採用したゲームのMR化がより簡単に

 キヤノンITソリューションズは,都内で開催されたUnity開発者向けのイベント「Unite Japan」において「Unityとキヤノン MREALシステムによる複合現実世界の実現」と題したセッションを行い,同社が開発した複合現実(MR)システム「MREAL」を紹介した。

向井利光氏(キヤノンITソリューションズ株式会社,MR事業部MR技術部)

「Unite Japan」公式サイト



複合現実(MR)と拡張現実(AR)


 バーチャルリアリティ(VR=Virtual Reality)という用語が一般に使われるようになって久しいが,VRに似た拡張現実(AR=Augmented Reality)という言葉も,ニンテンドー3DSやPlaystation Vita向けに対応ゲームがリリースされたことから認知度が高くなりつつある。ARはVR技術を応用したもので,現実世界にVRベースのリアルタイムCGを加えたものだ。
 しかし,今回の講演のテーマである複合現実(Mixed Reality)は,まだ研究者の間で使われている程度の用語で,一般の理解度はそれほど高くない。

 登壇したキヤノンITソリューションズ MR事業部MR技術部の向井利光氏はまず,「個人的な認識を交えているが,あえて区別するとすれば」と前置きをして,MRの定義についての解説を行った。

 向井氏によれば,ARは現実世界にリアルタイムCGを加えて現実世界を拡張,強化するものだが,MRはリアルタイムCGの存在感をより強化するためのものだという。実際,研究者の間でもARとMRの明解な区別はなされていないようだが,簡単に言って,現実世界の比重が大きいのがAR,仮想世界の比重が大きいのがMRといった感じだろうか。

ARとMR
Unity

キヤノンITソリューションズのHMDシステム(VH-2007)を使用して立命館大学の研究グループが開発したMR型お化け屋敷「KAIDAN」。現実世界のセットで組まれた古びた屋敷の各所からリアルタイムCGのお化けが出現する。プレイヤーはこれらのお化けを剣で退治していくのだが,プレイヤーが持っているのは剣の柄だけ。しかし,プレイヤー視界からは立派な刃が見えている。その刃もCGなのだ。SIGGRAPH ASIA 2009の展示より
Unity
Unity


キヤノンITソリューションズが開発したHMD「HM-A1」


 キヤノンITソリューションズは,このMRの取り扱うためのMRプラットフォーム「MREAL」を開発中だ。MREALは以下の3つの要素から構成されており,同社は各要素に対して精力的な開発作業を進めているという。

3要素からなる「MREAL」
Unity

 まず専用ハードウェアだが,これは,AR/MRに適した小型軽量のHMD(ヘッドマウントディスプレイ)となる。
 
 HM-A1と名付けられた最新型HMDの特徴は,現実世界を撮影するための2基のカメラがセットされていることだ。MRに対応した一般的なHMDの場合,頭部にカメラが仕込まれるが,これでは使用者の視界との不一致が起こり,違和感を覚えるという。HM-A1では,専用光学設計のプリズムを活用し,使用者が見るディスプレイパネルの視界とカメラの撮影画角と光軸を一致させているのだ。

HM-A1は専用のプリズムを使用して,使用者が見るディスプレイパネルの視界とカメラの撮影画角とを一致させているわけだが,光学機器のメーカーであるキヤノンだからこそできた技と言えるかもしれない
Unity

キヤノンITソリューションズが開発したHMD「HM-A1」
Unity
Unity

HMD制御ソフトウェアとこれを活用するためのSDK


 2つめの要素は,「MREAL」を制御するソフトウェアで,同社はこれらのソフトウェアを総称して「MRプラットフォーム」,略してMRPと呼んでいる。

 さて,MRを実現するためには,使用者の頭部の位置と向きをリアルタイムで把握する必要があり,これを実現するためのヘッドトラッキングシステムが必要になるが,それには大きく分けて以下の3つの方法がある。

 まず,メジャーなものが磁気センサーだ。スライドにもあるように,磁気トランスミッタから照射された磁場を,使用者のHMDに装着した磁気レシーバーで感知することで,トランスミッタとの相対距離および,前後左右のXYZ軸方向と回転方向軸の6軸のセンシングを行う仕組みだ。

磁気式トラッキングシステム。上記の「KAIDAN」はこの仕組みを採用していた
Unity

 続く光学式トラッキングシステムは,実用化された方法の中では最も精度が高いとされている。原理は,ゲームでも使われている光学式モーションキャプチャーとほぼ同じで,HMDに付けられた複数の光学式マーカーを赤外線カメラで撮影し,マーカーの見え方から位置座標と6軸の傾きを検出するものだ。

光学式トラッキングシステム
Unity

 そして最後は,幾何学マーカーを用いたトラッキングシステムだ。MREALでは,回転しても同じパターンとして認識されるユニークなマーカーを用いたシステムを採用している。

幾何学マーカーを掲げる向井利光氏
Unity

 MREALは,複数のマーカーを現実空間内のオブジェクトに貼り付けていくことで,現実空間のジオメトリ構造を正確にシステムに登録できることが特徴になっている。多面体構造のオブジェクトに対しては,その各面にマーカーを貼ることで,立体物の各面の向きや位置を正確に登録できるという。

幾何学マーカー式トラッキングシステム
Unity

専用のキャリブレーションツールも提供される
Unity


なんだかわけの分からないマーカーだらけの箱。これは……?
Unity

HMDで見ると,あら不思議
Unity

CGで描かれた立体的なコピー機として見える。どこからどう見てもコピー機で,手を触れればその感触も得られる。もっともそれは,マーカーの貼られた箱を触っているだけなのだが。とはいえ「CGオブジェクトに触れる」という感覚は新鮮だ
Unity

 主に以上のようなHMDトラッキングシステムが存在するわけだが,これらを統一的に取り扱えるようにするのがMRPとなる。MRPによってアプリケーションを開発すれば,開発者はヘッドトラッキングシステムが磁気方式であるのか光学方式であるのかといったことを意識する必要がないというわけだ。

MRPの概念図
Unity

 そして3つ目の要素が,このMRPを開発者が「C++ライブラリ」として使用できるソフトウェア開発キット,MRP SDKとなる。

MRP SDKの概念図
Unity

 このMRP,MRP SDKの機能のうち,分かりやすいものが紹介された。AR/MRはカメラで撮影した現実の映像にリアルタイムCGを乗せていくため,現実世界の使用者の手を,リアルタイムCGの手前に出すことは難しい。

 そこでMRPでは,肌色領域をキーカラーとして設定し,それがカメラで撮影した映像に含まれているときは,それをマスクとする機能を用意した。このマスクでリアルタイムCGを抜けば,抜かれた部分に肌色の手だけが描かれるようになり,あたかも「手が手前,CGが奥」というような表現を実現できる。

 上記のように,HM-A1では(光学的に)左右の眼の位置に2基のカメラが配置されるため,現実世界の映像は左右の視界に対応した2枚のフレームが得られる。この2枚の映像に対して2枚のマスクを取得し,マッチングを行えば,視差から距離を逆算でき,立体的なマスクパターンが得られる。

 この立体的なマスクパターンを使ってリアルタイムCGを抜けば「CGオブジェクトに,手を潜り込ませる」などといった,非常に正確な前後関係の表現が行えるのだ。

キーカラーによる単純なマスク抜き
Unity

2枚の映像の視差から距離を逆算し,立体的なマスクパターン(実質的には深度値に相当)が得られ,これを利用することで,CGと手との衝突判定が可能になる
Unity

「MREAL on Unity」を実演。既存アプリを5分でMR化


 このMRP SDKのUnity版が,「MR Plug-in for Unity」であり,Unity Package(Unity標準形式のアーカイブ)で提供されるという。ちなみにUnityは,C#によるプログラミングが可能になっていることが売りの一つなのだが,現在のところ「MR Plug-in for Unity」はC++ライブラリで,C++からの利用に限定されている。

MR Plug-in for Unityの概念図
Unity

 講演の最後には,Unityで,「MR Plug-in for Unity」をインストールしての実演が行われた。今回の講演では都合によりHMDを持ってくることができなかったため,その代わりに市販のWebカメラが使用された。

今回の実演では,WebカメラをHMDとして使用
Unity

 基本的なMR表現である「マーカー上にCGを出現させる」というだけであれば,MREALなら5分もかからないと向井氏は言う。実際,向井氏が壇上で行ったのは,Unityでワールド座標系の原点に直方体を置き,視点(カメラ)を適当に設定するという作業だけだった。

Unity上で「MR Plug-in for Unity」をインストール
Unity

直方体オブジェクトをワールド座標系の原点に置き,見栄えを良くするために平行光源を設定。これだけで,Webカメラの映像ではマーカーの上に直方体が現れる。カメラを動かせば,マーカーの見え方に応じて直方体も正しく描画され続ける
Unity

 向井氏は,さらに,「MR Plug-in for Unity」のプロパティ設定で,別の直方体を適当なターゲットマーカーに割り当てるという実演を披露した。
 先ほどの直方体はワールド座標系の原点に置かれた,いわば静的に配置されたオブジェクトだったが,こちらは実質的な動的オブジェクトに相当する。向井氏がターゲットマーカーを動かすと,その上に置かれた直方体も,マーカーの動きに追従した。

椅子に置かれたマーカーと,向井氏が持つマーカー,それぞれにリアルタイムCGが追従する
Unity Unity

 単純なデモだったが,これは,既存のゲームアプリを最低限の改変でMR対応にできることを実演したことになる。もちろん,前述の立体的マスクパターンへの対応も「MR Plug-in for Unity」から利用可能だ。


 また,現実世界に静的に配置されたオブジェクトに対し,透明のマスクを設定することもできる。例えば,現実に段ボール箱があったとして,その段ボール箱と同形のマスクオブジェクトを設定しておけば,走り回るCGキャラクターが段ボール箱の背後に隠れるといった表現も可能になるわけだ。

マスクオブジェクト機能。これを活用すれば,現実世界オブジェクトにCGキャラクタが隠れるような表現が可能になる
Unity

Unity
SIGGRAPH2010では,ブースを走り回って隠れる恐竜を探し出すというデモが披露された。まさに,マスクオブジェクト技術がなければできなかった表現だ
Unity Unity

 キヤノンITソリューションズが手がけるMRアプリケーションは,企業向けに提供されており,最も導入実績があるのは自動車メーカーだという。ある自動車メーカーでは,車体や車内レイアウトの検討のために活用されており,また,運転席に着座した状態で,内装がユーザーにとって使いやすいかどうかの評価に使われている事例もあるという。

MR技術を用いた車体およびレイアウトの検討
Unity

MR技術を用いて,内装のレビューを行っている
Unity

 最近では,ゲーム関連,アミューズメント施設関連からの問い合わせも増えてきているそうで,近い将来,ゲームセンターやテーマパークなどで,「MR Plug-in for Unity」によって実現したゲームに遭遇するかも知れない。

立命館大学の研究グループが開発したMR型シューティングゲーム「百鬼面」。現実世界を背景に走り回るCGの小鬼を撃退していくゲームだが,投げるジェスチャーで手裏剣が飛んでいく。SIGGRAPH2010の展示より
Unity Unity

「Unite Japan」公式サイト

  • 関連タイトル:

    Unity

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