【AR Foundation】WindowsのUnityをつかったやり方をわかりやすく解説

2021年4月24日

今回は、AR Foundationを動かしてみます。
僕自身が、はじめてやってみようと思ったときに、様々なエラーにひっかかって、困ったのでそれらも解説していきます。

・Windows
・iPhone 12 Pro
・iMac
・Unity 2019.1.7f1
・arfoundation-samples-2.1
を使います。

タイトルでWindowsをつかったやり方と書いていますが、Xcodeを使わないといけないので、Appleのパソコンが必要になります。

バージョンが違うとうまく動かない場合があるので注意してください。

Unityのダウンロードのやり方、Xcodeのダウンロードのやり方などの解説は割愛します。

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からサンプルをビルドするまで解説しました。

最後まで読んでいただきありがとうございました。

ArchitectureAR

Posted by ぷもん