スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

UNITY:カスタムイメージエフェクト

サンプルを改造してUNITYのイメージエフェクト(いわゆるポストエフェクト)をカスタム。
UNITYのスタンダードアセットのイメージエフェクトは高級な感じはするんだけど、用意されたパラメータだけでは
いまひとつ狙った絵が作りにくかったのと、やはり仕組みを自分で理解したかったので挑戦。

●ソフトフォーカスフィルター
140316a_BG.jpg
光のにじみのような効果で全体的に絵をやわらかく見せる効果のフィルター。
処理的にはきわめて簡単で、ブラーさせた画面とオリジナルの画面を50%でブレンドしただけ。
ふわっとした感じに背景がなじむのでちょっと高級感が出る。
ただ、上の絵だとちょっとぼやけすぎて距離感がつかみづらくなってしまっている感がある。
プレイアビリティを考えると、もう少し抑え目にかけたほうが良さそう。
ブレンド率を25%まで落としたくらいがちょうどいいかも。
同じような効果のディフュージョンフィルタ-も試してみたんだけど、背景の彩度が上がりすぎちゃって
ちょっと落ち着きがない絵になってしまったので今回はボツに。

●ブルームエフェクト
140316b_BG.jpg
おなじみの、高輝度の部分のみを抽出してぼやかし、元の画像に重ねることでまぶしい光を表現するための処理。
レンダーテクスチャーの回数を抑えるために上記のソフトフォーカスと一緒にまとめて処理できるようにしてみた。
どちらもレンダーテクスチャーでブラーした画面を用意するので、それを使いまわして両方やっちゃおうという魂胆。

UNITYはMSAAとHDRを併用できないという現状の制限があるんだけど、やはりMSAAはマストで欲しい。
そこで、HDRは使用せず、代わりにαチャンネルに高輝度情報を持たせることに。
(これをやるとたぶんアルファブレンド系のシェーダーが使いにくくなるけど、今回は使う予定があまりないのでOK)
光らせたい部分のAチャンネルを1になるようにそれぞれのシェーダーを設定して、
レンダーテクスチャーのαチャンネルをそのまま高輝度部分のマスクとして扱えるように。
そしてブルーム部分の色が際立つようにRGBをいろいろいじって、マスク使って元画像に加算して処理的には完成。

あとはブラーのかかり具合とかをサンプルを改造しながら調整。
ブラー処理はUNITYの関数を使っているみたいで中身まではよくわかっていない。この辺は別の機会に勉強したい。


ここまでやって分かったのだけど、ブラー画像をブルームとソフトフォーカスとで併用したのはちょっと拙速だったかもしれない。
ブルームとソフトフォーカスのボケ方をそれぞれ個別に調節できたほうが絵作りの自由度は高い。
レンダーテクスチャーの数は抑えられたので処理的には間違いなくこっちのが軽いはずなんだけどね。
最初のチャレンジとしてはまずまずだけど、時間があったらやっぱり別々に処理するように分けたほうがいいかもしれない。

イメージエフェクトの仕組みの理解も深まってきたので、次機会があればサンプルの改造じゃなくて1から自作してみたい。
デプス情報を使ったネタとか、試してみたいアイデアが結構ある。

スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

JNY

Author:JNY
某ゲーム会社勤務
趣味と修行をかねて個人製作中
Softimage & Cgfx & Unity

最新記事
最新コメント
月別アーカイブ
カテゴリ
カウンター
twitter

Twitter Updates

    follow me on Twitter
    リンク
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。