2014年5月27日火曜日

[Blender] Compositeで画像の中央に楕円を作る

(2014/5/29 追記) twitterでuawaさん(@uauat)がTextureを使って、もっと簡単にやる方法を教えてくださったので、そっちの記事も参考にドゾー。

この間チュートリアルをやってる最中に思いついたのでメモ。Compositeでビネット処理なんかはできるんだけど、もう少し局所的にブラーなり彩度調整なりしたいときがある。そうした補正をかけたい部分用のマスクを作る手段です。

基本的には以下に並べた画像の通りにセットアップしていく。
Greater Thanノードは、ある値より大きい輝度値を1、それ以外を0で出力するノード。画像の輝度値は全部0以上だから、「-1より大きい」って条件を指定してやると、 画像全体の範囲を抽出できる。若干回りくどい(^ω^)
Lens Distortionノードはレンズの歪みの効果を出せるノード。普通にレンズ歪みの効果を出したいときはDistortの値は小さくする。しかし、今回みたいに楕円を作るときは、Distortの値に1を指定する。
Blurでぼかす。「Relative」にチェックがついてるのは、仮レンダリングと本番レンダリングで解像度が異なっても対応できるようにするため。ぼかす方法は「Fast Gaussian」にしないと、後のGreater Thanノードで楕円にならないため注意。
ここのGreater Thanノードが一番の味噌。このノードによって楕円ができる!また、「Value」で楕円の大きさがある程度調節できる。

以下は、実際にこの楕円をどうやって使うかの具体例。なにがしたいかというと、この楕円以外の部分の彩度を落とすことで、ノスタルジック?な演出をしよう!という目論み。
Translateノードは楕円の位置調節用。
ぼかす。
そのままHue Saturation Valueノードに突っ込むと、楕円の部分の周りではなく、楕円の部分の彩度が落ちてしまうので、Invertノードで階調反転する。
最後に、今まで作ってきた楕円のマスク画像をHue Saturation ValueノードのFacに突っ込む。うーん、ノスタルジック(´-ω-`)

とまあ、ざっとこんな感じ。全体的に回りくどい気がするのは自覚している。もっと簡単にできないもんかねw 楕円じゃなくて真円作りたいってときはお手上げだし…うーん。


今回は以上。書いてて気づいたけど、チュートリアルやったあとの画像あげてないねw twitterにあげて満足してしまった…気をつけないと。あと、この記事あんまり改行せずに書いてみたんだけど、見づらいかな。卒論やらでTeXをいじってたせいで、むやみに改行するのは悪に思えてきたのよね。良さそうなら、次回も(いつになるやら)改行せずに書こう。


追記 2014/05/28 0時
uawaさん(@uauat)の情報によると、どうやらTextureを使えばできるらしい?確かにいけそう。後でもうちょっといじくって、まとまったらまた書こう。

0 件のコメント: