ディスプレイスメント・ジオメトリー

Last-modified: 2009-11-16 (月) 19:42:10

ディスプレイスメント・ジオメトリー

ここは現在編集中です。

ディスプレイスメント・ジオメトリーとは地形などでよく使われる、滑らかな地形で使われるブラシ面です。通常のブラシでは再現しにくい、地面や球体などを作ることが出来ます。

こちらのサイトも参考になります。(WEB翻訳)

特徴

  • ディスプレイスメント・ジオメトリー(今後ディスプレイスメント)はとても早くレンダリングできます。
  • ディスプレイスメントはマテリアルをブレンドすることが出来ます。自然に変わっていく地面を表現することが出来ます。
  • ディスプレイスメントにDetail Propsを設定することが出来ます。地面から草などを生やすことができます。
  • 静止している。ゲーム内で動かすことは出来ない。
  • コリジョン (衝突検知・当たり判定) は自動で生成される。
  • 三つのサイズ/レベルの解像度がある。
  • トライアングル・メッシュは Paint ツールで歪める事が出来る。
  • ライトマップとセルフ・シャドウ。
  • ブラシ面をベースにして生成される。ブラシはコンパイル後に削除される。
  • ブラシ面と四つの辺によってのみ作成される。(四辺形)
  • エンティティ化したりエンティティ内に含める事は出来ない。 (ブラシをエンティティにするとエラーが出ます)
  • 面は一つ。一つの方向からしか見ることが出来ない。
  • 光の道筋が見えない面を通過する場合、その影を遮断してはならない。
  • 頂点 Alpha マテリアルを使って二つの違うテクスチャをブレンド出来る。
  • ディスプレイスメント上にある Detail Props の位置は頂点 Alpha データと結合している。
  • ブラシと同じように、回転、リサイズ、シェイプ、切り取り、頂点操作が出来る。

ディスプレイスメントの作成

ディスプレイスメントはブラシの面をベースにして使用することで作成されます。

20091023_104137.jpg

ブラシの面を選択した状態で Createボタンを押すと、ディスプレイスメントが作成されます。その際
ベースに使用したブラシ面が無くなります。加えて、ブラシ面にディスプレイスメントが入っている場合、マップがコンパイルされゲーム内で実行されるとディスプレイスメントでない全ての面は削除されます。
削除された面は通行可能になります。

言い換えれば、一度ブラシをディスプレイスメントに変換するとブラシはソリッド (固体) オブジェクトでは無くなり、マップを実行すると無くなってしまいます。

下の画像はこの特徴について説明しています:

20091023_104244.jpg

左: ベースブラシにディスプレイスメントを追加する前の状態
右: ブラシの側面はレンダリングされなくなる

基本ディスプレイスメントの作成

ディスプレイスメント・サーフェイスの作成とペイント方法:

ブロック・ツールを使ってディスプレイスメント・サーフェイスのベースになるブラシを作成します。

テクスチャ・アプリケーションを起動して Displacement タブを選択します。

3D ビューで、ブラシ面を左クリックします。CTRL 同時押しで面を追加したり削除したり出来ます。

Displacement タブにある Create をクリックし、Displacement Density (ディスプレイスメント密度) に 2 から 4 の値を入力します。

ディスプレイスメントは三種類のスケールを使用出来る

Displacement タブにある Paint Geometry を選択し、Paint Geometry パネルを開きます。

3D ビューで、ディスプレイスメントを左クリックして選択箇所を高く、右クリックで低くします。Paint Geometry パネルにある Radius スライダーはペイント・スフィア (球) のサイズをコントロールします。

20091023_104542.jpg
20091023_104609.jpg

上画面はペイント・スフィア (球) のサイズが小さい状態
下はペイント・スフィア (球) のサイズが大きい状態

このペイント・スフィア の中のポイントが上下します。

ディスプレイスメント・オプション

マップ・オペレーション・ツールバーにあるディスプレイスメント・マスク・ボタンを押してディスプレイスメントでない面の表示を切替える事が出来ます。

また、各ブラシに対して複数のディスプレイスメント・サーフェイスを所持する事ができ、それぞれのブラシ面に四つの辺があれば、ディスプレイスメント・サーフェイスを作成する事が出来ます:

ブラシは複数のディスプレイスメント面を所持出来る

ディスプレイスメント上でジオメトリーをペイントする全ての方法は、Face Edit, Displacements をご覧下さい。

ディスプレイスメントの縫合

Displacement タブにある Sew (縫う) コマンドは、選択した複数のディスプレイスメント・サーフェイスのエッジを接続するのに使用します。ディスプレイスメントの縫合は次の状況で使用出来ます:

  • 二つのディスプレイスメントの端点が接続する時、ベースとなるブラシの面全てに共通するエッジを共有していること。

20091023_104723.jpg
上の画像の右の図を見ると良くわかると思いますが、ディスプレイメントのエッジが同じ幅になっています。

  • それぞれのディスプレイスメントの解像度が異なる。
  • ディスプレイスメントのベース面が共通するエッジを共有している限り、ディスプレイスメント・サーフェイスはディスプレイスメントでないブラシ面に変換される。
  • ディスプレイスメント・サーフェイスが繋がる一方のディスプレイスメント・サーフェイスと共有するエッジは、もう一方と正確に半分の幅。

Sew コマンドを使用出来ない状況の例:
20091023_1048222.jpg

ディスプレイスメントのベース面が共通するエッジを共有しない場合、サーフェイスは縫合出来ません:
共通のエッジを共有しないサーフェイスは接続出来ない

ディスプレイスメント・ジオメトリーを変えるその他の方法

ディスプレイスメント・ペイント・ツールの他に、標準のブラシ操作ツールの幾つかをディスプレイスメント・サーフェイスに使用できます。ディスプレイスメントの輪郭を操作したり、次のようなツールを用いてもっと大きな操作を行います。

トランスフォーム

ディスプレイスメントは標準のブラシの様に自由に移動、リサイズ、回転、シアーをする事ができ、トランスフォームはブラシのベース面に対し行い、ディスプレイスメントはそれに従います。

切り取り

切り取りツールもディスプレイスメント・サーフェイスに使用できます。ディスプレイスメント・サーフェイスの不必要なセクションを切り取ったり、形状を変えずに二つの部品に分離するのに使用します。
注: 有効なディスプレイスメントにする為に、切り取りツール使用後は四つの辺を持つ形状にしなくてはなりません。

次の例は切り取りツールをどうやって使用するのかを示しています:

左: 切り取り操作前のディスプレイスメント・サーフェイス
右: 2D ビューで切り取りツールを使用して切り取りラインを描いた状態

切り取りツール使用後の状態

頂点操作

頂点操作ツールもディスプレイスメント・サーフェイスに使用できます。頂点を操作する事でディスプレイスメントのコーナーを重要なエッジに接続したり、手動で操作することなく、テライン全体を高くすることが出来ます。

ディスプレイスメントの頂点をエディットする際の重要な制限が幾つかあります:

頂点のエディットはベース面に対して行い、ディスプレイスメント自身ではありません。

頂点を潰したり追加したりする事は出来ません。実行するとベース面に付いているディスプレイスメントは破壊されます。

頂点操作を行ったディスプレイスメントは凸状でなければなりません。凸状でないサーフェイスはディスプレイスメントを破壊してしまいます。

頂点操作ツールを使ったディスプレイスメントを持ち上げる例:

左: 頂点を操作する為に選択されている、四つのディスプレイスメント・サーフェイスがあるグループ。
右: 頂点操作モードに入ると、頂点のベースブラシ面が表示される

左: 端にある頂点のグループを選択し、一緒に持ち上げたところ
右: 頂点操作ツールを使用した後の状態

ディスプレイスメントに穴を作成

色々な理由で、ディスプレイスメントに穴や割れ目を作りたい、という場合があります。どうやってディスプレイスメント・ジオメトリーに穴を作るか、という事に関する情報は Creating Holes in Displacements をご覧ください。

ディスプレイスメント・マテリアルのブレンド (アルファチャンネル・ペイント)

Paint Alpha ツールは、アルファチャンネルをペイントする事で二つの異なるテクスチャをブレンドする事が出来ます。アルファチャンネルにはサーフェイスに割り当てられた二つのテクスチャの透明度のデータが入っていて、草から土、砂から岩、などのテクスチャが混ざった移り変わりの部分を作成するのに使用します。アルファチャンネルでマテリアルをブレンドする為に、必要なシェーダーを所持するブレンドされたマテリアルがこの用途の為に特別に用意されています。これらのマテリアルのみがブレンドに使用でき、もし標準 (ブレンドでない) マテリアルを使用した場合は Paint Alpha ツールから視覚的エフェクトを得られません。

ブレンド・マテリアルをディスプレイスメント・サーフェイスへ追加し、テクスチャをブレンドする為にアルファチャンネルのデータをペイントする方法:

テクスチャ・アプリケーション・ツールをクリックして、フェイス・エディット・ダイアログを開きます。

ブレンド・マテリアルを追加したいディスプレイスメント・サーフェイスを、3D ビュー内から選択します。

フェイス・エディット・ダイアログの Material タブにある Browse ボタンを押します。

テクスチャ・ブラウザーが開いたら、テクスチャブラウザーの最下部にあるフィールドに blend と入力します。

ブレンド・マテリアルを左ダブルクリックで選択し、テクスチャブラウザーを閉じます。

フェイス・エディット・ダイアログの Apply ボタンを押して、ディスプレイスメント・サーフェイスにマテリアルを適用します。

フェイス・エディット・ダイアログの Displacement タブをクリックします。

Displacement タブにある Paint Alpha ボタンを押して Paint Alpha ツールを開きます。

Value スライダーのフィールドに 100 と入力し、Effect セクションで Raise/Lower が選択されていることを確認して下さい。
注: Value フィールドに低い数値を入力するとアルファチャンネル・データは遅いペースでペイントし、高い数値だと速くペイントします。

3D ビューで、ディスプレイスメント上の頂点を左クリックし、アルファチャンネル・データを追加します。右クリックするとデータを取り除きます。

グリーンのボックスが、ペイントされる Paint Alpha の中心になる

20091023_104137.jpg
20091023_104244.jpg
20091023_104542.jpg
20091023_104609.jpg
20091023_104723.jpg
20091023_104912.jpg
20091023_105045.jpg