日々是好日~every day is a good day~

日常の中の非日常の備忘録

スマホ用VRアプリをUnityで作りたい②

前回 Hello Cardboardというサンプルをインポートするところまでやりました

その続きです

3.Hello Cardboardシーンを構成する

Assets/Samples/Google Cardboard XR Plugin for Unity/1.29.0/Hello Cardboard/Scenes

のHelloCardboard.unityをダブルクリックしてシーンを開きます

レイヤーの▼をクリック 『レイヤー編集』を選択

空いている所(私はレイヤー7にしました)に『Interactive』と定義

ゲームオブジェクトTreasureを選択してレイヤーを『Interactive』に

『はい、子を変更します』をクリック

ゲームオブジェクトPlayer/Camera/CardboardReticlePointerを選択

スクリプトCardboard reticle pointerのReticle Interaction Layer Maskを『Interactive』に

シーンの設定は以上です

4.Android ビルド設定を構成する

ファイル/ビルド設定を選択

Androidを選択して『ターゲットの切り替え』をクリック

ビルドに含まれるシーンにシーンがなければ『シーンを追加』をクリックしてHelloCardboardを選択

『プレーヤー設定』をクリック

Andoroidタブの解像度と表示内の

『最適化されたフレームペーシング』 自動回転を許可する向きの『縦向き』『縦向き(逆)』のチェックをはずす

その他の設定内の『自動グラフィックスAPI』のチェックをはずしVulkanを削除

最低APIレベルを26に

ターゲットAPIレベルを33に

スクリプティングバックエンドを『IL2CPP』に

ターゲットアーキテクチャの『ARM64』にチェックを入れる

インターネットアクセスで『必須』を選択

アクティブな入力処理で『両方』を選択

メッセージが表示され『Apply』をクリックするとUnityが再起動されます

Unityのバージョンが2023.1以降なのでアプリケーションエントリーポイントで『Active』にチェックを入れる

公開設定内のビルドで『カスタムGradleメインテンプレート』と『カスタムGradleプロパティテンプレート』にチェックを入れる

Assets/Plugins/Android/mainTemplate.gradleを開いて

  implementation 'androidx.appcompat:appcompat:1.6.1'
  implementation 'com.google.android.gms:play-services-vision:20.1.3'
  implementation 'com.google.android.material:material:1.12.0'
  implementation 'com.google.protobuf:protobuf-javalite:3.19.4'

を追加

Assets/Plugins/Android/gradleTemplate.propertiesを開いて

 android.enableJetifier=true
 android.useAndroidX=true

を追加

編集/プロジェクト設定を選択

XR Plug-in Managementを選択し『Cardboard XR Plugin』にチェックを入れる

ファイル/ビルド設定を選択

スマホとPCをつないでデバイスを設定 『ビルドして実行』をクリック

ファイル名を入力して『保存』をクリック

長かったですがようやくビルドするところまできました(嬉)

しばらく待っていると…???

まさかのエラー(泣)

どうもターゲットAPIレベルが33ではダメだと 34にしなさいと言ってるようです

なのでターゲットAPIレベルを34に設定して

再び『ビルドして実行』をクリック

スマホにビルドすることができました

やったー!長かった(笑)