Copernicus で Height マップを編集する
HeightFieldをCOPに読み込む方法とHeightFieldに戻す方法

概要
主にこちらのチュートリアルで教えてくれている内容です。
COPs Replied: Go Cliff Yourself! | Dmitrii Vlasenko | Equinox 2025
テストリソース
今回はこちらのサイトの商用利用可能なgaeaの地形データを出力して利用しています。
(記事内でgaeaの手順については触れていません)
Pixel Lab | 120 Free Gaea 3D Terrain Files
手順
COPへの読み込み
HeightとCOPを作成し、

COPでImportしたGeometryにVolumeデータをLayer化する「Geometry to Layer」ノードを作成するとHeightをCOPレイヤーとして扱える。
保持しているVolumeプリミティブ名を入力して読み取るノードで、パラメータの 「Set Imports from Geometry」ボタンを押すとジオメトリがもつ各Volume名を自動で入力してくれる。


COP Layerとして編集
CompositViewの左上を押すとレイヤーの持つ色調が確認できる。 読み込んだHeightはHeightの持つ数値のまま入力され0-1ではない。

ので、COPで編集しやすいようにequalizeなどを接続して0-1にしようとすると真っ白いプレビューになってしまう。
これはレイヤーにHeightであるという情報が付加されており、Heightは専用のHeightプレビュー状態になるため。

LayerPropertyノードでHeightであるという情報を外すと通常のレイヤーとしてプレビューできるようになる。

Heightへのマージ
元のスケールへのリマップ
Statisticsノードを使うと画像がもつ最小、平均、最大値を値として取得できる。

元のheightの最大値をStatisticsで取得し、Equalizeして編集した画像に最大値をmultipleすれば元のheightのスケールにリマップできる

HeightFieldとブレンド
前工程で編集する際、heightの属性を外したがこのheightの属性が付いた状態だとCOPのプレビューが自動的にHeightFieldになる。
なので出力前にLayerPropertyノードで改めてHeight属性を設定するとSOPでHeightFieldとして利用できる。


Heightに設定したCOPの出力をHeight Field Layerノードにつなぐとブレンドなどできる

HeightもといボリュームをCOPに取り込む方法でした。
COPで編集できる、とはいえHeight編集ノードの3D情報を参照した編集ではないのでなんでもCOPで編集するということは無く用途次第と思います。
Heightからワールドマップを作成するようなフローはCOPを挟むとすごく楽になりそう。

fish_ball
プロシージャル魚類