Support Topics |
|
|
サポートトピックス / UC-win/Road |
|
CityDesignツール Vol.1 (全7回) PovrayToMax |
|
|
アリゾナ州立大の小林です。ここでは、フォーラムエイトから公開されているCity Designというツールを紹介していきます。
フォーラムエイトのVRパッケージであるUC-win/Roadと、他の3D・CGパッケージ間でシームレスに都市データを生成・変換するためのツール群の開発を目指しています。ここで紹介するツールはソースコードも公開していますが、今のところ特定のサポートは行っていないため、バグなどの問題があっても責任は負いかねます。あらかじめご了承いただくようお願いします。
また、今回の記事をご覧になった建築・土木関係の方で、貴社のシステムに適した簡易ツールが欲しいというご希望があれば、ぜひお寄せください。
|
このようなツールを開発した背景について紹介します。筆者はもともと3次元都市モデルの生成プロセスに興味があり、どうすれば既存の都市をデジタルデータとして簡単に再構築(reconstruction)できるかということを研究していました。博士課程では、ニューラルネットワークや人工知能・機械学習、さらに画像認識などの技術を利用して、航空写真から都市モデルを生成するツールを開発しました。
しかしながら、現在は人工知能を利用したデザインツールの開発からは少し距離をおいています。私なりの持論は、「デザインツールのよしあしを決めるのは、その道具でいかにインパクトのあるデザインプロダクトを生成できるかによっている」ということです。いかに新しい技術を開発しても、ハリウッドの映画で見慣れているもの以上の何かを見せないことには、デザインツール開発行為を研究という高みまでもっていくことはできないということです。たとえば、CityEngineというProcedural社の開発したツールがあります。このツールが人々から注目されるのは、作成された町並みが自動で作成されたとは思えないほど精巧で、美しいというインパクトを示せた点にあると思います。
CityDesignで目指しているものは、技術屋としてのインパクトをもう少し与えるようなツール開発です。キーワードは「スピード」です。「今ある技術でも十分可能であるが、新しいツールを使うと莫大な時間とコストが短縮される」、そのようなツール開発に興味があります。これは新しい技術開発というよりも、デザインプロセスを柔軟性をもちながら単純化するフレームワークの開発という意味合いが強いと思います。「短時間にできると、単価コストが下がってより安い価格で製品が提供できる」という程度の短縮ではなく、「今の3倍・10倍の値段がかかってもいいから、明日までに全部できる」という要求に応えられるほどのスピードアップを目指しています。
|
最初に、PovrayToMaxというツールを紹介します。これは、UC-win/Roadから出力保存される3次元モデルのファイル群から、3次元データを自動生成するものです。使い方は以下に示すとおりです。
- 3ds Maxで、[Utility]タグ内の[MaxScript]ロールアウトブロックから、[Run
MaxScript]ボタンを選択し、「PovrayToMax.ms」ファイルを実行
- ボタン下のプルダウンメニューから[Pov-ray Importer]を選択するとUIがロードされる
- 道路や交差点のPovrayファイルを生成したい場合は、[Get Mesh Povray]ボタンを、地形やその他の3Dデータを生成したい場合は、[Get
Mesh2 Povray]ボタンを選択し、Povrayファイルを指定
- [Union Object]ボタンで、nメタファイル(Roads.incやIntersections.incなど複数のデータ)を指定
注意点としては、1つひとつの道路データを読み込んだ後に[Union Object]ボタンを実行することです。必要のない道路データは事前に読み込む必要がありませんが、メタファイルはアセット群からインスタンスとして部品を生成するため、事前に読み込んでおかないとアセットとして登録されていないことになります。いきなり全部のデータを読み込もうとせずに、要素ごとに確認しながら生成していくことを奨励します。
利用方法としては、UC-win/Roadから3Dプリントするためのデータ編集や、より高度なレンダリングによる静止画作成のためなどがあります。図1は、データはすべてUC-win/Roadで作成し、3ds
Max側でモーションブラーなどの特殊効果を入れてレンダリングしたものです。また図2は、UC-win/Road内で作成されたVRデータを3ds
Maxに読み込んで3Dプリントした建築模型です。
|
|
|
■図1 UC-win/Roadで作成されたVRデータを3ds Maxに読み込み、モーションブラーなどの特殊効果を加えてレンダリングを行った |
|
■図2 UC-win/Roadで作成されたVRデータを3ds Maxに読み込んで、3Dプリントした模型 |
|
3ds Maxでは、簡易的に独自ツールを開発できるMaxScritptという言語が利用できます。「スクリプト」と聞くと、多くのプログラマは「簡単にコードが書ける簡易的な言語」と想像するようです。ハードコードされた関数をスクリプト実行できるという技術的な定義ではもちろんそのとおりですが、筆者は少し違った認識をもっています。現代のCGパッケージ内のスクリプトは、実は非常に強力な「思考ツール」なのです。複雑な幾何操作関数を利用することよりもむしろ、基本的なメッシュ内の頂点・エッジ・フェイスを柔軟に編集できることの方です。実際にハリウッド映画作成でも頻繁に活用されているツールでもあります。
読者の方の中には、80〜90年代はじめにコンピュータサイエンスでプログラミングを学習した方もいらっしゃると思います。当時は、LISPやPrologなどのように、書いたコードは次々とメモリーに蓄積され、データや関数の更新がインタラクティブかつ柔軟に行えました。CARやCDRといった簡単なリスト操作だけでも多くの人工知能問題を解くことができます。それがいつからか、プログラミング技術がMFC
(Microsoft Foundation Class)やOpenGLの関数をいくつ知っているかという単なる記憶力に左右されるようになってしまったのは非常に残念です。
話はもどりますが、MaxScriptはまさに、LISPで行っていたリスト操作のように、3次元データを操作できるのです。2〜3行のコードで条件に合うメッシュだけを選択し、それらのメッシュから別の幾何データを作成するといったことが、ハイエンドのCGパッケージ内で実行可能なのです。このような機能がどれだけの時間と労力を軽減できるか、また、80年代の数学的思考でプログラムする楽しさを実感していただきたいと思います。
|
以下のツールの紹介を逐次行っていきたいと思います。
- ImageToTerrainツール:
画像データからUC-win/Roadに合うような地形データを生成するツール
- AnimatedCharacterツー ル:
3ds Max内で作成したアニメーションキャラクターモデルをUC-win/Roadで直接読み込めるPK3データに変換するツール
- SatelliteImageツール:
地形データと座標が一致した航空写真をGoogle Earth Proから抽出するツール
- ImageToCityツール:
道路線、ゾーニング、地形データから建物を含む3次元都市データを生成するツール
- Facade生成ツール:
建物ファサードの画像データをドラッグ&ドロップで生成するツール
- BakedTextureツール:
陰影やGI(グローバルイルミネーション)が焼き付けられたテクスチャを自動生成するツール
次号もぜひご期待ください。 |
|
(Up&Coming '11 新春号掲載) |
|
|
>> 製品総合カタログ
>> プレミアム会員サービス
>> ファイナンシャルサポート
|