🏙️

PLATEAU SDK-AR-Extensions for Unityのサンプルを動かす

2024/05/12に公開
2

1. 概要

PLATEAU SDK-AR-Extensions for Unity のサンプルを新規プロジェクトから作成した場合、動かすまでに一苦労があったためまとめる。

2. PLATEAU SDK-AR-Extensions for Unityとは

PLATEAUとは、PLATEAU SDK-AR-Extensions for Unityとは何かはPLATEAU SDK-AR-Extensions for Unityの README を参照してください。

3. 環境

OS

  • macOS Sonoma 14.2.1

Unity

  • Unity 2021.3.35f1
    • URP(Universal Render Pipeline)

PLATEAU

  • PLATEAU SDK for Unity v2.3.2
  • PLATEAU SDK-AR-Extensions for Unity v1.0.1

4. 手順 - 各種インストール

4.1. UnityのURPプロジェクト作成

  1. Unity HubのNew Projectから Universal 3D のプロジェクトを作成する
    • この時、Editor Versionは 2021.3.35f1 になっていることを確認する

4.2. PLATEAU SDK for Unityのインストール(参考

  1. PLATEAU SDK for UnityのReleaseページから v2.3.2PLATEAU-SDK-for-Unity-v2.3.2.tgz をダウンロードする。
  2. Unityのメニューバーから Window -> Package Manager を開く
  3. Package Managerの + ボタンから Add package from tarball... を選択する
  4. 1でダウンロードしたPLATEAU-SDK-for-Unity-v2.3.2.tgz を選択する

4.3. PLATEAU SDK-Toolkits for Unityのインストール(参考

  1. PLATEAU SDK-Toolkits for UnityのReleaseページから v1.0.1com.unity.plateautoolkit-1.0.1.tgz をダウンロードする。
  2. Unityのメニューバーから Window -> Package Manager を開く
  3. Package Managerの + ボタンから Add package from tarball... を選択する
  4. 1でダウンロードしたcom.unity.plateautoolkit-1.0.1.tgz を選択する
  5. 入力システムについての確認ダイアログが表示された場合は Yes を選択します。

4.4. Google ARCore Extensionsのインストール(参考

Google ARCore Extensionsのインストールは TOPIC 23|3D都市モデルを使った位置情報共有ゲームを作る[1/2]|基本のゲームを作る を参考にしていただけれ問題ありませんが、こちらにも必要な部分をピックアップして記載します。

  1. AR Foundationのインストール
  2. Apple ARKit XR Plugin、Google ARCore XR Pluginのインストール
  3. Geospatial APIのインストール
  4. ARCoreおよびARKitの有効化
  5. Geospatial APIのAPIキーを設定する
  6. プラットフォームの設定を変更する
  7. GeospatialConfigを修正する
  8. Renderer-Featuresを設定する
    [Project]ウィンドウで、[Assets]―[Settings]に含まれるURPの設定項目をクリックし、[Inspector]で、[Renderer Features]に[AR Background Renderer Feature]が設定されていない場合は、追加してください。使用するURP設定項目がわからなければ、Settings以下のURP-XXXXのすべてに対して追加してください。

4.5. PLATEAU SDK-AR-Extensions for Unityのインストール(参考

  1. PLATEAU SDK-AR-Extensions for UnityのReleaseページから v1.0.1com.unity.plateautoolkit.ar-1.0.1.tgz をダウンロードする。
  2. Unityのメニューバーから Window -> Package Manager を開く
  3. Package Managerの + ボタンから Add package from tarball... を選択する
  4. 1でダウンロードしたcom.unity.plateautoolkit.ar-1.0.1.tgz を選択する

4.6. Cesium for Unityのインストール(参考

PLATEAU SDK-AR-Extensions for Unityの3DTilesを用いたサンプルを使わない場合は不要ですが、エラーが出るためCesium for Unityをインストールします。

  1. Cesium for UnityのReleaseページから v1.6.3com.cesium.unity-1.6.3.tgz をダウンロードする。
  2. Unityのメニューバーから Window -> Package Manager を開く
  3. Package Managerの + ボタンから Add package from tarball... を選択する
  4. 1でダウンロードしたcom.cesium.unity-1.6.3.tgz を選択する

5. 手順 - サンプルの環境構築

PLATEAU SDK-AR-Extensions for Unityの1. サンプルを用いたARアプリケーションの体験5. ARオクルージョン機能の利用方法を参考にサンプルの実行環境を構築します。

5.1. AR Extensions サンプルのインポート

5.2. サンプルシーンを設定する

  1. Assets/Samples/PLATEAU AR Extensions for Unity/${AR Extensions バージョン}/AR Samples/Scenes/Sample01_PlateauSdkAR.unity を開きます。
  2. TMP Importerが表示されるため、 Import TMP Essentials を選択します。

5.3. unitychanのマテリアルエラー(マゼンダ)を修正する

  1. Hierarchy内のunitychanを選択するとマテリアルエラーになっています

    Platformが Windows, Mac, Linux の場合


    5.5. アプリケーションをビルドして端末にインストールする でPlatformを Android にした場合

  2. Unityのメニューバーから Window -> Package Manager を開く

  3. Package Managerの + ボタンから Add package from git URL... を選択する

  4. com.unity.toonshader と入力して Add を選択する

  5. マテリアルエラーが修正される

5.4. 遮蔽オブジェクトマテリアルの作成

  1. Create -> Material から新しいマテリアルを作成する
    • 本記事ではこのマテリアルを AROccluder としています
  2. Base Map に任意の色に変更する

5.5. レイヤーの作成

  1. Project Settings > Tags and Layers を開く
  2. User Layer 6 に遮蔽される側のレイヤー AR OccludeeUser layer 7 に遮蔽する側のレイヤー AR Occluder を設定する

5.6. URP描画設定にレイヤーを設定

  1. [Project]ウィンドウで、Assets > Settingsに含まれるURPの描画設定項目を開く
    • 使用するURP描画設定項目がわからなければ、Settings以下のURP-XXXXのすべてに対して追加してください
  2. Filtering > Opaque Layer Mask から遮蔽される側のレイヤー AR Occludee のチェックを外す
  3. Filtering > Transparent Layer Mask から遮蔽される側のレイヤー AR Occludee のチェックを外す
  4. AR Background Renderer Feature が設定されていない場合は、追加する
  5. Plateau AR Occlusion Renderer Feature を追加する

  6. AR Occludee Mask に遮蔽される側のレイヤー AR Occludee を設定する
  7. AR Occluder Mask に遮蔽する側のレイヤー AR Occluder を設定する
  8. AR Occluder Material に遮蔽オブジェクトマテリアルを設定する
    • 作成していない場合は Assets/Samples/PLATEAU AR Extensions for Unity/${AR Extensions バージョン}/AR Samples/Materials/AROccluder
    • 作成した場合は作成したマテリアル

5.7. 遮蔽するオブジェクトのレイヤーを変更

  1. Hierarchyで PlateauSdkCityModel > unitychan を選択する
  2. Inspectorで Layer を遮蔽される側のレイヤー AR Occludee に設定する
    • サンプルに合わせてレイヤー設定を行なっていると既に設定済みになっています

5.8. 遮蔽されるオブジェクトのレイヤーを変更

  1. Hierarchyで PlateauSdkCityModel > 13100_tokyo23-ku_2020_citygml_3_2_op を選択する
  2. Inspectorで Layer を遮蔽する側のレイヤー AR Occluder に設定する
    • サンプルに合わせてレイヤー設定を行なっていると既に設定済みになっています

5.9. 遮蔽するオブジェクトのマテリアルをZWriteに変更

  1. メニューの PLATEAU > PLATEAU Toolkit > AR Extensions を開く
  2. マテリアルに ZWrite マテリアルを設定する
    • ZWrite マテリアルは Packages > PLATEAU SDK-AR-Extensions for Unity > PlateauToolkit.AR > Runtime > Materials > ZWrite にあります
    • ARオクルージョン遮蔽用マテリアルの参照を取得 ボタンを押すと自動的に設定されます
  3. シーン上のの年モデルのマテリアルを変更 ボタンを押す

5.10. 遮蔽オブジェクトマテリアルの設定

  1. Hierarchyで AR > ARSettingsController を選択する
  2. Inspectorで AR Settings Controller コンポーネントの AR Occluder Material に遮蔽オブジェクトマテリアルを設定する
    • 作成していない場合は Assets/Samples/PLATEAU AR Extensions for Unity/${AR Extensions バージョン}/AR Samples/Materials/AROccluder
    • 作成した場合は作成したマテリアル

6. 手順 - サンプルの実行

PLATEAU SDK-AR-Extensions for Unityの1. サンプルを用いたARアプリケーションの体験を参考にしていただけれ問題ありません。

6.1. ビルド設定にシーンを追加する

6.2. アプリケーションをビルドして端末にインストールする

7. 最後に

始めて触ってみた時に下記がハマりポイントでしたのでまとめてみました。
これらを回避してPLATEAUで楽しんでみてください。

  • 4.2. PLATEAU SDK for Unityのインストール
    1. Renderer-Featuresを設定する
  • 4.6. Cesium for Unityのインストール
  • 5.3. unitychanのマテリアルエラー(マゼンダ)を修正する
  • 5.10. 遮蔽オブジェクトマテリアルの設定
GitHubで編集を提案

Discussion