妹でもわかるUnrealEngine4

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

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

ポストプロセスマテリアルによる簡易LUT

f:id:una_unagi:20170414235450p:plain

f:id:una_unagi:20170414235457p:plain

「ルックアップテーブル(LUT)による色変換で、色々情報をもらったんだけど、今のところ中間色が出ないようなLUTを使う方法は見つかってなくて、それでポストプロセスの標準機能ではなく、マテリアルでそういう処理を組めばいいのでは? と思ってやってみたのがコレ」

f:id:una_unagi:20170414235705p:plain
RGBのデータを元に、LUT上のUV値を計算
たぶん正確じゃない計算式
使用するのはポストプロセス用のLUTと同じテクスチャ

f:id:una_unagi:20170414235715p:plain
Nearestを設定すると補完なし(くっきり表示)になる

妹「上のはちゃんと2色になってるね。もう一個の方は?」

「こっちは標準のLUTを補完無しで使った場合。RGBが16段階になるから色が劣化して見える。これを補完ありで使う事もできるんだけど……」

f:id:una_unagi:20170415000200p:plain

妹「なんだろ……普通に見えるけど、なんだか微妙に汚いような……黄色いシミ?」

「本来はマテリアルがあってもなくても同じに見えるはずだけど、なんかそうなる。黒いとこに赤が混ざったりとか。RGBからUV値に変換する計算が上手くいってないのかなと思うけど。そもそも標準機能じゃないからあんまり高速でもないし、単純な2値化ぐらいだったら昨日みたいに計算する方がよさそう。でもレトロゲーム風表示とかで、使える色との対応が計算で求めにくい場合は、この方法が使えると思う」