Stackについての簡単な説明と、モバイルデバイスで使う上での注意点をまとめました。StackについてはPreview版であり、なおかつあくまで現時点での情報となります。Stackの概要の説明と基本的な使い方については以下の記事で説明しています。light11.hatenadiary.com必要に応じて参照してください。Occulusionある点に入射する光を考えるとき、周辺に障害物があると入射光が遮られてその点は暗くなります。Occulusion(SSAO)です。Occlusionの2種類が用意されています。Obscuranceは幅広いプラットフォームで動くものの処理負荷は大きいです(モバイル想定されてないレベル)。Shaderが必要です。Occlusionを使うべきで、モバイルではSSAOを使うべきではない、ということになりそうです。下のドキュメントにもそんなようなことが書かれています。Mapを用意するなど考えたいところです。Obscuranceの原理はこちらの論文に書かれています。Occlusionについてはこちらで紹介されています。Anti-aliasingAnti-aliasは、オブジェクトのエッジなどに生じるジャギーを軽減するためのポストエフェクトです。アルゴリズムについては下の記事で紹介しています。light11.hatenadiary.comPostprocessingではFXAAとTemporalAAが用意されています。これらのうち、TemporalAAは処理負荷が大きくモバイル向けではなさそうです。RenderingであればFXAAを使うのがいいのかなと思います。いずれも軽い処理では無いので費用対効果を考えながら適用していくべきです。BloomBloomは、暗い場所で明るい物を見たときに光がフワッと漏れ出すように見える効果のことを指します。アルゴリズムの基本的な考え方は下の記事で紹介している通りです。light11.hatenadiary.com要は、明度の高い部分だけを抽出してぼかし、元の画像に合成します。ブルームはぼかす際のアルゴリズムによってクオリティと処理負荷が大きく変わるので注意が必要です。処理負荷についてはPostProcessingのWikiに記述があるので要約してみます。ModeをONにしたうえでDiffusionを許容できる値まで下げるのがよさそうです。ブルームはアルゴリズム次第で処理効率を稼ぎやすいポストエフェクトだと思うので、自前での実装を検討するのもアリかと思います。Abberationは、カメラのレンズにより波長がずれることで発生する色ずれのことです。この効果は画面の端に行けば行くほど、またコントラストが大きい部分ほど強く現れます。Abberationについては以前の記事で簡単な説明と実装をしています。Abberationは上の記事のものよりも高機能で効果が綺麗にかかります。その代わり、Intensityを大きくすればするほどサンプリング回数が増えて処理負荷がます性質があります。ModeをONにすると効果が綺麗にはかからなくなりますが、とても軽くなるようです。このモードが上の記事の実装に近いのではないかと思います(コードをしっかり見てはいませんが)。Modeにしておくのが無難で、通常モードにする場合は要検証です。Gradingは色を補正するためのエフェクトです。Photoshopのようにいろんな補正が掛けられます。設定値が多いエフェクトですが、設定された情報は全てLUTと呼ばれるテクスチャに焼き込まれます。ランタイムではこのテクスチャがサンプリングされるため、どれだけ複雑な設定をしても処理負荷は変わりません。モバイルでも使用可能なポストエフェクトです。Fieldは望遠カメラなどで撮影を行った時に焦点が合っていない部分がぼける現象を再現したポストエフェクトです。ぼけるという点ではBloomと似ていますが、Bloomのように光が明るく漏れ出すような効果はありません。現実のボケの形はカメラの絞りの形によって六角形になったりしますが、現状では円形のみ対応しているようです。SizeをSmallにするようにWikiに書かれています。SizeをSmallにしたところで処理負荷は決して小さくないはずなので、使用する際は検証が必要です。最近ではぼかし方をかなり荒くすること(多分縮小バッファに焼いて戻しただけのぼかし)で軽量化を図って実装しているモバイルアプリもあったので、より軽量な実装を自前で行うことを検討してもいいかもしれません。ちなみに対応シェーダモデルは3.5です。ES3.0相当なので、シェーダーモデル的には(ほぼ)対応してると言っていいかと思います。LevelsGrainGrainはフィルムで撮影した映像に見られるノイズを再現するためのポストエフェクトです。フィルム映像の再現や、ホラー演出に用いられます。気にするほどの負荷ではなくモバイルでも使用可能とのことです。ColoredをOFFにする(グレースケールにする)ことでさらに処理負荷は下がるようです。Distortionレンダリング結果を変形させることでレンズによる歪みを再現します。シェーダもシンプルで処理負荷は小さいです。Blurはカメラに高速で動く物体を映したときにブレて映る様子を再現したものです。Textureによって各ピクセルにおける速度ベクトルを求めます。次にそのベクトルの方向に少しずつずらしながら複数回サンプリングを行います。これらの平均を結果とします。Textureを使うため大きいです。モーションブラーを相当重要視していない限り、モバイルでの実用化はもう少し先かなと思います。reflectionsSSRは映り込みを表現するためのポストエフェクトです。Probe使った映り込みでは映り込みがズレてしまったりするケースでもうまく映り込みます。ポストプロセスなので反射先のオブジェクトがレンダリングされていないと映り込みません。処理負荷はレイトレースするので非常に高そうです(特にきれいな反射をさせる場合)。Renderingにのみ対応しています。これらのことから、モバイルで実用的になるのはまだ先の話と言えそうです。Vignetteビネットは画面の端ほど暗くなる効果を掛けるためのものです。カメラのレンズにより発生する光学現象を再現するためのポストエフェクトであるといえます。シェーダはシンプルで処理負荷は小さいのでモバイルでも使用可能です。»プロフィールUnityエンジニア。グラフィックスへの興味が強めです。Blur(渦巻ブラー)のポストエフェクトを実装する月別アーカイブはてなブログをはじめよう!halya_11さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。