PostEffectボックスフィルタリングによるぼかしのポストエフェクトの実装方法を紹介します。関連はじめに以前、解像度を落とすことによりぼかしを加えるポストエフェクトを紹介しました。light11.hatenadiary.comこれは画像をぼかすにはかなり粗いやり方であるため、この記事ではボックスフィルタリングという手法でぼかしを加えてみます。ポストエフェクトの基礎については以下の記事で紹介していますので、必要に応じて参照してください。light11.hatenadiary.com考え方シェーダ内でぼかしたいテクスチャをサンプリングすることを考えます。このとき、UV座標を外側に1ピクセル分だけずらした4点から色をサンプリングし、その平均をこの点の色とします。周囲4点から色を取るため、ぼかした効果が生まれます。結果的により多くのピクセルから色を集めることになり、綺麗なぼかしが生まれます。バイリニアサンプリングについては下記が詳しいです。実装まずシェーダを書きます。}}内容の説明はコメントに書いたとおりです。注意点としては、4点をサンプリングする際に、ダウンサンプリングの場合には1ピクセル分ずらした4点を取るのに対し、アップサンプリングの場合は0.5ピクセル分だけずらす点です。これは、アップサンプリングが1ピクセルから4つのピクセルに分割する処理であることを考えると、0.5ピクセルずらすした点が分割後のピクセルの中心位置となるためです。次にスクリプトを編集します。スクリプトは、以前の解像度ぼかしのものに手を加える形で実装します。}}解像度ぼかしからの差分は、マテリアルのフィールドを追加し、Blit時にそのマテリアルとパスを指定している点です。ダウンサンプリングは先ほどのシェーダの1つめのパスを、アップサンプリングは2つめのパスを指定しています。このスクリプトをカメラにアタッチし、シェーダから作成したマテリアルをインスペクタからもたせます。結果は次のようになります。これでいい感じにぼかせるポストエフェクトができました。»プロフィールUnityエンジニア。グラフィックスへの興味が強めです。インストールから基本的な使い方・注意点まとめ【Unity】【エディタ拡張】テクスチャを指定したUV座標で切り取って保存する【Unity】指定したアセットのAssetBundle名を取得する【Unity】【シェーダ】スクリプトからVP行列を渡してシェーダで座標変換に使う【Unity】【シェーダ】FloatやVectorをリニアライズ対象にするGammaアトリビュート月別アーカイブはてなブログをはじめよう!halya_11さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。