URPでARの機能を試してみる
とりあえずカメラの映像と適当なオブジェクトが映るところまで。
カメラが表示されずに真っ暗になっちゃって苦労しました。
■環境
・Android向け
・Unityバージョン:2021.3.0f1
・AR Foundationバージョン:4.2.3
・ARCore XR Pluginバージョン:4.2.3
■手順
1.URP向けのプロジェクト作成
2.Window>Package Managerで以下のパッケージをインストール
(検索先はUnity Registryにする)
-
- AR Foundation
- ARCoreXR Plugin
3.ビルド設定を変更
- File>Build Settiingをひらく
- PlatformをAndroidにきりかえ(Switch Platform)
4.プロジェクト設定を変更
- Edit>Project Settings...を開く
- XR Plug-in Managementをクリック
- Androidアイコンをクリック
- ARCoreにチェック
- Playerに切り替え
- Androidアイコンをクリック
Other Settingsの項目を設定- AutoGraphics APIのチェックが入っていれば外す
- Graphics APIsにVulkanがあれば削除
- 同じくGraphics APIsに OpenGLES2(Deprecated)があれば削除(記載されていないけど自分の環境だとビルド時にシェーダーのエラーがでるので)
- Minimum API LevelをAndroid7.0 `Nougat`(API level 24)以上にする
5.シーンの設定
- Hierarchyの全オブジェクトを削除
- Hierarchyで右クリックで以下のオブジェクトを追加
- XR>AR Session
- XR>AR Session Origin
- Light> DirectionalLight
- 先程追加したAR Settion Originの子にAR Cameraがついているので、AR CameraのTagをMainCameraにしておく
- 適当な位置(X:0 Y:0 Z:1 とか)にCubeなどを配置
6.AR用カメラのレンダリング設定
(この設定が抜けてて気づくまで黒画面で結構悩みました、、、)
- ProjectのAssets>SettingsにURPのレンダリング設定のデータがあるので、以下それぞれにAR Background Render Featureを追加
- URP-Balanced-Renderer
- URP-HighFidelity-Renderer
- URP-Performant-Renderer
- (もしオリジナルのものがあればそれに追加)
7.ビルドしたらカメラの許可確認が出て許可すれば動くと思います!(どアップ)
■参考(というかほぼそのまま)
Create an AR game using Unity's AR Foundation | Google Codelabs