ローポリ系ゲームにありがちな「しま模様」ライティングの正体とは。かつての課題も、今や味わい深い
Redditのグラフィック・プログラミング系トピックを扱うコミュニティに投じられたある質問が、注目を集めている。「懐かしの3Dグラフィックで起こりがちな現象」の正体を問う素朴な質問だ。
今回のスレッドで投稿者はローポリゴン風の、卓上ランプとベッドなどが置かれた小さな部屋の3Dグラフィックスを例示。itch.ioにて配信中のゲーム『Mr. Meat』のワンシーンだそうだ。
画像を見ると、壁で反射した卓上ランプの光が「円形の波が幾重にも重なっているよう」に描画され、波の端の方は淡い虹色となっている。ローポリゴンのゲームなどで時おり見られるグラフィックだろう。独特な描画に対して投稿者は「何と呼ばれる現象なのか」という素朴な疑問を抱いたようで、ユーザーらが回答を寄せている。
まず円形の波が重なったように光が描画されている点は、カラーバンディング、あるいはバンディングと呼ばれる現象だ。1ピクセルあたりに使える色数が少ない(色深度が小さい)場合などに、本来であれば滑らかなグラデーションで色の変化が表現される部分が縞模様のように描画される。バンディングはゲームに限らず、画像や映像処理全般で生じうる問題だ。
そして本作ではレトロさを表現するためか、シェーダー処理などであえて色数を減らす、ポスタライズ系の処理がおこなわれているとみられる。限られた色数で描画されたことからか、バンディングのほか、外側の波の端が淡い虹色になるといった独特な色表現も生じたようである。この微妙な色調の変化については、「色の量子化(色数の削減)」をカラーチャンネルごとに施した結果としてあらわれたのではないか、との推察もなされている。
ちなみにバンディングについては、意図的に少量のノイズを加える「ディザリング(Dithering)」処理などで緩和可能だ。ディザリングでは、特定の領域に微妙に異なる色をランダムに配置することで、色と色がくっきりと分かれていた境界をぼかし、グラデーションのような錯覚を生むことができる。
初代PSなど、限られた容量でゲームが開発されていた時期には、作品によってはデータ容量節約のためにあえて色数を絞るといった選択もとられていた。この際にもバンディングなど同様の問題が生じ、ディザリング処理などが活用される場合もあったようだ。レトロ風のグラフィックを採用する現代のゲームでも“当時のグラフィックの課題”が再現されているのは興味深い。
なお今回注目された『Mr. Meat』はゲームジャムイベントにて10日間で開発されたゲームとのこと。「光の縞模様」が特に意図せず偶然再現されたものなのか、あえて当時のグラフィック再現として採用されたのかは定かではない。いずれにせよ、グラフィック制作において課題とされがちバンディングながら、作風によっては味のある懐かしの表現にもなるだろう。