Heightfieldを使ってみましょう
これはHeightとMaskのボリュームデータを定義しています。
簡単にいうとパッチを定義するような感じですね。
これがTerrainの元になります。
ただ、OceanからもHeightFiledは生成できます。
OceanSpectrumをつないだOceanEvaluateのVolumesをHeight Fieldにすることで、Oceanの結果をHeightFieldとして作成できます。
ちなみにHeightfieldノードを作成するときに、Tabキーからhfと実行するとHeightfield関連ノードがフィルタリングされて表示されます。
細かいアトリビュートは次に説明するとして、2つ目に重要なのはHeightfield Noiseです。
Heightfiled本体はパッチを定義しているだけなので、高さにノイズをかけるにはHeightfield Noiseを使用します。
こんな感じで、ノイズをかけて自分の欲しいベースの地形に近づけます。
3つめに重要なのはHeightfield Distortです。
これな入力したノイズに異なるノイズを追加していきます。
Heightfield Noiseノードが高さに追加するノードであれば、DistortはXZ方向にシフトして地形っぽいノイズを追加します。
説明を受けたところによるとこの辺は全てOpenCLで書かれていて、GPU上で計算されているそうです。
ここまででなんとなく地形っぽくなりましたが、ZBrushでもできなくもないです。
最後にヒーローが現れます。
もちろん、Heightfield Erodeです。
このこは時間を経過したときの侵食を生成することができます。
Erodeを追加して、シミュレーションをスタート!
これをこのまま使用するのではなく、各種マスク(Water、Deblis、Flowなどなど)としてテクスチャ、マテリアルをブレンドするために使用することができます。
OceanからつくったHeightfield
Distortでノイズかけて
Erodeで侵食。