環境:Houdini 20.5.584
ハイトフィールドのマスクを増やす
HeightField Copy Layer SOPを使う。
マスクを視覚化する
@mask = snowmask;
@maskを使うと部分が赤くなる。0=白、1=赤、と値が大きいほど赤に近づく。(黒=0.0、白=1.0に慣れていると紛らわしい・・)

他のノードからマスクを転写する
Heightfield Wrangleを使う。コードは以下のように書く。
// input1のmaskをflowsに転写する
float mask = volumesample(1, "mask", @P);
@flows = mask;
勾配を計算する
Heightfield Wrangleを使い勾配の計算をして0-1に収める。
//
// 勾配を取得して0-1にスケールする
// 0:水平 1:垂直な崖
//
vector grad = volumegradient(0, "height", v@P);
float slope = length(set(grad.x, grad.z, 0)); // 勾配(%)
// ラジアンから度数へ変換
float angle = degrees(atan(slope));
// 0-1の範囲に正規化(例:0-90度)
@slope = fit(angle, 0, 90, 0, 1);

