見出し画像

HDA Landscape編 -a coffee tips-

HoudiniのHeightFieldをUE4で使う流れ

HoudiniでのLayer設定にしぼった内容
Height Fieldの形状の作り方については特に何もありません。
(Height Field Noiseを使ってるだけ)

1.大筋の流れ

画像1

height Fieldを作成し、Noiseなどでゴニョゴニョ形状を作ります
Maskを作成して各レイヤーに変換します。
最後に各レイヤー情報を整えてHDA化してUE4でImportします。

2.Height Fieldの作成と設定

画像2

とにかくHeight Fieldを作成します。
Sizeに関してはこちらのリンクを参照に設定してください。
https://www.sidefx.com/docs/unreal/_landscapes.html
UE4では特別なサイズを求められますので、上記URLを参考に各サイズに設定しましょう。
今回は1009*1009で作成しています!

次にHeight Field Noiseに繋いで
Amplitude:745
Element Size:500
にしています。深い意味はありません。適当です。

次にHeight Field Copy Layerに繋いで
Destination:ground
にしています。
このノードでmaskを新しいレイヤーに変換する事ができます。
(何か他に良いノードがあるかもしれません)

3.崖レイヤーを作る

画像3

崖レイヤーを作ります。
Height Field Mask by Featureというノードに繋ぎます。
Smooth Radius:6
Slope内
Min Slope Angle : 42.6
Max Slope Angle : 90
Slope Rampを上記の画像の様にしています。

そして次にHeight Field Copy Layerでslopeレイヤーを作成しています。

4.雪レイヤーを作る

画像4

またHeight Field Mask by Featureノードを作成し
Smooth Radius : 6
今度はSlopeのチェックを外し、Heightにチェック入れます
Min Height : 29.9
Max Height : 119
Height Rampを上記画像のようにしています。

次にHeight Field Noiseノードに繋ぎ
Combine MethodをSubtractに変更し
Amplitude : 0.98
Element Size : 17
にしています。

画像5

そしてHeight Field Wrangleを繋いで

float m = @mask;
m = m*10;
m = clamp(m, 0, 1);

@mask = m;

と入れています。
(簡単に言うと薄くなったmaskを濃くしてる)
その後、HF Copy Layerでsnowレイヤーに変換しています。
★tips
 検索時にhfと検索するとHeight Field関連のみ出てきます。

5.道レイヤーを作る

画像6

①Curveノードを追加します。これが道になります。
②その後Resampleを追加し、細かいポイントに分割します。
③それをRayノードに繋ぎ、作成したHeight Fieldに形状をフィットさせます。(この際に、次抜けてフィットしないのをTransformで調整している)
④polywireノードに繋いでObject化しています。
 Wire Radiusを調整して適当な太さにしておきましょう。
⑤Height Filed Mask by Objectノードを使い、作成した道オブジェクトをつなげると、Maskを作成できます。

道Maskに手を加えます。

画像7


左上の画像から、左下の画像の様に、道部分をなめらかにするためにブラーを使っています。

右側:Height Field Mask Expandに接続
右側:Height Field Mask Blurに接続
左下:Height Field Blurに接続

画像8

中身のパラメータはこんな感じです。
Height Field Mask Expand
Radius : 7.8
Height Field Mask Blur
Radius : 5
Height Field Blur
Radius : 50

さらに道Maskを調整します。

画像9

Height Field Mask BlurでMaskをぼかし
後はSnowで行ったようにノイズ感を追加してあげています。
最後にwayレイヤーに変換。

6.Groundレイヤーを調整する

画像10

各レイヤーのマスクがあるので、そこにGroundレイヤーが被らないように処理していきます。

float g = 1 - @snow - @way - @slope;
g = clamp(g, 0, 1);

@ground = g;

1の値を単純にそれぞれのレイヤーで引いて、clampでマイナスを消しています。
(しなくても問題ないかもしれないけど、ほっとくと問題が起きるかもしれない…)

7.UE4で設定

画像11

Landscape用のMaterialを作成します。
とりあえず適当に作ります(上記参照)
★Point
 Landscape Layer Blendというノードを使って各ノードに対応したTexture等が表現されるようにしておきます。

そして…これベシっと読み込んだHDAに適用させると…

画像12

こんな感じになります!
以上、HoudiniからUE4へのLandscape編でした!!

無料領域にすべて記載しています!

ここから先は

34字

¥ 300

この記事が気に入ったらチップで応援してみませんか?