VRChat
HOTATE's VIRTUALABHOTATE's VIRTUALAB

【VRC想定】EasyColorChangeシェーダー

簡単な色改変がUnity内で完結してできるシェーダーです。 Unlit版とFlatLitToon版がありますが、どんなシェーダーでも比較的簡単に対応させることができると思います。 なにかあればこちらまで Twitter : @HhotateA Discord : hhotatea#0333 【追加プロパティ】 通常版-テクスチャをモノクロに戻してから色を付けなおす処理をしています。 ①BlackColor :テクスチャの濃いところの色です。 ②WhiteColor :テクスチャの薄いところの色です。 Advance版 ①RedColor0 :赤色成分の高いところの色です。 ②RedColor1 :赤色成分の低いところの色です。 ③GreenColor0 :緑色成分の高いところの色です。 ④GreenColor1 :緑色成分の低いところの色です。 ⑤BlueColor0 :青色成分の高いところの色です。 ⑥BlueColor1 :青色成分の低いところの色です。 ⑦明るさの補正 :まんまです。任意に調節してください。 【他のシェーダーに機能を追加する場合】 通常版 ①機能を追加したいシェーダーファイルをEasyColorChangeフォルダに入れる。 ②シェーダーを開きプロパティ内に _color1 ("BlackColor",color) = (0.0,0.0,0.0,1.0) _color2 ("WhiteColor",color) = (1.0,1.0,1.0,1.0)  と追加する ③CGPROGRAMと書いてある行をすべて探して、改行した次の行に #include "ColorChange.cginc"  と追加する。 ④tex2D(_MainTex みたいなことが書いてある行をすべて探して、改行した次の行で _MainTex_var = colchange1(_MainTex_var);  と追加する。(変数名は変える) Advance版 ①機能を追加したいシェーダーファイルをEasyColorChangeフォルダに入れる。 ②シェーダーを開きプロパティ内に _colorR1 ("RedColor0",color) = (0.0,0.0,0.0,1.0) _colorR2 ("RedColor1",color) = (1.0,0.0,0.0,1.0) _colorG1 ("GreenColor0",color) = (0.0,0.0,0.0,1.0) _colorG2 ("GreenColor1",color) = (0.0,1.0,0.0,1.0) _colorB1 ("BlueColor0",color) = (0.0,0.0,0.0,1.0) _colorB2 ("BlueColor1",color) = (0.0,0.0,1.0,1.0) _emis ("明るさ補正",Range(1,3)) = 1  と追加する ③CGPROGRAMと書いてある行をすべて探して、改行した次の行に #include "ColorChange.cginc"  と追加する。 ④tex2D(_MainTex みたいなことが書いてある行をすべて探して、改行した次の行で _MainTex_var = colchange2(_MainTex_var);  と追加する。(変数名は変える)

簡単な色改変がUnity内で完結してできるシェーダーです。 Unlit版とFlatLitToon版がありますが、どんなシェーダーでも比較的簡単に対応させることができると思います。 なにかあればこちらまで Twitter : @HhotateA Discord : hhotatea#0333 【追加プロパティ】 通常版-テクスチャをモノクロに戻してから色を付けなおす処理をしています。 ①BlackColor :テクスチャの濃いところの色です。 ②WhiteColor :テクスチャの薄いところの色です。 Advance版 ①RedColor0 :赤色成分の高いところの色です。 ②RedColor1 :赤色成分の低いところの色です。 ③GreenColor0 :緑色成分の高いところの色です。 ④GreenColor1 :緑色成分の低いところの色です。 ⑤BlueColor0 :青色成分の高いところの色です。 ⑥BlueColor1 :青色成分の低いところの色です。 ⑦明るさの補正 :まんまです。任意に調節してください。 【他のシェーダーに機能を追加する場合】 通常版 ①機能を追加したいシェーダーファイルをEasyColorChangeフォルダに入れる。 ②シェーダーを開きプロパティ内に _color1 ("BlackColor",color) = (0.0,0.0,0.0,1.0) _color2 ("WhiteColor",color) = (1.0,1.0,1.0,1.0)  と追加する ③CGPROGRAMと書いてある行をすべて探して、改行した次の行に #include "ColorChange.cginc"  と追加する。 ④tex2D(_MainTex みたいなことが書いてある行をすべて探して、改行した次の行で _MainTex_var = colchange1(_MainTex_var);  と追加する。(変数名は変える) Advance版 ①機能を追加したいシェーダーファイルをEasyColorChangeフォルダに入れる。 ②シェーダーを開きプロパティ内に _colorR1 ("RedColor0",color) = (0.0,0.0,0.0,1.0) _colorR2 ("RedColor1",color) = (1.0,0.0,0.0,1.0) _colorG1 ("GreenColor0",color) = (0.0,0.0,0.0,1.0) _colorG2 ("GreenColor1",color) = (0.0,1.0,0.0,1.0) _colorB1 ("BlueColor0",color) = (0.0,0.0,0.0,1.0) _colorB2 ("BlueColor1",color) = (0.0,0.0,1.0,1.0) _emis ("明るさ補正",Range(1,3)) = 1  と追加する ③CGPROGRAMと書いてある行をすべて探して、改行した次の行に #include "ColorChange.cginc"  と追加する。 ④tex2D(_MainTex みたいなことが書いてある行をすべて探して、改行した次の行で _MainTex_var = colchange2(_MainTex_var);  と追加する。(変数名は変える)