プロシージャル・テクスチャの"種"はノイズにある?

3Dグラフィックス(CG)制作やゲームグラフィックス開発などで制作負荷が高いものにテクスチャ素材の作成が挙げられる。

屋外のオープンフィールドシーンが主体のゲームであれば地面の模様、道路のアスファルトの模様、石壁の模様、樹木の皮など、挙げればきりがないほどの素材を作らなければならない。屋内主体のゲームでも、お城ならば大理石の床の模様、絨毯の柄が必要になるし、洞窟ならば岩壁や鍾乳洞の模様が要る。

フリー素材が公開されていたり、ゲームスタジオによっては独自ライブラリを構築しているところもあるが、決まり切ったものを活用していては規則性が見抜かれたり、あるいは平凡な絵面になってしまったりする。

そこで、そうした様々なテクスチャ素材をもプロシージャル生成するための研究が各方面で行われている。

このテクスチャのプロシージャル生成の基本となるのがノイズを用いる方法だ。

ノイズの代表例としてはホワイトノイズ、ピンクノイズ、ブラウン運動ノイズなどがあるが、このうち、人間が自然と感じるのがピンクノイズとブラウニアンノイズの2つだといわれている。

ホワイトノイズは全ての周波数帯でスペクトル強度が均等となるノイズで、非常にランダム性が高い。ピンクノイズは周波数fとスペクトル強度が反比例する特性を持つノイズだ。ブラウニアンノイズはブラウン運動の軌跡によく似たノイズで、スペクトル強度が周波数fの二乗に反比例する特徴を持つ。周波数的な視点でいうとピンクノイズとブラウニアンノイズは低周波成分が強くて高周波成分が弱く、大きな揺らぎの中に細かい揺らぎが乗っているようなノイズになる。この2つのノイズは自己相似性があることが知られており、こうしたノイズを特に「フラクタルノイズ」と呼ぶ。

下図は、このフラクタルノイズを元に作られるプロシージャル・テクスチャの例だ。

ノイズを元にプロシージャルテクスチャを生成する

スライドの左下の2つは、まずブラウニアンノイズを生成してこれをテクスチャ化し(左)、これを離散的な値へ変換して色を付けてやると大理石のような模様になる(右)という例となっている。こうしたテクニックをさらにチューニングして応用すると、スライド右上のような木の皮がめくれたような樹木の模様のようなテクスチャを生成することが出来る(スライド右上)。こうしたノイズを離散変換して別々の色のベースカラーにして、これをマルチレイヤーとして合成すると迷彩パターンのテクスチャも生成できる(スライド右下)。(続く)

プロシージャル生成した大理石テクスチャをティーポットに適用した例。この技法の開発者のDavid Cornette氏のサイトより

(トライゼット西川善司)