「このアバター、シェーダーは何を使ってますか?」——VRChatでよく聞く会話です。シェーダーは改変トラブルの原因になりやすい部分でもあるので、何者なのかをざっくり理解しておくと対応がぐっと楽になります。
シェーダーは描画のプログラム
シェーダーは、3Dモデルを画面にどう描くかを決めるプログラムです。同じモデル・同じテクスチャでも、シェーダーが違えば、アニメ調になったり、リアルな質感になったり、金属のように光ったりします。
整理すると、モデルが「形」、テクスチャが「絵」、マテリアルが「どの絵をどの設定で使うかの指定書」、そしてシェーダーが「その指定をどう描くかの方式」です。この4つの役割分担が分かると、どこをいじれば何が変わるのかが見えてきます。
VRChatでよく見るシェーダー
日本製アバターではトゥーン系シェーダーが主流で、lilToonが特に広く使われています。ほかにもUnity標準のStandardシェーダー、ワールド向けの各種シェーダーなどがあります。
アバターや衣装に同梱の説明書きに「必須シェーダー」が書かれているので、必ずアバター本体より先にインポートします。この順番が改変トラブルの最大の分かれ目です。
ピンク色は「シェーダーがない」サイン
Unityでモデルがピンク一色になるのは、指定されたシェーダーがプロジェクトに入っていないときの典型症状です。壊れたわけではないので、慌てて作り直す必要はありません。
直し方は次のとおりです。
1. 同梱の説明書で必要なシェーダーを確認する
2. そのシェーダーのunitypackageをプロジェクトへ導入する
3. 多くの場合これだけで直る
4. 直らなければ、マテリアルのInspectorで
シェーダー欄を正しいものに選び直す
アバターを先に入れてしまった場合も、後からシェーダーを入れれば直ることがほとんどです。
マテリアルは複製してから編集
シェーダーの設定を変えるということは、マテリアルを編集するということです。配布物のマテリアルを直接書き換えると元に戻せなくなり、同じマテリアルを使う別の部位にも影響が出ます。編集前に複製する習慣をつけましょう。
Questでの制限
Quest単体向けアバターでは、使えるシェーダーがモバイル用に制限されています。PC用の見た目をそのまま持っていけないのはこのためです。Quest対応は「同じものを移す」のではなく「別バージョンを作る」作業だと考えると納得しやすくなります。
設定をいじるときの心構え
lilToonのようなシェーダーは項目が非常に多く、全部を理解する必要はありません。実際に触るのはメインカラーと色調補正くらいで、多くの改変は事足ります。意味の分からない項目は触らないのが安全です。
自分でシェーダーを書くのは上級者の領域ですが、「シェーダー=見た目の方式を決めるもの」と分かっているだけで、改変のトラブル対応がぐっと楽になります。
よくある質問
Q. シェーダーは有料?
A. lilToonのように無料で公開されているものが広く使われています。有料の高機能シェーダーもありますが、始める段階では不要です。
Q. 複数のシェーダーを入れても大丈夫?
A. 問題ありません。マテリアルごとに使うシェーダーを指定する仕組みです。
Q. アバターと衣装でシェーダーが違う
A. よくあることです。両方をプロジェクトに入れておけば、それぞれのマテリアルが正しく描画されます。
Q. 色の変え方を知りたい
A. 別記事「lilToonの基本 色替えの第一歩」で手順を解説しています。
引用記事lilToonの基本 色替えの第一歩アバター