title | emoji | type | topics | published | |||||
---|---|---|---|---|---|---|---|---|---|
PLATEAU SDK-AR-Extensions for Unityのサンプルを動かす |
🏙️ |
tech |
|
true |
PLATEAU SDK-AR-Extensions for Unity のサンプルを新規プロジェクトから作成した場合、動かすまでに一苦労があったためまとめる。
PLATEAUとは、PLATEAU SDK-AR-Extensions for Unityとは何かはPLATEAU SDK-AR-Extensions for Unityの README を参照してください。
- macOS Sonoma 14.2.1
- Unity 2021.3.35f1
- URP(Universal Render Pipeline)
- PLATEAU SDK for Unity v2.3.2
- PLATEAU SDK-AR-Extensions for Unity v1.0.1
- Unity HubのNew Projectから
Universal 3D
のプロジェクトを作成する- この時、Editor Versionは
2021.3.35f1
になっていることを確認する
- この時、Editor Versionは
4.2. PLATEAU SDK for Unityのインストール(参考)
- PLATEAU SDK for UnityのReleaseページから
v2.3.2
の PLATEAU-SDK-for-Unity-v2.3.2.tgz をダウンロードする。 - Unityのメニューバーから
Window
->Package Manager
を開く - Package Managerの
+
ボタンからAdd package from tarball...
を選択する - 1でダウンロードしたPLATEAU-SDK-for-Unity-v2.3.2.tgz を選択する
:::message alert PLATEAU SDK for Unityの公式ドキュメントには GitのURL指定で導入する方法 もありますが、この方法でインストールすると下記のようなエラーが大量に発生するのでおすすめしません。
Could not create asset from Packages/com.synesthesias.plateau-unity-sdk/Images/AreaSelect/LOD2/bridge.png: File could not be read
:::
4.3. PLATEAU SDK-Toolkits for Unityのインストール(参考)
- PLATEAU SDK-Toolkits for UnityのReleaseページから
v1.0.1
の com.unity.plateautoolkit-1.0.1.tgz をダウンロードする。 - Unityのメニューバーから
Window
->Package Manager
を開く - Package Managerの
+
ボタンからAdd package from tarball...
を選択する - 1でダウンロードしたcom.unity.plateautoolkit-1.0.1.tgz を選択する
- 入力システムについての確認ダイアログが表示された場合は
Yes
を選択します。
4.4. Google ARCore Extensionsのインストール(参考)
Google ARCore Extensionsのインストールは TOPIC 23|3D都市モデルを使った位置情報共有ゲームを作る[1/2]|基本のゲームを作る を参考にしていただけれ問題ありませんが、こちらにも必要な部分をピックアップして記載します。
- AR Foundationのインストール
- Apple ARKit XR Plugin、Google ARCore XR Pluginのインストール
- Geospatial APIのインストール
- ARCoreおよびARKitの有効化
- Geospatial APIのAPIキーを設定する
- プラットフォームの設定を変更する
- GeospatialConfigを修正する
- Renderer-Featuresを設定する [Project]ウィンドウで、[Assets]―[Settings]に含まれるURPの設定項目をクリックし、[Inspector]で、[Renderer Features]に[AR Background Renderer Feature]が設定されていない場合は、追加してください。使用するURP設定項目がわからなければ、Settings以下のURP-XXXXのすべてに対して追加してください。 :::message URPプロジェクトの場合は、この設定を行わないとアプリでカメラ画像が真っ暗で表示されません。 :::
4.5. PLATEAU SDK-AR-Extensions for Unityのインストール(参考)
- PLATEAU SDK-AR-Extensions for UnityのReleaseページから
v1.0.1
の com.unity.plateautoolkit.ar-1.0.1.tgz をダウンロードする。 - Unityのメニューバーから
Window
->Package Manager
を開く - Package Managerの
+
ボタンからAdd package from tarball...
を選択する - 1でダウンロードしたcom.unity.plateautoolkit.ar-1.0.1.tgz を選択する
:::message alert
下記のようなエラーが出ます。4.6. Cesium for Unityのインストールのインストールを行なってください。
:::
Library/PackageCache/com.unity.plateautoolkit.ar@07e1ee401d81/PlateauToolkit.AR/Runtime/PlateauARPositioning.cs(7,7): error CS0246: The type or namespace name 'CesiumForUnity' could not be found (are you missing a using directive or an assembly reference?) Library/PackageCache/com.unity.plateautoolkit.ar@07e1ee401d81/PlateauToolkit.AR/Runtime/PlateauARPositioning.cs(51,26): error CS0246: The type or namespace name 'CesiumGeoreference' could not be found (are you missing a using directive or an assembly reference?) Library/PackageCache/com.unity.plateautoolkit.ar@07e1ee401d81/PlateauToolkit.AR/Runtime/PlateauARPositioning.cs(52,26): error CS0246: The type or namespace name 'Cesium3DTileset' could not be found (are you missing a using directive or an assembly reference?) Shader Graph at Packages/com.unity.plateautoolkit.ar/PlateauToolkit.AR/Runtime/Shaders/CesiumTilesetClippingShader.shadergraph has 8 error(s), the first is: Validation: Could not find Sub Graph asset with GUID 45c8c2a0ab2df934c8e0f63147f35d0e.
4.6. Cesium for Unityのインストール(参考)
PLATEAU SDK-AR-Extensions for Unityの3DTilesを用いたサンプルを使わない場合は不要ですが、エラーが出るためCesium for Unityをインストールします。
- Cesium for UnityのReleaseページから
v1.6.3
の com.cesium.unity-1.6.3.tgz をダウンロードする。 - Unityのメニューバーから
Window
->Package Manager
を開く - Package Managerの
+
ボタンからAdd package from tarball...
を選択する - 1でダウンロードしたcom.cesium.unity-1.6.3.tgz を選択する
PLATEAU SDK-AR-Extensions for Unityの1. サンプルを用いたARアプリケーションの体験と5. ARオクルージョン機能の利用方法を参考にサンプルの実行環境を構築します。
5.2. サンプルシーンを設定する
- Assets/Samples/PLATEAU AR Extensions for Unity/${AR Extensions バージョン}/AR Samples/Scenes/Sample01_PlateauSdkAR.unity を開きます。
- TMP Importerが表示されるため、
Import TMP Essentials
を選択します。
-
Hierarchy内のunitychanを選択するとマテリアルエラーになっています
Platformが
Windows, Mac, Linux
の場合 -
Unityのメニューバーから
Window
->Package Manager
を開く -
com.unity.toonshader
と入力してAdd
を選択する
5.4. 遮蔽オブジェクトマテリアルの作成
:::message
PLATEAU SDK-AR-Extensions for Unityにはサンプルの AROccluder
マテリアルが含まれています。
- Assets/Samples/PLATEAU AR Extensions for Unity/${AR Extensions バージョン}/AR Samples/Materials/AROccluder
このためこのマテリアルを利用することを推奨します。 新しいマテリアルを作成したい場合はこの章の手順で作成してください。 :::
5.5. レイヤーの作成
:::message
レイヤー作成のドキュメントには レイヤーの順序は他の要件を考慮の上設定してください。
とありますが、サンプルシーンでは下記記載のレイヤーを前提に作成されていますので、サンプルに合わせてレイヤーを設定します。
:::
Project Settings
>Tags and Layers
を開く- User Layer 6 に遮蔽される側のレイヤー
AR Occludee
、User layer 7 に遮蔽する側のレイヤーAR Occluder
を設定する
5.6. URP描画設定にレイヤーを設定
- [Project]ウィンドウで、
Assets
>Settings
に含まれるURPの描画設定項目を開く- 使用するURP描画設定項目がわからなければ、Settings以下のURP-XXXXのすべてに対して追加してください
Filtering
>Opaque Layer Mask
から遮蔽される側のレイヤーAR Occludee
のチェックを外すFiltering
>Transparent Layer Mask
から遮蔽される側のレイヤーAR Occludee
のチェックを外す- AR Background Renderer Feature が設定されていない場合は、追加する
- Plateau AR Occlusion Renderer Feature を追加する
- AR Occludee Mask に遮蔽される側のレイヤー
AR Occludee
を設定する - AR Occluder Mask に遮蔽する側のレイヤー
AR Occluder
を設定する - AR Occluder Material に遮蔽オブジェクトマテリアルを設定する
5.7. 遮蔽するオブジェクトのレイヤーを変更
- Hierarchyで
PlateauSdkCityModel
>unitychan
を選択する - Inspectorで
Layer
を遮蔽される側のレイヤーAR Occludee
に設定する
- Hierarchyで
PlateauSdkCityModel
>13100_tokyo23-ku_2020_citygml_3_2_op
を選択する - Inspectorで
Layer
を遮蔽する側のレイヤーAR Occluder
に設定する
- メニューの
PLATEAU
>PLATEAU Toolkit
>AR Extensions
を開く - マテリアルに ZWrite マテリアルを設定する
シーン上のの年モデルのマテリアルを変更
ボタンを押す
- Hierarchyで
AR
>ARSettingsController
を選択する - Inspectorで AR Settings Controller コンポーネントの AR Occluder Material に遮蔽オブジェクトマテリアルを設定する
PLATEAU SDK-AR-Extensions for Unityの1. サンプルを用いたARアプリケーションの体験を参考にしていただけれ問題ありません。
6.1. ビルド設定にシーンを追加する
始めて触ってみた時に下記がハマりポイントでしたのでまとめてみました。 これらを回避してPLATEAUで楽しんでみてください。
- 4.2. PLATEAU SDK for Unityのインストール
-
- Renderer-Featuresを設定する
- 4.6. Cesium for Unityのインストール
- 5.3. unitychanのマテリアルエラー(マゼンダ)を修正する
- 5.10. 遮蔽オブジェクトマテリアルの設定