Amazon新生活セール開催中!

【Unity】スプライトをシェーダーで明るくしたり暗くしたりする方法

unity-sprites-defalt-custom

昔使っていたスプライトをシェーダーで明るくしたり暗くしたりするシェーダー。

そもそも中身を知らないまま使っていたので、調べてみました。

シェーダーのダウンロード

  • 5.4のビルトインシェーダーをダウンロード

Unity – Download Archive

  • Sprites-Default.shaderを探し、Unityへコピー


シェーダーのカスタマイズ

シェーダー名の変更

Shader "Sprites/Default"

Shader "Sprites/Default_Custom"

一箇所コードの追加

         fixed4 frag(v2f IN) : SV_Target
{
fixed4 c = SampleSpriteTexture (IN.texcoord) * IN.color;
c.rgb *= c.a;
return c;
}

         fixed4 frag(v2f IN) : SV_Target
{
fixed4 c = SampleSpriteTexture (IN.texcoord) * IN.color;
c.rgb = c.rgb*2+max(fixed3(0,0,0),IN.color.rgb-0.5)*2;
c.rgb *= c.a;
return c;
}

まとめ



画像の表示

マテリアルのアサイン

f:id:min0124:20171024004931p:plain

  • uGUIのImageを作成し、Materialに先程のシェーダーをつけたマテリアルをアサイン

中間のグレー(rgb128)の状態でデフォルトの状態となっている

テスト

f:id:min0124:20171024005113g:plain



参考

Unity5.xでuGUIのImageを白くする – Qiita



以上、すいみん(@cg_method)でした!

すいみん
専門誌の定期購読をするなら月額980円の「Kindle Unlimited」がおすすめです!


eyecatch-amazon-kindle-unlimited
【Kindle Unlimited】CG・DTP・Webデザイナーにおすすめの読み放題サービス[圧倒的コスパ!]