前回の記事では、3Dスキャンアプリを使って現実空間のマッピングを行いました。
本記事では、スキャンしたマップをUnityで表示します。
ARCloudを使った開発の流れ
今回は「④マップをUnity上にインポート」の部分を紹介します!
Unityを使った3Dマップ読み込み
新規プロジェクトの作成
UnityHubを開いて、新規プロジェクトを作成します
プロジェクトのテンプレートは「3D」を選択します。
次に、プロジェクト名を記入します。
保存先については、特に理由が無い限りデフォルトのものがオススメです。
プロジェクト名を記入したら、右下の「作成」ボタンをクリックしてください。
このような画面が表示されたら、プロジェクトの作成は成功です!
Pretia SDKのインポート
プロジェクトの作成が終わったら、ARCloudを使用するための「Pretia SDK」を導入します。
Unityのマニフェストファイルを編集してパッケージをインポートします。
マニフェストファイルには、プロジェクトに入っているツールの依存関係が記載されています。
「Project」ビューの中にある「Packages」フォルダを選択して、「Show in Explorer」をクリックします。
ファイルエクスプローラーが開いたら、「Packages」フォルダをの中にある「manifest.json」をテキストエディタで開いてください。
マニフェストファイルが開けたら、各セクションに値を追加します。
depandenciesセクション
このセクションは、既にマニフェストファイルの中に存在しているはずです。
下記の値を追加します。
"com.pretia.sdk": "0.5.0"
scopedRegistriesセクション
このセクションは追記が必要となります。
新たにセクションを記載し、下記の値を書き込みます。
{
"name": "Pretia Technologies",
"url": "https://registry.npmjs.com",
"scopes": [ "com.pretia" ]
}
変更後のマニフェストファイルは、下記のようになります。
{
"dependencies": {
...
"com.pretia.sdk": "0.5.0",
...
},
"scopedRegistries": [
{
"name": "Pretia Technologies",
"url": "https://registry.npmjs.com",
"scopes": [ "com.pretia" ]
}
]
}
テキストファイルを保存したら、パッケージがインポートできているかを確認します。
Unityの画面を開き、メニューバーの「Edit」>「Project Settings」を開きます。
「Package Manager」セクションに、「Pretia Technologies」が表示されていたら成功です。
サンプルプロジェクトのインポート
ここからは、PretiaSDKに用意されているサンプルプロジェクトを使って最初のアプリを作っていきます。
ARCloudのアプリ画面から、「AppKey」をコピーしてください。
Unityの画面に戻り、「Pretia」>「Sdk Setup」を選択してください。
SDKの認証画面が開きますので、先ほどコピーした「AppKey」と、認証用のユーザー情報を入力してください。
サンプルシーンのインポート
次に、SDKに用意されているサンプルシーンをインポートします。
「Window」>「Package Manager」を選択してください。
下記の画像の通りに階層を下っていき、「Map-based Relocalizaion Sample」をインポートします。
インポートされると、「Project」ビューにファイルが増えます。
画像の階層の中にある「シーンファイル」(Unityのアイコン)をクリックしてください。
マップの表示
サンプルシーンが表示出来たら、先ほどスキャンしたマップをインポートします。
「Pretia」>「Map Download」を選択してください。
「Map Download」タブが開くので、「Reload groups」を選択してください。
※ログイン状態でない場合は、まずログインをしてください
成功すると、ARCloudの開発画面でインポートしたマップが表示されますので、「Import map」を選択してください。
インポートが成功すると、「Hierarchy」パネルに、マップ名のオブジェクトが表示されます。
「Scene」ビューでは、取得した3Dマップを見ることができます。
配置したアンカーもこの通り見えるようになっています。
このアンカーの位置をもとに、表示させたい物を配置していく…という流れです。
今回は、Android端末を使った現実世界の3Dマップ作成と、サンプルプロジェクトの作成を行いました。
次回の記事では実際にAndroid端末にアプリを書き出して、現実世界の映像にオブジェクトを表示します!