【Blender 5.1】VolumeノードのBackgroundについて:ジオメトリノード

blender
記事内に広告が含まれています。

Blenderのジオメトリノードのボリューム系ノードを調べているうちに、
結局VolumeノードのBackgroundってなんなんだと疑問が出てきたので、わかったことをまとめます。

スポンサーリンク

VolumeノードのBackgroundとは

BackgroundVolume Cube ノードでボリュームを作成するときに存在しているパラメータです。

公式マニュアルの説明

背景(Background)
Min から Max のグリッド範囲の外側における値です。
密度がこの背景値と等しいボクセルは削除(プルーニング)され、その結果、よりメモリ効率の良いボリュームになる場合があります。


というわけで、実際
Density と Backgroundの値を一緒にすると、
スプレッドシートでもボクセルが削除されていることがわかります。

※ちなみに、表示もボリュームは消えますが、処理の問題でボリュームが表示されたままのときもあります。

スポンサーリンク

グラデーションの値のとき

全て同一の値のときはわかりましたが、じゃあ複数の値が入ってるときはどうなのか?

検証するために位置に応じてDensityを1~10まで入ったボリュームを作成しました。

とりあえず何も削除していないときは全てのボクセルが存在していて、32768個のボクセルがありますが、Backgroundを3.0にすると、密度が3のボクセルが削除されて、ボクセルの個数は29696個になりました。

メッシュ化したときの変化

見た目はほぼ変化がないですが、これをVolume to Meshノードでメッシュ化してみます。

Volume to MeshノードのThreshold

この値より大きいボクセルは、メッシュの内部とみなされます。
メッシュは、内部と外部のボクセルの境界に生成されます。
この値は「アイソバリュー(等値)」とも呼ばれます。

と説明され、メッシュ化するときの内外の境界の閾値となっているようです。

Backgroundを5.0にしてThresholdの値を変えていきます。

  • Thresholdが5.0以下のとき
    • そのThreshold以下の密度の部分がメッシュとなって見えますが、面の向きが反転しています。
  • Thresholdが5.0より大きいとき
    • そのThresholdより大きい密度の部分がメッシュとなって見えます。

つまり、ThresholdがBackground以下のときは、見ている私たちの場所そのものが内側となっています。なので面が反転しています。

私たちはチーズの内側にいる

ボリュームではよくボロノイテクスチャを使ってチーズを作ることに使われています。
Thresholdを0にすることで、0より大きい密度+Backgroundデフォルト値の0のシーン全体が内側となり、チーズの穴をメッシュ化して可視化することができます。

そのとき、私たちはチーズの内側から、外を見ているということです。

スポンサーリンク

Backgroundの意味

Volume を触ってきた人なら普通に使われてるパラメータだと思いますが、正直なところ、通常のボリューム表示ではその影響をほとんど感じないため、役割が分かりにくい部分でもあります。

Blender 5.1 で追加された Grid Info ノードに Background の出力があり、「グリッド操作で何かに使うのかな?」と気になりましたが、検証してみると、この値は見た目の密度分布そのものにはあまり影響しないみたいです…。

Background は、
グリッド範囲外の値(外側のデフォルト値)
を表しています。

この値は通常のボリューム表示ではほぼ意識されませんが、Volume to Mesh のように しきい値(Threshold)で内外を判定する処理 において重要になります。
特に、Threshold と Background の大小関係によって「どちらが内側として扱われるか」が変わるため、結果としてメッシュの向きや見え方が大きく変化します。

現時点では、
ボリューム表示 → ほぼ影響なし
メッシュ化 → 挙動に大きく関与する
という理解で問題なさそうです。
また新しく分かったことがあれば追記していきます。

コメント