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

妹でもわかるUnrealEngine4

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

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

ポストプロセスのカラーグレーディング

f:id:una_unagi:20170412000810p:plain

「ポストプロセスは色々面白そうなので、引き続き調査中」

妹「これは画面の色調を変えたの?」

「いやこれは変えない設定にしたつもりなのに、何故か変わっちゃってる件の調査」

docs.unrealengine.com

f:id:una_unagi:20170412001149p:plain

「この中のルックアップテーブル(LUT)というやつを試していたんだけど、公式サイトからダウンロードした、デフォルト値のテクスチャをそのまま使ってるのに、何故か色が変わってしまった。で、これは一箇所設定しないといけない場所があることがわかった」

f:id:una_unagi:20170412001505p:plain

「ルックアップテーブル用の画像は、2Dスプライトを作る時とかと同じで、テクスチャアセットとして読み込む。ただ設定値が2Dの場合とは違うみたい。ここをColorLookupTableと設定しておくと、なんか正しい色……つまり最初と同じ色になった」

妹「そのルックアップテーブルというのはどういう風に使うものなの?」

「原理としては、色ごとに対応表みたいなのを作って、その通りに色を置き換えていくという仕組み。基本の画像はRGBが綺麗に並んでるんだけど、その画像の赤があった部分を青に塗り換えておくと、赤いはずのポリゴンが全部青く表示される、みたいな。」

妹「その対応表作るのってむずかしくない?」

「1色ごとやると大変。普通はPhotoShopとかでフィルタをかけて使う。今回はKritaでやってみた」

f:id:una_unagi:20170412002206p:plain

f:id:una_unagi:20170412002316p:plain

「Kritaで調整した色合いと同じように、UE4の画面が書き換わる」

妹「なんだか気持ち悪い色に」

「ちゃんと調整する時は、LUT用の画像だけじゃなくて、元の画面のスクリーンショットも別レイヤで読み込んでおいて、同時にフィルタをかけるようにするといいらしい。今回は色が変わればいいやと思ってテキトウに作ってしまったけど」

f:id:una_unagi:20170412002743p:plain

「今回やったぐらいの加工だと、他のソフトでLUT作らなくてもUE4内の設定でも出来る。暗い部分だけ赤味を付けるなんてことも。ゲーム中の処理速度はLUTとどっちが速いのかわからないけど、こっちの方が色々手間かからなくて楽」

妹「あ、これって例えば、そのLUTというやつの画像をぼかしたら、画面もぼかせたりということは……」

f:id:una_unagi:20170412003317p:plain

f:id:una_unagi:20170412003321p:plain

「一応画面は変化するんだけど、思ったような変化はしなかった。ボカシ処理は画面上の隣のピクセルとの間を曖昧にしたいわけだけど、LUT画像で隣にあるピクセルとは無関係だから。ピクセルの場所に関係なく効くフィルタなら、想定通りの効果が出るはず」