UnityのMaterialのデフォルトであるStandardシェーダーを改造する方法
- はじめに
- Standardシェーダーのソースコードの場所って?
- どうやってStandardシェーダーをUnityプロジェクトにインポートすればいい?
- 修正したStandardシェーダーをMaterialに適用する
- おわりに
はじめに
UnityでMaterialを新規作成した時にデフォルトで設定されているStandardシェーダー(もしくはUnityで用意されているその他のシェーダー)を少しだけ改造したい場合があるかと思います。
今回はそのようなケースの時に対処する方法を書きたいと思います。
Standardシェーダーのソースコードの場所って?
まず、Standardシェーダーなどのビルトインシェーダーは以下の場所から取得できます。
unity3d.com
例えばUnity 2020.3.12f1の場合はUnity 2020.3.12のダウンロード(Win)からビルトインシェーダーを選びますとダウンロードを開始します。
builtin_shaders-XXXX.X.XX.zipをダウンロード後に展開するといくつかフォルダがあるかと思います。
Standardシェーダーはその中のDefaultResourceExtraに入っています。
どうやってStandardシェーダーをUnityプロジェクトにインポートすればいい?
展開したファイルをそのままUnity EditorのProjectウィンドウにドラッグ&ドロップします。
するとUnityプロジェクトにファイルがコピーされます。
後はシェーダーのファイル名やシェーダー名を変えましょう。
今回はNewStandardに変えておきます。
今回は特に中身は変えません。
必要であればこのコピーしたNewStandardの中身を変えましょう。
修正したStandardシェーダーをMaterialに適用する
Materialを選んでInspectorウィンドウからNewStandardを選びます。
これだけで編集可能なStandardシェーダーに置き換えることができました^^
おわりに
簡潔過ぎましたが、久々の記事だったので今回はこれでお許しくださいw(´;ω;`)
入手したAssetによってはStandard以外のビルトインシェーダーを使っているケースがあり、ちょっとだけ変えたい場合は今回のように用意したシェーダーから改変するという手段が有効だと思います。