妹でもわかるUnrealEngine4

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

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

ポストプロセス LUTの弱点・階調化フィルタ

f:id:una_unagi:20170413014027p:plain

f:id:una_unagi:20170413014424p:plain

「昨日はピクセルの場所に関係ないフィルタならいけるって書いちゃったけど、厳密に言うとそれでも駄目なやつがある。例えば上のスクリーンショットは2値化フィルタを書けたLUTを使ってるんだけど」

妹「2値になってないね。グレーがいっぱいある」

「グレー部分が出来るのはポストプロセス処理が完全に無効化出来てないせいのもありそうなんだけど、二値化処理自体にも問題がある。LUTって、16x16の画像を横に16個並べた、256x16というサイズの画像を使ってる。でもこれだと色は4096種類しかない。RGBそれぞれが16段階しかないということ」

妹「わたしが知ってるやつは、0から255までと書いてあったような」

「今のパソコンの、いわゆるフルカラー表示というのはそうなってる。256階調。だからLUTにピッタリ同じ色がないっていう場合はしょっちゅうあって、そういう時はご近所の色から計算して中間の色で表示することになってる。だから黒と白の境界線あたりの色はグレーになる可能性がある。偶然そういう色がなければ2階調に見えることもあるだろうけど」

妹「白と黒だけで表示したい場合はどうすれば?」

「基本的にはポストプロセスマテリアルでやるのが良さそうな気がする。いったん16階調化するポストプロセスマテリアルを実行して、その後LUTを通すという案も試してみたんだけど、どうも狙った色にならずに成功しなかった」