Shader Core向けの非破壊ビルド拡張ツールです。
現在は、アバター内のShader Coreマテリアルをグループ分けし、グループごとにモジュールと指定パラメーターを一括適用するShaderCore Module Overrideを収録しています。
Shader Coreの内部APIをバージョン別Adapter経由で利用しています。0.1.9以外ではビルド処理を停止し、未対応バージョンであることをエラー表示します。
依存パッケージは、それぞれの配布元VPMリポジトリから導入します。
Manage ProjectからFUKA-ShaderCore-Utilityを追加します。Shader CoreとModular Avatarは本パッケージへ同梱せず、各配布元のパッケージを利用します。ビルド処理にはModular Avatarとともに導入されるNDMF基盤を使用します。
Runtime/Prefabs/ShaderCoreModuleOverride.prefabをアバター直下へ配置します。Add Groupからグループを作成します。Material Groupsに表示されたマテリアルを、変更したいグループへ割り当てます。Unassignedのマテリアルは変更されません。Add Moduleから一括適用したいモジュールを追加します。PreviewでScene上の見た目を確認します。設定変更後はUpdate Previewで更新し、Stop Previewで元へ戻せます。プレビューは元のMaterialアセットを変更せず、対象RendererのMaterialスロットだけを一時的に差し替えます。Play Mode移行、Scene保存、スクリプト再コンパイル、アバタービルドの前には自動的に元へ戻ります。
Prefabを使わず、ShaderCore Module Overrideコンポーネントをアバター直下のGameObjectへ手動追加しても利用できます。コンポーネントはアバターにつき1つだけ配置してください。
.scshaderであり、コンポーネント上でグループへ割り当てたMaterialだけを対象にします。SCConstValueを持つプロパティではローカルキーワードも同期します。次のアセットは変更しません。
.scshader生成したShaderとMaterialはNDMFのビルド用アセットとしてのみ保存されます。
本パッケージはzlib Licenseで提供します。
不具合や要望はGitHub Issuesへお願いします。
com.fuka.shadercore.utility
https://github.com/FUKA-VR/ShaderCore-Utility#readme
0.1.0 (Changelog)
2022.3 or later
No dependencies
No legacy packages