コンピュータサイエンスの研究テーマとして始まったプロシージャル技術は、今、ゲーム開発シーンにおいて、要求される膨大なコンテンツ作成を効率よく行う技術としても実用化が進められつつある。

コンピュータに実装した形式化された知性で、人間に変わってコンテンツを作るプロシージャル技術の最新動向を、CEDEC 2008で行われた北陸先端科学技術大学院大学の宮田一乘教授の講演「プロシージャル技術の動向」から読み解いていく。

北陸先端科学技術大学院大学の宮田一乘教授

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

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

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

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

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

「テクスチャのプロシージャル生成の基本となるのがノイズを用いる方法だ」(宮田氏)

宮田氏はノイズの代表例としてホワイトノイズ、ピンクノイズ、ブラウン運動ノイズ(ブラウニアンノイズ)の3つを挙げ、このうち、人間が自然と感じるのがピンクノイズとブラウニアンノイズの2つだと述べた。

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

宮田氏は、こうしたノイズを元に作られるプロシージャル・テクスチャの例をいくつか紹介している。

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

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

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