物体の形を定義できる点で共通しているモデルデータとマップデータ。実は形状の表現方法が全く異なります。ときに独特なRadiantの作法にはマップデータの特徴が反映されているようです。
モデルデータ
「xmodel」などとして扱われているモデルデータはいわゆるポリゴンモデルで、形状を表面ポリゴン(多角形)の集合として表現します。現在もっとも一般的な方法で、あらためて説明する必要はないでしょう。
マップデータ
一方マップデータの形状は、ポリゴンではなく「ブラシ」を単位とします。ブラシは単体でいくつかの面を持つ塊または板で、具体的には以下のようなものです。
1. 通常ブラシ
Radiantの2Dグリッド上で2点を左クリックすると作られる、お馴染みのブラシ。
普通は6つの面からなるただの立方体です。6つの面、というとポリゴンモデルのようですが、実はこれらの面は閉じた多角形ではなく、無限平面となっています。
普通は6つの面からなるただの立方体です。6つの面、というとポリゴンモデルのようですが、実はこれらの面は閉じた多角形ではなく、無限平面となっています。
それぞれの無限平面は別の無限平面で切り取られます。立方体に見えていたものの正体は、前後左右上下の無限平面の切り口なのです。
このことをよく実感できるのは Clipper (Xキー)を使ったときでしょう。Clipper は指定した3点のなす面でブラシを削る機能ですが、これは無限平面を追加する作業にほかなりません。穴を空けたりデコボコさせたりといった細かい整形ができないのもこの性質ゆえです。
2. カーブブラシ
文字通り曲面のブラシです。ポリゴンモデルなら緩やかに向きの異なる多角形同士をつなぎ合わせるところですが、カーブブラシはもっと単純です。
平面にツマミ(操作点)を並べます。ツマミを動かすと、周囲の面は引っ張られて滑らかに変形します。こうして生じた歪みがカーブブラシの曲面です。
同様の変形機能は一般のポリゴンモデラにもありますが、カーブブラシはその結果(ポリゴン)ではなく操作(ツマミ位置)を保存するものといえるでしょう。
3. テレインブラシ
地形用のブラシ。原理はカーブブラシとほぼ同じです。違うのは、ツマミを動かしても曲面が生じない、つまり面が増えないということです。
ブラシも最終的にはポリゴンに変換されてレンダリングされますが、滑らかな曲面には相当のポリゴン数が必要となります。地形のように大きな形状にはテレインブラシを使ってポリゴン数を節約しましょう。地形は見下ろすことがほとんどなので、フォンシェーディングの効果もありエッジは意外と目立ちません。
なお、カーブブラシおよびテレインブラシは Radiant メニューの Patch > Simple Curve Patch/Simple Terrain Patch で作成します。縦横のツマミの数(density)を指定するとマップにブラシが現れます。選択状態でVキーを押すとツマミが表示されるので、まず左ドラッグによる範囲指定で対象のツマミを指定し、Alt+左ドラッグ、Shift+左ドラッグなどで動かします。
求むコンバータ
Radiantでの作業が面倒なので一般モデラからのコンバータが作れないかとマップファイルを見てみました。マップファイルはテキストなのですが、しかし内容がさっぱりわからない。立方体(通常ブラシ)が6つの三角形で定義されています。なんだこりゃ? と思い動かしてはセーブして調べた結果がこの記事です。
個人的な調査、というより半分推測みたいなもので、これといった裏付けはありません。重要なのはポリゴンモデルと構造が異なることで、単なるフォーマット変換では済まないようです。プログラミングの題材としては面白いので、どなたか挑戦してみてはいかがでしょうか?
個人的な調査、というより半分推測みたいなもので、これといった裏付けはありません。重要なのはポリゴンモデルと構造が異なることで、単なるフォーマット変換では済まないようです。プログラミングの題材としては面白いので、どなたか挑戦してみてはいかがでしょうか?