読者です 読者をやめる 読者になる 読者になる

妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

ポストプロセスマテリアルで中心以外をぼかす(2) 画面をぼかす

「グラデーションのかかった円の処理は出来たから、次は画面をぼかす仕組みを作る。円を描くノードがなかったのと同じで、ぼかすというノードもないので、またどうにかして計算式を作る」

・現在表示中のピクセルから1つ上のピクセルの色を取得
・現在表示中のピクセルから1つ左のピクセルの色を取得
・現在表示中のピクセルから1つ右のピクセルの色を取得
・現在表示中のピクセルから1つ下のピクセルの色を取得
・4つのピクセルの、色を足して4で割る

「とりあえずこんな感じの処理を考えてみた。ポストプロセス中の画面は、内部的にはテクスチャになってて、そのテクスチャを加工する形になるから、テクスチャ上のピクセルという意味でテクセルという言い方をする」

妹「テクセルだとどう違うの?」

「まあ、小さいテクスチャを拡大して表示したり、逆に縮小したりするから、画面のピクセルとは一致しない場合があるから、そのへんを区別してるらしい。ポストプロセスの場合は多分1ピクセル=1テクセルの寸法でやってるから同じだと思う。機種によっては違うかもしれないけど」

f:id:una_unagi:20170323230537p:plain

「で、これがぼかしてみたやつなんだけど……一応左側半分はそのままで、右側にはボカシがかかってる」

妹「ぜんぜんわからん」

「わかんないよね……どうも周囲1ピクセルを混ぜたぐらいじゃ効果が薄いらしい。普通お絵かきソフトのボカシ機能とかも、もっと広範囲のピクセルを混ぜるものだから」

f:id:una_unagi:20170323230734p:plain

「これはちょっと改良して、3つ上、3つ左……と、ちょっと離れたところのピクセルを混ぜてみた」

妹「なんか変わってるのはわかる。でもまだちょっと弱いような」

f:id:una_unagi:20170323230924p:plain
上下左右に8離れたピクセルを参照

f:id:una_unagi:20170323230934p:plain
上下左右に20離れたピクセルを参照

f:id:una_unagi:20170323231159p:plain
現時点のポストプロセスマテリアル

「数を増やしていくと、ぼやっとはしてくるんだけど、ボカシというよりモザイクみたいな残像になる。結局距離を離しただけで4ピクセルなのは変わってないから、どうしても滑らかさが足りない」

妹「4つじゃなくて、もっと増やしてもいいのでは?」

「そうなんだけど、このままの設計で増やしていくとマテリアルがごちゃごちゃになるのは明らかだから、もうちょっと追加や変更がしやすいように改良が必要」

f:id:una_unagi:20170323231423p:plain

「ちなみにこれが、今日のぼかし(20版)と、昨日の円表示と組み合わせた物」

妹「何か処理がかかってるのはわかるけど、なんか回りがよく見えすぎな気がする。もうちょっとよく見えなくなっててほしい」

「円部分の白と黒とのバランスの問題もあるけど、ボカシの強度も足りないだろうね」