[Unity Assets]AZURE NatureをVRChatで使う手順(保証外)

投稿者: | 2021年4月22日

はじめに

葉っぱの綺麗なグラデーションが特徴的な3Dアセット「AZURE Nature」があるのですが、サポートバージョンがUnity 2019.1.0 以降となっているので、Unity 2018.4.20fを開発環境に指定しているVRChatには利用できなそうな気がします。

でも、VRChatもUnity 2019へ移行するらしいので、春のセールで半額($21.45)だし中身も見たいのでポチりました。

ダメ元でUnity 2018.4.20f環境にインポートしたら、PrefabのMeshは全部missingになるし、Shaderはコンパイルエラー出てるしで使えないかと思ったけど、数カ所の変更で動いてくれたので変更点だけメモします。

本当に本当に何が起こっても自己責任です。サポート外バージョンでの使用ですからね

インポート

サポートバージョンが合わないからか、アセットの名前をクリックして開く画面のダウンロードリンクは非活性になるので、ダウンロードとインポートはリスト上から行います。

変更すること

1. Shaderのコンパイルエラーを消す

Amplify Shader Editor(以降ASE)で作成されているので、このアセットを持っているならば変更は簡単です。

ASEを持っていない場合は、Shaderのコードを直接変更することでも対応出来そうですが、オプションの状態に対して生成されるコードに関する公式ドキュメントが無く、環境により結果が異なる可能性があるためで書きません。

オプションを変更するShaderは「AN_Surface」と「AN_Vegetation」の2つです。

ShaderをAESで開いて「Rendering Options」の「LOD Group Cross Fade」に入っているチェックを外してから再コンパイルします。

コンパイル後にエラがーなければOKです。

「LOD Group Cross Fade」はCross Fade対応にするためのオプション(らしいです)。Cross Fadeについては、まだまだUnity力が弱々なので公式のリンクで濁します。「LOD Group のクロスフェードを使用する – Unity 日本語ヘルプデスク」。このオプションをオフにするのだからLOD Fadeの効果は出せないと思うけど、元々、無理を通そうとしてるのでヨシっとします。

2.Prefabの再構築

Shaderの変更が終わったらPrefabの再構築を行います。提供されているPrefabを確認すると、立方体が並んでるだけで木も草もありません。一つ選択してインスペクターを確認すると、MeshがMissingになっているのが分かります。これでは表示するものが無いので駄目ですよね。

このMeshを再設定しようと頑張ったのですが、マテリアルとの対応が上手くできなかったので、新しくモデルからPrefabを作成して、「Capsule Collider」と「LOD Group」コンポーネントだけ元のPrefabからコピーする方法を取りました。

「LOD Group」については、各距離で表示するオブジェクトの情報が自動では対応しないので、元からある参照を[-]をクリックして消してから、Addで正しいオブジェクトを関連付けます。近影しか必要としないならモデルのLOD0だけ利用するのも良いかも。自動化できないので利用するモデルだけPrefabの再構築した方が良さそうです。

おわりに

サポート外のバージョンで使う自分以外に誰得か分からないメモだけど、このAZURE Natureの葉っぱをグラデーション表示するのは綺麗で面白いのです。

草木以外にも、Godrayや落ち葉、雪などのパーティクルや、Terrain用のレイヤー画像など、そのままでVRChatで使える部品もあるので興味があれば、これぐらいで使えるので人柱にどうぞ。

Unity 2019への移行が予定されてると思うと、以前にも増して財布の紐がガバる。まずい。セール怖い。