ばーちゃるなれっじ Unityのエラー、アバター改変、イベントを検索 アプリで開く
‹ 戻る#技術・制作

シェーダーとは何か 見た目を決める仕組み

「このアバター、シェーダーは何を使ってますか?」——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の基本 色替えの第一歩アバター