プロシージャル技術による植物の生成(2)~実在する植物のプロシージャル的表現
L-SYSTEMを3Dに拡張して、植物の成長をシミュレーションするように立体的な植物モデルを生成したわけだが、この分野で最先端の研究を行っているカルガリー大学のPrzemyslaw Prusinkiewicz教授は、さらに実在の植物に似せるために植物の成長ホルモンの分泌と成長法則(Inflorescence Model)にまつわる研究を行い、これを実装した報告を行っている。
植物の成長法則までをモデル化。上は下の枝から実を付けるAcropetal Flowering Sequence型。下は上の枝から下に向かって実を付けるBasipetal Flowering Sequence型 |
研究によれば植物は成長ホルモンを根本から上へ押し上げる種類と、葉先から根本に下に向かって分泌するものがあり、前者は下の枝から実を付け(Acropetal Flowering Sequence)、後者は上の枝から下に向かって実を付け始めるような成長をする(Basipetal Flowering Sequence)。
さらに補足すると、実を付ける部分の枝にも種類特有の成長法則があり、Prusinkiewicz氏はこれも表現するモデルを考案している。
このような実在植物のL-SYSTEMで実装していく研究はかなり進んでおり、それらをかなり正確にモデル化することに成功している。
とても興味深いのは葉の付き方や枝の分かれ方についてだけでなく、花の形状規則についても実装が出来ているという点だ。
例えばキク科の植物は花の土台が円盤状になり、そこに無数の種を付けるが、その種の配列などもL-SYSTEMの記号化表現に成功している。種は中心に渦を巻くように配列されるが種類によってその巻き込み角度や密度が異なるとされ、Prusinkiewicz氏は、この研究で代表的なキク科の植物、ヒマワリの花のプロシージャル実装例を発表している。
ここで紹介した一連の植物のL-SYSTEMによる実装例についてはPrusinkiewicz氏のサイトに大量に発表されているのでより詳細な情報はそちらから入手して欲しい。
このように、最初はフラクタル理論から「植物っぽいものが描ける」という着想から始まったが、最先端の研究では実在植物の論理的表現までが可能になっているのだ。大局的で反復的な記号処理などはコンピュータの得意とする分野であるし、その記号列から3Dグラフィックスの生成というテーマもGPUやCPUへの実装テーマとしては興味深いテーマだといえる。レンダリング時の陰影処理の工夫をすればかなりリアルな花畑やジャングルもプロシージャル生成が出来そうだ。
植物の場合、単体の表現も重要だが、そのシーンにリアルに様々な植物が生い茂るような「植生の表現」も重要になる。
独マクデブルク大学のO.Deussen氏らはこの研究テーマに取り組み「Realistic Modeling and Rendering of Plant Ecosystems」という論文を発表している。
この研究では植物の種を一様な密度で蒔いたとしてもその植物の個体差による成長スピードの違いや、種類特有の身長の高さやボディの大きさ、あるいは最初からそこに存在した植物の影響などで、弱肉強食的なエコシステムが発生する。大きな植物はその周辺までを縄張りとしてしまうため(広く根を張り、養分等を独り占めしてしまったり、日が当たらなかったりするため)、その下に多くの植物は成長しにくい。大きな木の日影にはあまり草木が育っていない状況を現実に見たことがあるかもしれないが、ああした植物の植生表現までもプロシージャル生成することもできるというわけだ。この研究では、植物ごとの寿命の違い、種ごとの生命力の強さ(Vigor)、また自分が生えている場所の水分含有率にまで配慮した植物の植生のプロシージャル実装を行っている。
最初均等に蒔いた種も(左端)、時間が進むに従って成長に差が出て、大きな植物はその周辺に他社を寄せ付けない縄張り構造が露見してくる。緑は支配されていない植物、赤は支配されている植物。黄色は経年で枯れ始めた植物を表している |
こうしてみてきてわかるように、プロシージャル植物表現は、かなり完成度の高い技術として洗練されてきていることがわかる。実際、植物のプロシージャル生成に関しては既に実用化されている商用ミドルウェアが存在する。
それが米Interactive Data Visualization社の「SpeedTree」だ。
枝分かれの頻度、枝の形状、葉の密度や形状などのパラメータ操作をGUIベースで設定することで様々な植物形状をプロシージャル・デザインすることが出来る。モデルだけでなくテクスチャや法線マップも出力でき、LODモデルの生成にも対応している。具体的には多ポリゴンから低ポリゴンモデルの生成だけでなく、2Dベースのビルボード(スプライト)への出力も対応しており、最遠景の木々はこのビルボード表示の置き換えで負荷を低減することが出来る。ビルボードベースの木々から低ポリゴンモデルへの切り換えもポッピングを起こさずにシームレスにオーバーラップさせることが出来るので、ジャングルを掠めて飛ぶようなフライトアクション系のゲームでも問題なく使えるとしている。
PCだけでなくPS3、Xbox 360ベースのゲーム作品でも広く使われるようになってきており、最近作では「グランドセフトオートIV」、「ブラザー・イン・アームズ:Hell's Highway」、「プロジェクト・トルク」などの採用例がある。
より詳しい情報についてはIDV社のSpeedTreeの日本語サイトを参照して欲しい。SpeedTreeはミドルウェアなので、ゲーム開発者向けのソフトだが、エンドユーザーも見るだけで楽しめる無料デモソフト「Trees of Pangaea」なども公開されてるので、そちらも是非実行してみよう。植物に満ちあふれた景観を環境ソフトのように楽しむことが出来る。
「プロシージャルな植物表現」は、植物形状モデルの生成からその植生表現が、ここまで来ているのにはあらためて驚かされるが、ここまで来るとプロシージャルというよりはシミュレーションという感じがしないでもない。
かつてプロシージャルによる擬似的な表現が主流だった煙や炎などの流体表現が、リアリティを突き詰めていったことで、ついにはその特性の物理モデルの実装を目指す、シミュレーション的なアプローチに変化していった経緯があったわけだが、植物のプロシージャル表現も、いずれそうなっていくのかもしれない。(続く)
(トライゼット西川善司)