
現実世界と同様に、ゲーム画面でも
「まばゆい光」を表現したいことがある。
しかしグラフィックに「まぶしさ」という設定があるわけではなく、
色の明度を上げても結局は白っぽくなるだけだ。

つまり「最高に明るい色」というのはただの白色なのだが、
白一色で塗られた画像を見ても特にまぶしくは感じないだろう。
ではゲーム画面ではどうやってまぶしさを表現するのか。
その手法を簡易的に実演してみよう。

とりあえず適当な画像を用意した。
これは写真だが、3DCGでもイラストでも理屈は同じだ。

まずは元画像の中で明るい場所、
つまり白に近い部分だけ抜き出す(2階調化)。
たいていは「光っている物体」「光が当たっている場所」
「白っぽい部位」が該当するだろう。

次に2階調化した画像を適当にボカす。
これによって明るい光が
周囲にあふれ出しているような効果が得られる。

そしてこれを元の画像に加算合成で重ねる。
RGB値が足し込まれる加算合成の計算上、
2階調画像の白い部分は元画像を明るくするが(白に近づく)、
黒い部分(RGB値がすべて0)は何も変化しない。

元の画像と加工後の画像を並べてみるとよくわかるが、
部分的にぼんやりと白みがかることで
そこが光っている・光が当たっているような印象を受けるだろう。
要するに、画像をまぶしくするというより
まぶしい印象を与えるような白い領域をトッピングする感じだ。

車のテールランプやロボットが放つレーザー光線など、
赤や青といった色に変えれば太陽光以外にも応用できる。
このあたりの理屈を意識しながらゲーム画面を見てもらうと
また別の面白さが味わえると思う。