Create with AR: Markers and Planes - Unity Learn
元々は上記のコースをやっていたのですが、途中で微妙に躓いてしまいチュートリアルで使っていた 2021 系ではなく、 Unity の 2022 バージョンをインストールして再度やってみようとしたところ、AR Foundation のバージョンも上がり色々変わってしまっていたので、そもそもの最初からやってみようとなったのでした。
環境
プロジェクト作成
普通の 3D テンプレートを使いました。
Package の追加
AR Foundation 5.0.3
いきなり Warning がでた。。
が、Input System が新しくなったので変更するよということのようです。
【Unity】Input Systemの使い方入門 | ねこじゃらシティ
UE も Enhanced Input に変わりましたし既視感ありますね。
Apple ARKit XR Plugin 5.0.3
特に問題なくインストールできました。
オブジェクト初期設定
Main Camera の削除
デフォルトで入っている Main Camera を削除します。この後で追加する XR Origin に AR Camera が入っているためです。
XR Origin と AR Session の追加
XR カテゴリに両方入っています。
Cube の追加
まずは動作確認をするために Cube を追加します。Scale だけ 0.1
にしておきます。
最初の動作確認
XR Simulation で確認
Project Settings で以下の設定を行います。XR Simulation
にチェックを入れます。
この時点で Play し、Game 画面で以下のような表示が確認できれば OK です。
iPhone 実機での確認
実機に転送する設定は終わっているものとします。
同じく Project Settings で以下の設定を行います。
設定しないとエラーになると思いますが、Player の設定 Camera Usage Description
に文字列を入れます。
編集中のシーンを選択し、iOS でビルドし実行します。
この段階で空中に Cube が見えるようになれば成功です。
平面検出の設定をする
まずは AR Default Plane
の Prefab を作成します。
続いて XR Origin
に AR Plane Manager
Component を追加して、先ほど作成した AR Default Plane
の Prefab を指定します。
今回は Horizontal な平面のみを対象にするよう設定しています。
Plane の Material を URP で作成する
URP のインストール
Universal RP
を追加します。
URP Asset (With Universal Renderer)
Project に適当なフォルダを作成して以下を作成します。
Universal Render Pipeline Asset
と Universal Render Pipeline Asset_Renderer
の 2 つが作成されます。
AR Background Renderer Feature の作成
Add Render Feature
をクリックし、AR Background Renderer Feature
を追加します。
URP を使うように設定を変更
以下の 2 箇所です。
Graphics
の Scriptable Render Pipeline Settings
.
Quality
の Rendering -> Render Pipeline Asset
.
AR camera Manager の設定変更
私の環境ではここまでの設定では XR Simulation 、実機環境共にカメラが動作しませんでした。
Bug - AR Foundation pre 5.0 and URP Background not rendering - Unity Forum
上記の記事の中から以下の設定を採用したところうまくいっています。XR Origin
の孫に位置する Main Camera
の Inspector から設定可能です。
URP に関しての参考
- 【Unity】UnityのURP(Universal Rendering Pipeline)でAR Foundationを使う方法|NuxR
- 【Unity】Universal RPのセットアップ方法|yugaki|note
マテリアルの作成
不透明な緑のマテリアルを作成しています。
平面検出の動作確認
XR Simulation
iPhone 実機
ここまでで
ようやく一つ目のチュートリアルと同じところまで来ました。。 Set up a scene with plane detection - Unity Learn
ここからはチュートリアルのアセットも出てくるのですが、とりあえずそこで使われていた URP の初期設定までできたのでスムーズに進むことを祈ります 😅