4.3のアップデートで、Spriteが使えるようになりました!
テクスチャの一部を切り出して表示する機能がデフォルトで扱えるようになり、大変便利です。

Sprite的な使い方をする場合、たとえば敵にぶつかったときなど、白や赤に点滅させたいことがあります。
デフォルトでは白くできないのですが(黒~テクスチャの色まで)、スプライト用シェーダーに少し手を加えると白くできるようになります。

1 4.3用のbuilt-in shadersをダウンロード
2 Sprites-Default.shaderを開く


fixed4 frag(v2f IN) : COLOR
{
  return tex2D(_MainTex, IN.texcoord) * IN.color;
}


fixed4 frag(v2f IN) : COLOR
{
  fixed4 emi = tex2D (_MainTex, IN.texcoord) * _Color;
  emi *= IN.color;
  emi.rgb = emi.rgb*2+max(fixed3(0,0,0),IN.color.rgb-0.5)*2;
  return emi;
}

のように変更

4 適当な名前(“Sprites/Custom”,Sprites-custom.shader等)に変更して保存

5 上記シェーダーをSpriteRendererに適用

sprite2DVtxCol
Color(0.5,0.5,0.5,1.0)で元のテクスチャ色、0.0が黒、1.0が白となります。

12月 23, 2013 at 2:11 pm by emesiw
Category: Unity