プロシージャル技術による山岳の生成
プロシージャル技術の下地となっているフラクタル理論まではざっくりと理解したところで、この後は、そのフラクタル理論を応用して自然物を再現するプロシージャル技術を見ていくことにしよう。
まず取り上げるのは「山岳の表現」で、本稿では、その代表的な2つのメソッドを紹介しよう。
1つ目は「フラクタルブラウン運動」(FBM:Fractional Brownain Motion)で山の起伏を与える方法だ。
フラクタルブラウン運動はブラウン運動の式を指数パラメータを設けて拡張したものであり、このHの与え方でブラウン運動の軌道の起伏の出方が変わってくる。H=1/2がブラウン運動で、Hが1/2より大きいときには軌跡の振動が緩やかで、Hが1/2より小さいときには逆に振動が激しいものとしている。
フラクタルブラウン運動は一次元の情報なので、これを3Dの山岳地形の起伏として利用するためには工夫が必要だ。
これの次元拡張の様式として、よく用いられるのは、あらかじめ適当な数のポリゴンで分割した平面グリッドの各頂点に対し、このフラクタルブラウン運動の軌跡で変位してやる(ディスプレースメント・マッピングに相当する)実装法だ。
この方法で再現した山岳地形の作例を披露しているKen Musgrave氏の作例を以下に示すとしよう。
Ken Musgrave氏によるプロシージャル技術で生成された例を紹介した |
フラクタル理論による山岳表現、もう一つの方法は、前出のフラクタル理論基本編でも取りあげた再帰分割法を応用した技法だ。
これは、初期形状のポリゴンモデルを、乱数などによって適当な変位(凹凸)量を伴って、反復的に分割(実質的には細分化)していく方法になる。結果として凹凸付きのサブディビジョンされたような地表モデルを得ることができる。
実在するかどうかは問題とせず、それなりに説得力のある地形シーンが必要なケースはゲームではよくあることだ。毎回マップが変わってプレイすることに価値が見出せるような、たとえばリアルタイムストラテジーゲーム用のマップ生成には向いているかもしれない。
このようなプロシージャル技術による山岳生成において、最も先進的なソフトウェアとして認知されているのが英Planetside Software社の「Terragen」だ。
TerragenはGUIベースで操作できるプロシージャル技術を実装した地形(景観)オーサリング・ツールとなっている。
実際の地形生成は、パーリンノイズなどの算術ノイズなどを組み合わせて凹凸を表すテクスチャ「ハイトマップ」を生成し、これを十分な頂点数を持つ地表ポリゴンモデルに対してディスプレースメント・マッピングすることで実現される。プロシージャル技術ベースなので、ノイズの種類を切り換えたり、山や谷の高さや深さ、その凹凸の凹凸頻度などにまつわるパラメータを調整することで全く別の地形を生成することできる。
Terragenは商用利用の場合はUS$199~US$299だが、評価目的や非営利利用の場合は無料で利用することができる。無償版ではレンダリング解像度が800×600ドットに限定されると言った細かい機能制限はあるが、地形生成を試すだけであれば十分楽しむことが出来る。興味がある人は是非、英Planetside Software社のサイトからダウンロードして試してみよう。(続く)
動画 | ||
---|---|---|
|
(トライゼット西川善司)