複数の lilToon カスタムシェーダー (例: もっちりシェーダー、 うずもれシェーダー 等) を 1 つのカスタムシェーダーに自動合成する Unity Editor ツール。
カスタムシェーダーの custom.hlsl / custom_insert.hlsl / .lilblock / .lilcontainer / CustomInspector.cs をパース・合成し、 出力フォルダに merge 済みシェーダー一式を生成する。
https://github.com/Narazaka/liltoon-shader-merger/releases/latest から net.narazaka.unity.liltoon-shader-merger-installer.zip をダウンロードして解凍し、対象のプロジェクトにインポートする。
Assets/Create > lilToon Shader Merger > Merger Settings で設定アセットを作成shaderName (例: Merged/MotchiriUzumore) と outputFolder を設定衝突戦略 (propertyConflict / functionConflict / replaceConflict / textureConflict) は ErrorOut / PreferFirst / PreferLast から選択可能。
.meta GUID を決定論化(UUIDv5(ツール固有名前空間, shaderName + 出力相対パス))。同じ shaderName・同じ構成なら誰がビルドしても同じ GUID になる。.meta は本バージョン以降の Build で決定論値に上書きされる。初回マイグレーション時のみ、その合成シェーダーを参照していたマテリアルの参照が一度切れる。このパッケージは Roslyn (Microsoft.CodeAnalysis.CSharp) を internalize した DLL に依存する。 リポジトリには DLL 自体は含まれていないため、 ソースから利用する場合は事前にビルドが必要:
cd Packages/net.narazaka.unity.liltoon-shader-merger/.RoslynBuild
dotnet tool install -g dotnet-ilrepack # 初回のみ
dotnet build -c Release
ビルド成功時に Editor/Plugins/Narazaka.Unity.LilToonShaderMerger.Roslyn.dll が生成される。
リリースアーティファクト (VCC 経由インストール) には DLL がビルド済みで同梱される。
net.narazaka.unity.liltoon-shader-merger
https://github.com/Narazaka/liltoon-shader-merger#liltoon-shader-merger
0.2.0-alpha.0 (Changelog)
2022.3 or later
No dependencies
No legacy packages