Measured Material Libraryの導入

ゲームエンジン

以前はUnity Asset Storeで配布されていたMeasured Material Libraryですが、2023年1月現在、配布はGitHubでのみ行われています。今回はこのマテリアルに関する情報と配布元、URP環境での設定についてです。

Measured Material Libraryとは

300種類のビジュアライゼーション向けマテリアル群で、マテリアル、テクスチャ、シェーダーグラフおよびシェーダープログラムが含まれています。このマテリアルを使うことで、主に自動車向けにリアルなマテリアルを手に入れることが出来ます。

We have you covered with the Measured Materials Library | Unity Blog
Unity is releasing a free library of common measured materials to make it easier to develop great looking models, with a...

配布元GitHub

URP用とHDRP用があり、それぞれURLが異なります。

2021.x.xでは使用できない

Unity 2021で進行中のプロジェクトにマテリアルをインポートすると細かいエラーが発生します。そのエラーを修正してエディタ上で遊べる様にすることは出来たのですが、ビルドを実行するとなぜか失敗してしまいます。当初はAndroid向けのビルドで試したので容量制限かと思いましたが、Windows向けビルドでも失敗するので違うようです。

私のプロジェクトではGaiaやEasy Road 3Dを使用しているので、それらに付属のマテリアルがMeasured Material LibraryのLitシェーダーを呼び出そうとしてエラーが発生しているかもしれませんが、現在迷宮入りしています。

Assets\Measured Materials Library\ClearCoatフォルダを削除するとWindows向けビルドは出来ましたがAndroid向けはエラーが発生します。かなり面倒くさそうなので、今回はテクスチャとシェーダーグラフだけ頂いて、欲しかった質感のシェーダーについては後日解析して作ってみたいと思います。

Failed to load 'C:/Users/xxx/UnityProject/TestRacing/Assets/Material/MeasuredMaterialLibraryURP-master/ProjectSettings/XRSettings.asset'. File may be corrupted or was serialized with a newer version of Unity.
System.Linq.Enumerable/<OfTypeIterator>d__32`1<object>:MoveNext ()
Unity.VisualScripting.LinqUtility/<Concat>d__0`1<object>:MoveNext () (at Library/PackageCache/com.unity.visualscripting@1.7.8/Runtime/VisualScripting.Core/Utilities/LinqUtility.cs:15)
Unity.VisualScripting.AotPreBuilder/<FindAllProjectStubs>d__15:MoveNext () (at Library/PackageCache/com.unity.visualscripting@1.7.8/Editor/VisualScripting.Core/Platforms/AotPreBuilder.cs:194)
System.Linq.Enumerable/DistinctIterator`1<Unity.VisualScripting.AotStubWriter>:MoveNext ()
Unity.VisualScripting.AotPreBuilder:CreateCodeCompileUnitFromStubWriters (System.Collections.Generic.IEnumerable`1<Unity.VisualScripting.AotStubWriter>) (at Library/PackageCache/com.unity.visualscripting@1.7.8/Editor/VisualScripting.Core/Platforms/AotPreBuilder.cs:326)
Unity.VisualScripting.AotPreBuilder:GenerateCodeAndWriteToStream (System.Collections.Generic.IEnumerable`1<Unity.VisualScripting.AotStubWriter>,System.IO.TextWriter) (at Library/PackageCache/com.unity.visualscripting@1.7.8/Editor/VisualScripting.Core/Platforms/AotPreBuilder.cs:301)
Unity.VisualScripting.AotPreBuilder:FindAndWriteAotStubs (System.IO.TextWriter) (at Library/PackageCache/com.unity.visualscripting@1.7.8/Editor/VisualScripting.Core/Platforms/AotPreBuilder.cs:296)
Unity.VisualScripting.AotPreBuilder:GenerateStubScript (string) (at Library/PackageCache/com.unity.visualscripting@1.7.8/Editor/VisualScripting.Core/Platforms/AotPreBuilder.cs:287)
Unity.VisualScripting.AotPreBuilder:GenerateAotStubs () (at Library/PackageCache/com.unity.visualscripting@1.7.8/Editor/VisualScripting.Core/Platforms/AotPreBuilder.cs:99)
Unity.VisualScripting.AotPreBuilder:OnPreprocessBuild (UnityEditor.Build.Reporting.BuildReport) (at Library/PackageCache/com.unity.visualscripting@1.7.8/Editor/VisualScripting.Core/Platforms/AotPreBuilder.cs:91)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
タイトルとURLをコピーしました