Shaderで透明部分を抜いたり、動きを持たせたりする

f:id:appdeappuappu:20181203215314p:plain
透明抜きパターン

↓まずは実行結果↓こちらをクリック
Unity WebGL Player | Learn_Shader

テクスチャーの画像ファイルに透明化部分を作成して、その部分を抜くようにShaderで実現する
3パターンを考えて見ました。


左(青) ”Queue”=”AlphaTest” パターン
PNGファイルで透明部分を作成して使うことができますが、Unityでは古い方法なので推奨はされていません。


中(赤) Vertex Shader でClipするパターン
フラグメンテーション処理部分で、透明化されている部分をClip関数で抜く方法。
Unityでは現在この方法がよく使われていると思われる。


右(緑) ”Queue” = “Transparent” パターン
Photoshop等でアルファマスクを作成してそのアルファマスクを使って抜く場合はこちらでOK


右下の蝶はVertex ShaderでPanelを動かして、羽を羽ばたかせてそこにテクスチャーをつけています。
ParticleSystemにこのShaderを使って飛ばして見ました。

Vertex Shader Butterfly


スポンサーリンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

システム開発SE・アプリ開発・デバッガー等々なんでもやる猫の下僕です。現在は凶暴猫にカタカタ動く手を狙われながらキーボードを打っています。かなりゆるい性格なのでコメントやメッセージお気軽に〜お仕事のご依頼もお気軽にぃ〜

スポンサーリンク

コメント

コメントする

CAPTCHA


目次