渋谷ほととぎす通信

完全趣味でやってるUnityメモ。説明できないところを説明できるようにするための個人ブログ。昨日の自分より少しでも大きくなれるように。。。 ※所属団体とは一切関係がありません

スクロールをアルファブレンドしたイメージエフェクト


f:id:esakun:20170405005525p:plain

環境

  • Unity5.5.2p2

前回に続いてイメージエフェクト記事です。

今回は前回のスクロール処理にアルファブレンドを加えたら面白い表現になりましたという内容です。

まずは成果物から

f:id:esakun:20170328235747g:plain

スクロールするUnityちゃんの残像が残るちょっとおもしろい表現ができました。

スクロールは前回の処理そのままなのですが、今回変更したのは以下のアルファブレンドの設定1行です。

Blend SrcAlpha OneMinusSrcAlpha

イメージエフェクトをアルファブレンドしたらどうなるのか?という疑問から生まれたものでしたが、個人的には意外な結果となりました。

アルファブレンドしたピクセルがフレームをまたいで残っているように見えるからです(実際に残っているっぽい)。

ただ、この状態はEditor > Project Settings > Qualityから、Anti AliasingDisabledにすると起こります。

f:id:esakun:20170403222416p:plain

このようにデフォルト状態の2x Multi Samplingにすると、

f:id:esakun:20170403222554p:plain

f:id:esakun:20170403221531g:plain

アルファブレンドされる前にフレームバッファがクリアされ、先の残像のような表現にはなりません。おそらくアンチエイリアス処理時に何かしているのだと思われます。

FrameDebuggerで確認

描画周りで困ったときはとりあえずWindow > FrameDebuggerです。

Disabled時
f:id:esakun:20170403222852p:plain

2x Multi Sampling時
f:id:esakun:20170403222825p:plain

Grab RenderTextureという処理がアンチエイリアス時には実行されています。これは現在表示されているピクセルをRenderTextureへのコピーすることです。

この処理を堺にバッファがクリアされているのだと推測しました。

まとめ

最近は時間があればイメージエフェクトをいじっています。
最終的なプロダクトにするには負荷との戦いは避けれませんが、今は戦うまでの武器集めをしています。

あわせてどうぞ

www.shibuya24.info

www.shibuya24.info

www.shibuya24.info

www.shibuya24.info