こんにちは!
XRクリエイターの伊東(@ALAKIWebVRAR1)です。
※TwitterでもAR/VRの事を中心に情報発信中です。
よかったらフォローお願いします!
Follow @ALAKIWebVRAR1
プログラムを書かずにシェーダーを作成できる「Shader Graph」ですが、URPの影響で、UnityのモバイルARアプリ開発環境に導入すると、ARカメラの映像取得がうまくいかない場合があります。
設定を変更することで、Shader Graphを導入してもAR Foundationが正常に動作する方法をご紹介します。
URP(Universal Render Pipeline)を導入する
Shader Graphをインストールするには、「URP(Universal Render Pipeline)」を導入する必要があります。URPとは、ざっくり説明するとグラフィックを描画するための新しい仕組みのことです。
Unityには、新しい「URP」の他に、これまでの「BRP(Built-in Render Pipeline)」という仕組みがあります。
URPは、BRPよりも「パフォーマンスに優れ」、「拡張性がある」ため、今後は主流になっていくと言われています。(「拡張性」を表す機能の1つが、今回のShader Graphですね)
URPの他にも、「HDRP(High Definition Render Pipeline)」という高精度の3D描画を行うのに特化したものなど、新しい仕組みが存在しています。
複数ある仕組みのうち、URPを導入する方法が2つあります。
①プロジェクト開始時にURPを選択する
②後からURPをインストールする
それぞれご紹介します。
①プロジェクト開始時にURPを選択する
Unity Hubで新規プロジェクトを立ち上げるときに、URPを選択することができます。
「3D Sample Scene(URP)」と書かれているものが、URPを採用したシーンのテンプレートになります。
立ち上げてみると…
サンプルアセットが組み込まれたシーンが用意されています!
「Assets > Example > Shaders」の中には、すでにShader Graphで作られたシェーダーも用意されています。
ただし、今回のテーマは「AR開発環境にURPを導入する」ですので、ここからAR関係のパッケージをインストールするのが手間に感じます。
②後からURPをインストールする
そこで、プロジェクト選択時はAR用テンプレートを選択しておいて、AR Foundationが導入された環境に、あとからURPをインストールする方法もご説明します。
まずは、通常通り「AR」のテンプレートを選択し、プロジェクトを作成しましょう。
「Package Manager」を立ち上げて、「Unity Registry」から「Universal RP」を検索します。
ありました。インストールします。
これで、URPのインストールと同時に、Shader Graphのツールのインストールも完了します。
②URPの設定
URPのインストールは完了しましたが、まだUnityプロジェクトに「URPを使います」という設定ができていない状態です。
まずは、URPの設定ファイルを生成します。
「Assets > Create > Rendering > Universal Render Pipeline > Pipeline Asset」を選択します。
すると、Assetsフォルダの直下に、
設定ファイルが生成されました。
次に、
「Edit > Project Settings」から、「Graphics」の項目を選択し、「Scriptable Render Pipeline Settings」のところに、先ほど生成された「UniversalRenderPipelineAssets」をアタッチします。
これでURPの設定は完了です。
③AR FoundationをURPに対応させる
ここまでで、AR Foundationが導入された環境に、URPとShader Graphがインストールされ、プロジェクトへのURPの反映の設定が完了しました。
試しにShader Graphでシェーダーを作ってビルドして実機でみてみると、ARカメラの映像が取得できていないことに気がつきます。
ARカメラが映像を取得し、背景を描画する部分がURPに対応していないことが考えられますので、設定していきます。
先ほど生成された2つの設定ファイルのうち、「UniversalRenderPipelineAsset_Renderer」を選択し、インスペクターを表示します。
「Renderer Features」の項目から、追加する機能を選べるようになっていますので、「AR Background Renderer Feature」を選択します。
これで全ての設定が完了しました!!
再度ビルドして、ARが正常に動作することを確認してください。
最後に
弊社では、今回ご紹介した技術を使って、現実のあらゆる場所からデジタルコンテンツを誰でもAR空間にドロップできる「MUGHEN」というアプリをリリースしました。ぜひインストールしていただき、現実を拡張する感覚を体験してみてください!
■MUGHEN サービス紹介サイト
https://alaki.co.jp/lp/mughen/
また、ALAKI株式会社では、「MUGHEN」をはじめとする最先端技術を使って世の中に価値を提供するため、一緒に大きな目標に挑戦する仲間を募集中です!興味のある方は、以下のリンクからご応募ください!
■ALAKI リクルートサイト
https://recruit.alaki.co.jp/