6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめてのアドベントカレンダーAdvent Calendar 2024

Day 1

【Unity6 + AR Foundation】Unity6でAR Foundationを使うときにカメラ出力が黄色になってしまうときの対処法とついでに入門

Last updated at Posted at 2024-12-02

はじめに

 こんにちは。
 先日、Unity6とARFoundationでスマホ(とりあえずはiOS)用のアプリを作ろうとした際に、カメラ出力が真っ黄色になってしまう症状が発生しました。これについて解決法を見つけたのでここでご紹介します。同じような症状でお困りの方の参考になると幸いです。
 ちなみに、本記事は私の初投稿記事になります。読みやすさなど至らない点があるかと思いますがどうかご容赦ください。

動作環境

  • Unity 6000.0.29f1(Apple Silicon)
  • AR Foundation 6.0.3
  • Apple ARKit XR Plugin 6.0.3
  • OpenXR Plugin 1.13.2(UnityEditor上での動作確認用)

お急ぎの方へ/概略

CleanShot 2024-12-02 at 12.00.46@2x.png

この問題を解決していきます。
「入門とか大丈夫。問題の解決方法のみ知りたい!」という方は一面黄色の解決法までどうぞ。

導入

ついでなのでUnity6におけるAR Foundationの入門からやっていこうと思います。
iOS用のセットアップをご紹介しますので、Android用のセットアップを確認したい方は他の記事を見に行っていただけるとやりやすいかと思います。

Unityプロジェクトの作成

Unity6をインストールしていない場合はUnity Hubからインストールしてください。
プロジェクトをUniversal 3Dで作成してください。
CleanShot 2024-12-02 at 12.37.55@2x.png

プロジェクトを作成したら以下のような画面になりますが、URPのテンプレートは今回使わないのでRemove Readme Assetsで消してしまってください。
CleanShot 2024-12-02 at 11.51.30@2x.png

パッケージのインストール

メニューバーからWindow > Package Managerを開きます。
CleanShot 2024-12-02 at 11.53.51@2x.png

パッケージマネージャーを開いたら、左側のサイドバーからUnity Registry > Featuresの「AR」を選択し、Packages Includedから必要なパッケージを個別でインストールしてください。

ARパッケージ全体でインストールしないでください。
記事執筆時点(2024/12/02)でMagic Leapプラグインを導入するとエラーが発生してプロジェクトが動かなくなります。ARパッケージを全体でインストールするとMagic Leapもインストールされてしまうので、Packages Includedから必要なARパッケージを個別でインストールしてください。

CleanShot 2024-12-02 at 11.56.11@2x.png

今回は動作環境にもあるように

  • AR Foundation
  • Apple ARKit XR Plugin
  • OpenXR Plugin
    の3つをインストールしますが、必要に応じて他パッケージもインストールしましょう。

ビルド設定

メニューバーからFile > Build Profilesを開きます。iOSを選択しSwitch Platformを押してビルド対象を変更します。ビルド対象を変更したら、Player Settingsを押してください。
CleanShot 2024-12-02 at 11.57.59@2x.png

開いたら下にスクロールして、Requires ARKit supportにチェックを入れてください。
またUnity6ではBundle Identifierの初期値が(おそらく)すべて同じでXCodeでエラーを吐くので、Override Default Bundle Indentifierのチェックを一度外してまた付けて、Bundle Identifierを固有の値に変更してください。

Bundle Identifierは全世界で重複できません。そのためプロジェクトで固有の値を設定する必要があります。UnityにおけるBundle Identifierの設定方法は他にもありますがここでは詳しくは触れません。

次に、XR Plug-in Managementに進んでください。
CleanShot 2024-12-02 at 11.58.58@2x.png

以下の画像の通りにチェックを入れてください。「XR Simulation」はエディター上での実行に必要です。
CleanShot 2024-12-02 at 11.59.11@2x.png
CleanShot 2024-12-02 at 11.59.14@2x.png

以上でビルド設定は終了です。

シーン設定

ここからARのためのシーンを作っていきます。難しそうに思えますがめちゃくちゃ簡単です。
まず最初にシーンからMain Cameralobal Volumeを削除します。
CleanShot 2024-12-02 at 11.59.54@2x.png

次に、ヒエラルキー上で右クリックをして、XRからAR SessionXR Origin(Mobile AR)を追加してください。
CleanShot 2024-12-02 at 12.00.12@2x.png

実はこれだけで、ARを実行する準備は整ったのです!
では試しにエディター上で実行してみましょう!

OpenXRの導入とビルド設定で行ったXR SimulationへのチェックのおかげでPC上でも擬似的に実行できます。

実行...あれ?!

CleanShot 2024-12-02 at 12.00.46@2x.png

...出ました。今回の記事のトピック、「一面真っ黄色」です。実機でもこうなります。こいつのせいで私は多くの時間を消費したのです。

一面黄色の解決法

まず、「URP」という名前で(他の名前でもいいですがRender関係であることがわかるように)フォルダを作成してください。
CleanShot 2024-12-02 at 12.01.13@2x.png

続いて、作成したフォルダ内で右クリックをしURP Asset(with Universal Renderer)を作成してください。
CleanShot 2024-12-02 at 12.01.34@2x.png

2つファイルが作成されますが、そのうち「<指定した名前>_Renderer(Universal Renderer Data)」にインスペクターのAdd Renderer FeatureからAR Background Renderer Featureを追加してください。
CleanShot 2024-12-02 at 12.02.02@2x.png

URPの設定が終わったら、メニューバーからEdit > Project Settingsを開きます。

Graphicsを開き、Default Render Pipelineを先ほど作成したものに変更します(枠一番右の二重丸をクリックすると選択できます)。
CleanShot 2024-12-02 at 12.02.58@2x.png

次は、Qualityを開き、以下のようにクリックします。
CleanShot 2024-12-02 at 12.03.20@2x.png

先ほどと同様に、Render Pipeline Assetを変更します。
CleanShot 2024-12-02 at 12.03.30@2x.png

これで完了です!

もう一度実行!

CleanShot 2024-12-02 at 12.03.47@2x.png

黄色が消えました!
実機でのテストは省略しますが、正常に動作します。

まとめ

以上、カメラ出力が黄色になってしまうときの対処法でした。ドキュメントとサンプルプロジェクトと私の環境とでにらめっこしながら頑張りました(^^)
この方法は参考にしたAR Foundationのドキュメントでは必要に応じてする操作とされているのですが、私の環境では必須でした。なので他の方の環境ではわかりませんが、もはやチュートリアルの一環と言ってもいいのではないでしょうか。
皆さんのお役に立てたら幸いです。
それでは、良きAR開発ライフを!

参考

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?