連載
» 2016年01月08日 05時00分 公開

Vuforiaで立体をARマーカーにしてスケスケ&動画再生Unity+ARで何ができるのか(2)(3/4 ページ)

[渡邉清峻,博報堂アイ・スタジオ]

ターゲットの中が透ける「Occlusion Management」

 「Occlusion Management」は立体のマーカーを用いて表現できるサンプルです。立体のマーカーがあたかも透けたように見え、その中にオブジェクトが入っているような表現ができます。

 Unityで新しいプロジェクトを立ち上げ、「Advanced Topics」でダウンロードした「vuforia-samples-advanced-unity-5-0-5」の「OculusionManagement-5-0-5.unitypackage」と今回使用するマーカーのDatabaseのパッケージをインポートしてください。

 このサンプルの構成を、最初から構築しながら説明していきます。

サンプルシーンから必要なAssetをプレハブ化

図11

 新しいシーンを作成する前に「Hierarchy」にある「SceneManager」と、「MultiTarget」の子オブジェクトである「BlenderCube」「GridCube」をプレハブとして登録してください。こちらは後で使用します。

「Occlusion Management」を使う準備

 それでは、新しいシーンを作成してください。

 まず、前回同様に「Hierarchy」に「ARCamera」「MultiTaregt」をドラッグ&ドロップして各設定を行ってください。また、先ほどプレハブ化した「SceneManager」を「Hierarchy」に追加してください。

図12

 「SceneManager」の子オブジェクトである「AppManager」の「Inspector」の「M Handler」に今回使用する「MultiTarget」を設定してください。

 次に、先ほどプレハブ化した「BlenderCube」と「GridCube」を「Multi Target」の子オブジェクトとしてドラッグ&ドロップしてください。

 「BlenderCube」は透過したような面を表示するオブジェクトで、適宜大きさを今回使用する「Multi Target」と同一になるように合わせてください。

 「GridCube」は透過しているマーカーの内部の奥行きを見やすくするためのグリッド状のマテリアルが設定されたオブジェクトです(こちらは使用しなくても透過処理は行えます)。

 こちらも大きさを「MultiTarget」と同一になるように合わせてください。

図13

 続いて、「Asset」→「Script」の「Occlusion Management Event Handler」を「MultiTarget」にドラッグ&ドロップしてください。その後、「MultiTarget」の「Default Trackable Event Handler」をRevertしてください。

透過させるマーカーの設定

 次に今回設定したマーカーが透過するように設定します。

57	#region PRIVATE_METHODS
58	  private void OnTrackingFound()
59	  {
60	      Renderer[] rendererComponents = GetComponentsInChildren<Renderer>();
61	
62	      // Enable rendering:
63	      foreach (Renderer component in rendererComponents) {
64	          if (!component.name.Contains("ここを使用するマーカー名に変更する"))
65	          {
66	              component.enabled = true;
67	          }
68	      }
69	
70	      Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found");
71	  }
リスト1

 先ほど「MultiTarget」にドラッグ&ドロップした、「Occlusion Management Event Handler」をダブルクリックして開いてください。64行目にある「if(!component.name.Contains(」に続く部分を今回使用したマーカー名に変更します。

MultiTargetに3Dオブジェクトをひも付けてOcclusion Managementの実行

 これで今回設定したターゲットが透過するはずです。実行してみます。

図14

 透過されました。「MultiTarget」なので、どの面から見ても透過されていることが確認できます。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。