地形(Terrain)


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。


概論

地形はあらゆるシーンの中で最も基本となる造型ブロックの1つです。Terrage3では、あなたのシーンの基盤上に地形を作成する
ために、いくつかの柔軟なシステムを備えています。それぞれのニーズに合わせた機能がどのように働くかを理解する事が重要です。
Terragenで取り扱われる地形作成方法
プロシージャル手法 フラクタル数値演算数処理によって複雑な地形を無限に作り出す方法。惑星全体を覆う地表等に使われます。直感的に
より具体的な変化を起こし辛く、他アプリケーションとの互換性はありません。
ハイトフィールド手法 ラスターマップ(ピクセルのドットで描かれた絵)のドットの濃淡で高低差を付けて描かれる地形。サイズは有限で
固定サイズの地形用となります。非常に具体的な地形形成を行う事が可能であり、DEMデータなどの実世界の高低
マップデータから地形を起こす事や他アプリケーションで作成された外部ファイルを読込む事も可能です。

プロシージャルの世界へようこそ

他のランドスケープアプリケーションで使い慣れた有限の解像度を持つラスターハイトフィールドとは違い、スケールやディティールにおいて、
真の無限の地形(惑星全体)作成を可能にするため、プロシージャルを通じて地形の作成は特に重要となります。
プロシージャルは、単に普段使用している演算アプリケーションで使用する数学関数で視覚的に出力作成するものです。フラクタルはすでにあなたが精通しているプロシージャルタイプの一種です。数学的基本となるプロシージャル関数は、スケールの非常に大きな範囲を描く事が出来ます。関数の入力値を単に変更するだけで、山から小石、またその中間に位置するものまで全てを描き出す事を可能にします。また、このプロシージャルに基づくシーンで描かれる事で、ほぼ無限のディテールを可能にします。
一般的な「ハイトフィールド」や「ハイトマップ」は、ピクセルまたは容積のサンプルの配列として定義されている、つまり、「ラスター」は、データの形式の1つです。従って、この「.TER」ファイルやDEMのようなほとんどのハイトフィールドは、ピクセル単位でハイトフィールドの解像度によって定義された有限の詳細レベルを持っています。プロシージャルはその種の制限を受けないため、必要に応じて、およそどんなスケールでもサンプルを生成する事が可能です。

Heightfield(ハイトフィールド)

"Heightfield"は高度を記述したファイルです。視覚的に解釈されたファイルでは白黒画像で表示されます。白を最高頂、黒を最低地として表し、
グレーの様々な色合いは中間値となります。
ハイトフィールドは以下を含むだけに留まらず様々な要因によって変化します:色、フラクタルノイズ、垂直方向の高さ、侵食や川。

Heightfield (load file)

ここでは高度の手がかりとして機能するように、外部で作られたファイルをインポートする事が出来ます。
Terragenでは以下のファイルフォーマットをサポートします。
 [ Terragen Heightfield - *.ter、Bitmap - *.bmp、Targa - *.tga、他 - *.*(たとえばjpgの場合、不正確で推奨しません) ]
カスタムハイトマップの例
結果

Heightfield (generate)

ノード名が示唆するように、これはTerragen内で作成されるハイトフィールドです。利点は以下の通り:
  • アプリケーションの切り替えを必要としない
  • スケール調整が容易
  • プログラムに残された同じモディファイヤから調整する事が出来る

Fractal(フラクタル)

フラクタルとは(この文脈上では)、Terragenが地平線へと続く地形を生成する手法です。

Power Fractal

  • 迅速に計算して描画を行います
  • パーリンノイズに基づいています
  • より不自然に見えます

Alpine Fractal (Slow)

  • 主に規模や沈積(堆積の層を形成します)
  • より自然に見えます
  • 処理は遅い

Displacement Shader

基礎となる地形を変更する様々なシェーダ。
  • Fake Stone Shader --たとえばオブジェクトの代わりに使用する事が出来ます。
  • Crater Shader –- 穴を掘るためのカスタムハイトマップを用いる必要性を排除します。
  • Twist and shear shader – 風に吹きさらされ突起した地形を作り出す事が出来ます。
他にも数多くのシェーダが地形に様々な効果を与えます。各シェーダについては『Shaderノード』で解説します。