【AR Foundation】WindowsのUnityをつかったやり方をわかりやすく解説
今回は、AR Foundationを動かしてみます。
僕自身が、はじめてやってみようと思ったときに、様々なエラーにひっかかって、困ったのでそれらも解説していきます。
・Windows
・iPhone 12 Pro
・iMac
・Unity 2019.1.7f1
・arfoundation-samples-2.1
を使います。
タイトルでWindowsをつかったやり方と書いていますが、Xcodeを使わないといけないので、Appleのパソコンが必要になります。
バージョンが違うとうまく動かない場合があるので注意してください。
Unityのダウンロードのやり方、Xcodeのダウンロードのやり方などの解説は割愛します。
- 1. GitHubからarfoundation-samples-2.1をダウンロードする
- 2. Unity 2019.1.7f1でプロジェクトをつくる
- 3. AR Foundation、ARKit XR Pluginをインストール
- 4. ビルド設定を変更
- 5. エラーがでたら…
- 5.1. Assets\arfoundation-samples-2.1\Assets\Scripts\ARWorldMapController.cs(10,22): error CS0234: The type or namespace name 'ARKit’ does not exist in the namespace 'UnityEngine.XR’ (are you missing an assembly reference?)
- 5.2. Unsafe code may only appear if compiling with /unsafe. Enable “Allow 'unsafe’ code" in Player Settings to fix this error.
- 5.3. BuildFailedException: ARKit requires a Camera Usage Description (Player Settings > iOS > Other Settings > Camera Usage Description)
- 5.4. BuildFailedException: ARKit XR Plugin only supports the ARM64 architecture. See Player Settings > Other Settings > Architecture.
GitHubからarfoundation-samples-2.1をダウンロードする
今回はarfoundation-samples-2.1にあるサンプルを使いたいので
下のリンクを開いて、右上のCode→Download ZIPをクリックします。
https://github.com/Unity-Technologies/arfoundation-samples/tree/2.1
zip形式のフォルダでダウンロードされるので展開しておきます。
Unity 2019.1.7f1でプロジェクトをつくる
Unity Hubを開いて右上の新規作成の▽をクリックします。
2019.1.7f1を選びます。
Unity 2019.1.7f1で新しいプロジェクトを作成のウィンドウが出てくるので
3Dを選んで、プロジェクト名、保存先を決めて作成をクリックします。
プロジェクトを作成できたら、Assetsに
先程、GitHubからダウンロード、展開したarfoundation-samples-2.1をドラッグアンドドロップでいれます。
画面下のAssets→arfoundation-samples-2.1→Assets→Scenesから
動かしたいサンプルを選んでダブルクリックで開きます。
AR Foundation、ARKit XR Pluginをインストール
Windows→Package Managerをクリックします。
Package Managerが開くので(下の画像では右画面に入れています)
AR Foundation、ARKit XR Pluginを選択し、右下のInstallでインストールします。
ビルド設定を変更
File→Build Settingsをクリックして、Build Settingsを開きます。
Add Open Scenesをクリックするとビルドするシーンにチェックが入ります。
左下でiOSを選んでSwitch Platformをクリックします。
プラットフォームがiOSに切り替わると
Switch PlatformからBuildに変わるのでBuildをクリックします。
フォルダーを選択しないといけないので、iOSなど新しいフォルダをつくっておくと
Xcodeに持っていくときに便利です。
フォルダーを選択するとビルドが始まります。
エラーなくビルドできればMacに移動してXcodeで作業が始まります。
Macに移動してからのXcodeでの作業は別の記事で解説します。
エラーがでたら…
エラーなくビルドできればラクですが
自分の場合エラーが発生し続け、それの対処が大変でした。
基本的には画面下のConsoleからエラーの内容を翻訳し、検索し、上から順に解決→ビルドしてみるを繰り返す作業です。
上から順に解決→ビルドをこまめにすると他のエラーも解決することがあります。
エラーの文は「エラーが起こってる場所: error 番号: 内容」で書いているので
すぐに「英語ムリ」と思わずに
それを理解して検索したりすると解決方法が見つかったりします。
Unityを使いこなすには避けては通れない場所ですが
初めてやる人の多くが挫折するポイントだと思います。
ここからは自分がつまづいたエラーとその対処法を書いておきます。
Assets\arfoundation-samples-2.1\Assets\Scripts\ARWorldMapController.cs(10,22): error CS0234: The type or namespace name 'ARKit’ does not exist in the namespace 'UnityEngine.XR’ (are you missing an assembly reference?)
Google翻訳で訳すと
Assets \ arfoundation-samples-2.1 \ Assets \ Scripts \ ARWorldMapController.cs(10,22):エラーCS0234:タイプまたは名前空間名 'ARKit’が名前空間 'UnityEngine.XR’に存在しません(アセンブリ参照がありませんか? ?)
今回ビルドしたいやつには関係なさそうだったので
Assets→arfoundation-samples-2.1→Assets\Scriptsの
ARWorldMapController.csを探して右クリック→Deleteで消しました。
Unsafe code may only appear if compiling with /unsafe. Enable “Allow 'unsafe’ code" in Player Settings to fix this error.
Google翻訳で訳すと
安全でないコードは、/ unsafeでコンパイルした場合にのみ表示される場合があります。 このエラーを修正するには、プレーヤー設定で['安全でない’コードを許可する]を有効にします。
下の記事を参考に、File→BuildSettings→PlayerSettings→Player→iOS settings→OtherSettings→Allow 'unsage’ Codeにチェックを入れました。
BuildFailedException: ARKit requires a Camera Usage Description (Player Settings > iOS > Other Settings > Camera Usage Description)
Google翻訳で訳すと
BuildFailedException:ARKitにはカメラの使用状況の説明が必要です([プレーヤーの設定]> [iOS]> [その他の設定]> [カメラの使用状況の説明])
下の記事を参考に、File→BuildSettings→PlayerSettings→Player→iOS settings→OtherSettings→Camera Usage Descriptionに文字をいれました。
https://www.atmarkit.co.jp/ait/articles/1801/10/news011_3.html
BuildFailedException: ARKit XR Plugin only supports the ARM64 architecture. See Player Settings > Other Settings > Architecture.
Google翻訳で訳すと
BuildFailedException:ARKitXRプラグインはARM64アーキテクチャのみをサポートします。 [プレーヤーの設定]> [その他の設定]> [アーキテクチャ]を参照してください
下の記事を参考に、File→BuildSettings→PlayerSettings→Player→iOS settings→OtherSettings→ArchitectureをARM64にしました。
https://qiita.com/ippo/items/d9c046bb365e2666ffdc
上でで紹介したエラーの対処は、
・Assets\arfoundation-samples-2.1\Assets\Scripts\ARWorldMapController.cs(10,22): error CS0234: The type or namespace name 'ARKit’ does not exist in the namespace 'UnityEngine.XR’ (are you missing an assembly reference?)
のように、今回ビルドしたいものと無関係な部分でエラーでてるなら消す。
・Unsafe code may only appear if compiling with /unsafe. Enable “Allow 'unsafe’ code" in Player Settings to fix this error.
・BuildFailedException: ARKit requires a Camera Usage Description (Player Settings > iOS > Other Settings > Camera Usage Description)
・BuildFailedException: ARKit XR Plugin only supports the ARM64 architecture. See Player Settings > Other Settings > Architecture.
のようにFile→BuildSettings→PlayerSettings→Player→iOS settings→OtherSettingsから問題になっているところを解決する
の2パターンでした。
今回は、AR Foundationを動かす方法について
WindowsでUnityからサンプルをビルドするまで解説しました。
最後まで読んでいただきありがとうございました。