自分は普段はこういった映像表現は作っていないのですが
他ソフトの作例動画を見かけて少し試してみたくなったのでBlenderのGeometryNodesでの作例を作ってみました
歩いている人型のモデルを囲う立体グリッド上にキューブを発生させて
距離に合わせてキューブを縮小することでこの見た目になります
グリッドデータの作成
キューブを発生させる範囲にグリッド状のメッシュを作成します
これは他の解説等でも出てくるので特に解説することはないのですが
縦横高さの範囲とグリッド幅を指定するように調整してあります
このグリッドの頂点座標を利用したいので 最後に並べたものを実体メッシュに変換する
「インスタンス実体化」を忘れずに。
ターゲットメッシュを充填する
実はこういったメッシュで 表面だけ充填したい場合にはジオメトリ近接が使えます
ターゲットジオメトリの要素(この場合は面)からの距離を取得できるので決まった距離より遠いものを削除すれば済みます
ただし 厚みのある形状になると 壁面から離れた部分は充填されないことになります
(キャプチャでは蓋部分を削除した状態ですが 閉じていても同じことです)
ここでは中身を充填したい場合の計算を考えます
ジオメトリ近接ではターゲット上の近接位置を取得でき
グリッドの頂点位置との差をとると近接点との方向ベクトルを得られます
これと 近接点の法線と内積をとると 値の正負で面の表方向か裏方向かを取得できます
今回は内部を一律に距離0扱いにしたいので
スイッチノードで 表方向は得られた値のまま 裏方向は0としました
負の値になるようにしてもいいかもしれません
この計算では閉じてない形状では不正な値になる可能性があるのは注意してください
データの調整
後はそれぞれの目的に合わせた処理になりますが今回の設定を書いておきます
個々のインスタンス(キューブ)で色替えするために
名前付き属性にポイント毎にランダムな色を格納しています
シェーダーでは属性で同じ名前を指定することで値を取得できます
ジオメトリ削除で一定距離より離れた数値になっているポイントを削除しています
範囲マッピングで 距離0で最大サイズ 指定した距離を離れるとポイントの半径が0になるようにしています