LoginSignup
1
0

More than 1 year has passed since last update.

UnityのURP(Universal Render Pipeline)上でAR開発をする方法(AR Foundation 5.0)

Last updated at Posted at 2022-11-19

こんにちは!!Asterです!!!
URP(Universal Render Pipeline)を使ってAR開発をしたいと思い環境構築をしていました。
しかし今回
Unityのバージョンを2020.3.40f1・2021.3.40f1
ARfoundation 4 で
で環境構築をしようと試みたのですが、うまく行かず、
最終的にUnity2022.1.23f1 × ARFoundation5.0で動作確認ができましたので、その方法をまとめます。
もし、Unityのバージョンが2020,2021で動いた場合、ご連絡いただけると嬉しいです。

開発環境は以下の通りです。

・Unity 2022.1.23f1
・AR Foundation 5.0.3
・Apple ARKit XR Plug-in 5.0.3

環境構築

今回の流れとして
まずURPなしで、ARが動くか確認し、その後URPを入れるという流れで環境構築をしていこうと思います。

AR Foundation 5.0

「AR Foundation」とはiOSやAndroidなどのマルチプラットフォームでARアプリを開発できるようにするためのフレームワークです。 iOSにはARKit、AndroidにはARCoreというAR開発ツールがあります。

今回こちらの記事を参考に環境構築をしました.AR Foundation 5.0.3として提供されているので、そちらを今回使用します。

現時点の最新版

Unity のプロジェクトの準備

Unityのプロジェクトの準備の手順は、次のとおりです。

Unityを起動し、Unityのプロジェクトを「3D」で新規作成する。

スクリーンショット 2022-11-19 23.31.39.png

「Platform」で「iOS」を選択し、「Switch Platform」ボタンを押す。

スクリーンショット 2022-11-19 23.38.00.png

メニュー「Window → Package Manager」で「Package Manager」を開く。

スクリーンショット 2022-11-19 23.33.03.png

「+ → add package by name」を選択し、以下を指定し、Addを押す。

スクリーンショット 2022-11-19 23.33.11.png

出た欄に以下を入力しましょう.

・Name : com.unity.xr.arfoundation
・Version : 5.0.3

installが始まり、以下のように警告が出ますが、Yesを押すとUnityの再起動が始まります。

スクリーンショット 2022-11-19 23.34.44.png

ARSessionとXROriginの準備

「AR Foundation」でARエクスペリエンスを実装するには、シーンに「ARSession」と「XROrigin」を追加する必要があります。
以下の3つのことを行いましょう
・Hierarchyウィンドウに配置されてる「Main Camera」を削除。
・ メニュー「GameObject → XR → AR Session」で「ARSession」を追加。
・メニュー「GameObject → XR → XR Origin」で「XROrigin」を追加。
ARfoundation4と違い,XROriginの中に「Camera Offset」および「Main Camera」を子に持ちます。

スクリーンショット 2022-11-19 23.36.03.png

スクリーンショット 2022-11-19 23.36.21.png

「+ → 3D Object → Cube」で立方体を「XROrigin」の子として追加し、位置とサイズを適当に指定。

iOSでの実行

iOSでの実行手順は、次のとおりです。
AR Foundation5.0.3をimportした要領で,ARkitもimportします.

メニュー「Window → Package Manager」で「Package Manager」を開く。
「+ → add package by name」を選択し、以下を指定し、Addを押す。

・Name : com.unity.xr.arkit
・Version : 5.0.3

iOSで動作できるように,メニュー「Edit → Project Settings → Player → Other Settings」で以下を設定しましょう。

スクリーンショット 2022-11-19 23.25.25.png

すると,以下のように「Camera Usage Description」の欄が記入されます.

スクリーンショット 2022-11-19 23.26.18.png

また、メニュー「Edit → Project Settings → XR Plug-in Management」で「Apple ARKit」をチェックします。

スクリーンショット 2022-11-19 23.39.44.png

これですべての準備が整いました。以下のようにbuildと実行をし、URPなしでの動作確認をしましょう。

(1) メニュー「File → Build Settings」で「Scenes In Build」にシーンを追加し、「Build」ボタンを押す。
Xcodeのプロジェクトが生成されます。
(2) Xcodeのプロジェクトから、通常のiOSの開発方法と同様に、iOSアプリをビルドし、iOS端末にインストールして実行。
ARアプリ開始時の位置に立方体が配置されているので、カメラから立方体が確認できます.

これで3DシーンでのAR開発が完了しました.次にURPでのAR開発に移りましょう.

Universal RPの導入

プロジェクトが新規作成され、Unity Editorが起動した後、パッケージマネージャーを起動し、Universal RPパッケージをインストールしましょう。
※該当項目が現れない場合、Unityレジストリを選択(パッケージ種類)

スクリーンショット 2022-11-19 23.42.50.png

これで、URPのインストール完了です。

次にURPの背帝をしていきます。
アセット>作成>レンダリング>Universal Render Pipline>Pipline Asset(Forword Renderer) を選択決定します。

スクリーンショット 2022-11-19 23.44.45.png

名前を任意につけましょう(今回は ARUniversalRenderPipelineAssetとしました.)

スクリーンショット 2022-11-19 23.44.56.png

するとプロジェクトウィンドウに下記2つのファイルが作成される。

・ARUniversalRenderPipelineAsset
・ARUniversalRenderPipelineAsset_Renderer

スクリーンショット 2022-11-20 0.05.42.png

ForwardRendererを選択したインスペクタで、ARBackgroundRendererFeatureをレンダラフィーチャのリストに追加してください。

スクリーンショット 2022-11-19 23.45.26.png

Pipeline Assetの作成と設定が終わったら、次にProject Settingを変更していきます。変更する箇所は以下の2点です。

①GraphicsのScriptable Render Pipeline Setting
②GraphicsのRendering

スクリーンショット 2022-11-19 23.27.11.png

スクリーンショット 2022-11-19 23.28.01.png

ARCameraManager の Rendering Mode を "After Opqaue" に設定しましょう.

スクリーンショット 2022-11-19 23.41.40.png

3Dシーンの時生成したCubeのmaterialが外れているので,再度cubeを生成しましょう.

これで準備完了です.

以下のようにcubeが見れれば完了です.

gif.gif

まとめ

今回URP上でARfoundationを使えるようにしました。
これで、VFX Graphなども使えるようになったので、AR開発の幅が広がりました。
しかし、Unity2020,2021でできれば動かしたいので、動作確認出来たらご連絡お願いします。

1
0
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
1
0