【Unity】加算とアルファブレンド モバイルシェーダーとの比較

unity-additive-alpha-blend-shaders-compare-mobile

通常とモバイルのシェーダーの違いが気になったので比較してみました。

スポンサーリンク

違い

76行 ↔ 25行

コードが減っているだけで、基本的にアルファのアニメーション使うときは通常のシェーダーで良さそうです。
(そこまでパフォーマンスの大きな差はでないそう)

ちなみに通常版から、TintColor付きのモバイルになるようにコードを削除したのですが、断念しました。

unitech.hatenablog.com

スポンサーリンク

加算とアルファブレンドの違い

基本的に、1行だけ変更すれば良さそうです。

コードの違い

<加算>
Blend SrcAlpha One
Cull Off Lighting Off ZWrite Off Fog { Color (0,0,0,0) }(通常版のみ)

<ブレンド>
Blend SrcAlpha OneMinusSrcAlpha
Cull Off Lighting Off ZWrite Off(通常版のみ)

代用

TintColor付きのモバイルシェーダーはこちらのシェーダー(行数:68)で代用してみることにしました。

Build software better, together
GitHub is where people build software. More than 27 million people use GitHub to discover, fork, and contribute to over 80 million projects.

<Alpha Blendedに変更する>
下記のコードを差し替え

Blend SrcAlpha One → Blend SrcAlpha OneMinusSrcAlpha に変更

<4.xで使うには>
下記のコードをコメントアウト

UNITY_FOG_COORDS(1)
UNITY_TRANSFER_FOG(o, o.vertex);
UNITY_APPLY_FOG_COLOR(i.fogCoord, col, (fixed4)0);

コメント