プロシージャル技術とはなにか

基本的なことだが、プロシージャル技術とは何なのか。まずは、ここからだ。

プロシージャル技術とは、一言でいうならば、"人間が見て興味を持てる成果物"を、コンピュータ上で実装したアルゴリズムだけで作り出すテクニックということになる。

宮田氏は「学生時代、マンデルブローのフラクタル図形のような、人間が描かずにコンピュータが計算で画を描く技術と出会って強く感銘を受けた」と振り返る。これが、ある意味、宮田氏のプロシージャル技術の祖先との出会いということになる。

宮田氏が挙げたプロシージャル技術の定義と特長は以下の四点であった。

プロシージャル技術の特長

■形状や模様をアルゴリズムでデザインする

人間の手で描かずとも、プログラムの実行結果として「形状」や「模様」が得られるのがプロシージャル技術の用語の定義でもあり、同時に最大の利点でもある。

コンテンツをいわばプログラムとして表現しているために、固定的な膨大なデータを持たずに、必要なときに必要な大きさのコンテンツを取り出せる。とすれば、データ量的な観点からすれば情報が圧縮されている……といえる。宮田氏はプロシージャル技術を、算術的なアプローチによる「コンテンツの圧縮」に相当する……と表現した。

■パラメータの変更で、多くのバリエーションが得られる

コンテンツをプログラムとして表現しているので、このプログラムに与えるパラメータを変更することで多様なコンテンツが得られる。

単一のプログラムで膨大な種類のコンテンツが得られると言うことであれば、やはりここでも、データ量的な観点からすれば情報が圧縮できている……ということになる。

■形状や模様を短時間に自在に生成できる

プロシージャル技術は、一度、目的のフルゴリズムを実装できてしまえば、あとはパラメータを変えるだけで多様なコンテンツを自動的に得られることになる。これはコンテンツ制作における人的な負荷の低減に繋がる技術といえる。

■詳細度を制御可能である

出力するコンテンツの解像度(精細度)は、パラメータの制御自体で細かくも粗くも出来る。すなわち、解像度別のデータを持たずとも自発的にスケーラビリティを持つことになる。

弱点……というか課題も残されている。宮田氏は現状のプロシージャル技術が抱えている課題として以下の3つを挙げている。

プロシージャル技術の弱点(課題)

■設計の難易度が高い

アーティストの知性や美的センスで描かれるコンテンツとは違い、開発者がそのコンテンツの特徴を把握、モデル化してアルゴリズムとして実装しなければならないので開発は難しい。

■試行が大変である

実装したアルゴリズムが希望するコンテンツを作り上げてくれるかどうかは、ある意味、試しては確認を繰り返すトライ&エラーの作業になりやすい。

■時間が掛かる

複雑な計算を多用する高度なアルゴリズムではそれだけ計算時間を要する。生成して利用しようとするコンテンツを取り出せるまでの所要時間が余り掛かってしまっては使いにくい。プロシージャル技術も、他のソフトウェアと同じように、プロセッサパワーとパフォーマンスのバランスが重要なテーマとなる。