VRChatを日本人に布教中

【VRChat改変】シェーダーっていったいなに!?シェーダーについて世界一やさしい解説

アバターの改変をしているとよく出てくるシェーダーという単語…分かりそうだけど結局どういうもの?となりがちな概念の1つだと思います。

VRChatのフレンドに「コレコレこういう改変がしたいのですが….どうしたらいいですか?」と聞いたら「それはシェーダーが…くぁwせdrftgyふじこlp(理解不能)

「え?どういうことです…?」となった経験はございませんか?

私は分かった振りをしていましたが、「で、シェーダーって結局どういう存在なのだろう…」と心がもやもや…実際にはなんとな~くしか理解していませんでした。

 

ガッツリ技術的な話をしてもさらに分からなくなってしまうと思うので、すごく簡単にシェーダーについて説明したいと思います。Unityよくわからん!という方にこそ読んでいただけたらと思います。 

 

シェーダー…シェイド…シャドウ…影の事!?

一部合ってるかな…?3Dモデルに質感や影をつけるものだよ!

 

シェーダーとは何か?

  

超簡単に説明してしまうと、シェーダーとは3Dモデルに影や質感を与えるものです!これだけ!

マテリアルというものに設定をすることで3Dモデルにシェーダーを反映させることができます。

 

いきなりですが、Unityにもともと入っているStandardシェーダーとVRChatでよく使われるUnityChanToonShaderの比較です。

シェーダーが違うだけで同じアバターなのに質感が全然違いますよね?

Standardは変にテカテカしていてどこか無機質っぽくなってしまっていますが、UnityChanToonShaderは綺麗に色が発色されているのが分かると思います。このようにシェーダーの種類によって印象が大分変わります。

シェーダーはコンピューターのプログラムで作られているので、設定項目の数値を変えることで影の薄さや色味を変更することができます。

 

シェーダーを使った改変例
  • 髪にラメシェーダーを設定してキラキラさせる
  • 服のシェーダーに透明設定をしてすけすけ服にする
  • シェーダーにGIF画像を入れて衣装に動画を入れちゃう

などなど…

アバターであればやはりアバター向けのシェーダーを使うことでよりきれいに表現できるよ!

  

シェーダーの数値の設定はUnityの以下の部分で確認することができます。

まずアバターのメッシュを選択し…

インスペクターを下の方にスクロールしていくとこんな項目があると思います。こちらがシェーダーの設定部分です。▶をクリックすると設定が展開します。

 

全体像はこんな感じ。

色々設定が入っていますね。ここの数値を変更することで影の強さやアウトラインの太さ、肌の艶などなど質感に関する様々な設定をすることができます。そして、シェーダーには必ずテクスチャをセットする場所があり、そこにテクスチャ画像をドラック&ドロップすることでアバターに模様が反映されます。

イメージで言うと、アバター↤(マテリアル↤シェーダー↤テクスチャ)という構造になっている!

  

VRChatアバターにはどのシェーダーを使えばいい?

先ほど触れましたが、シェーダーはプログラムで作られています。技術力のすごい人たちによって、世の中には無限にシェーダーが公開されています。

しかし、とりわけVRChatのアバターでよく使われるシェーダーとなると種類がかなり限定されてきます。というのも、アバターは結局VRChatにアップロードするわけなので「アバターに適している」且つ「VRChatに適している」シェーダーを使うことになるからです。

  

VRChatで現状使われている主なシェーダーは以下の3つです。

VRChatでよく使われるシェーダー

昔からUnityの公式が出しているUnityChanToonShader(略:UTS)が安定して使われてきましたが、サポートが終了するとかしないとかの話が出ており現在はliltoonを使うアバター製作者さんや衣装製作者さんが増えています。しかし、最近登場したシェーダーなので情報が少なめです。UTSは基本的な設定しかできないのに対し、liltoonはUIが分かりやすくさらに宝石シェーダーやラメシェーダーが搭載されているため個人的にはliltoonのほうが好みです。

poiyomiは変わった機能(ラメとかスケルトン)がたくさんついており、こちらもよく使われるシェーダーの1つなのですが、どういうわけかUnityにインポートした際にバグを起こすことが多いため、アバター改変になれた玄人が使いこなしている印象があります。

  

VRChat向けアバターの場合は作者さんがシェーダーの数値を設定してくれており、「このシェーダーで数値設定してるからこのシェーダーをUnityにインポートして使ってね!」とった旨を商品ページなどに記載してくれています。

どのシェーダーを入れても動きますが、作者さん指定以外のシェーダーを入れる場合は自分で影の強さや色味の設定をしなくてはならないので、最初のうちは指定のシェーダーを入れた方がめんどうがありません。

改変に慣れてきたら他のシェーダーを試してみてもいいかもね!

   

Unity公式が出しているUnityChanToonShaderのガイドブック!