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.ビルド設定を変更

  1. File>Build Settiingをひらく
  2. PlatformをAndroidにきりかえ(Switch Platform)

4.プロジェクト設定を変更

  1. Edit>Project Settings...を開く
  2. XR Plug-in Managementをクリック
  3. Androidアイコンをクリック
  4. ARCoreにチェック
  5. Playerに切り替え
  6. Androidアイコンをクリック

  7. Other Settingsの項目を設定
    • AutoGraphics APIのチェックが入っていれば外す
    • Graphics APIsVulkanがあれば削除
    • 同じくGraphics APIsOpenGLES2(Deprecated)があれば削除(記載されていないけど自分の環境だとビルド時にシェーダーのエラーがでるので)
  8. Minimum API LevelAndroid7.0 `Nougat`(API level 24)以上にする 

 

5.シーンの設定

  1. Hierarchyの全オブジェクトを削除
  2. Hierarchyで右クリックで以下のオブジェクトを追加
    • XR>AR Session
    • XR>AR Session Origin
    • Light> DirectionalLight
  3. 先程追加したAR Settion Originの子にAR Cameraがついているので、AR CameraのTagMainCameraにしておく
  4. 適当な位置(X:0 Y:0 Z:1 とか)にCubeなどを配置

6.AR用カメラのレンダリング設定

(この設定が抜けてて気づくまで黒画面で結構悩みました、、、)

  • ProjectAssets>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