Mapboxからタイル画像を取得して一枚の画像に合成するからのつづき。
衛星画像とハイトマップを使ってHoudiniで立体化する。


SOP内のネットワーク
cop2net SOP
cop2net SOPでMapboxのTerrain-RGB画像を読み込む。

cop2net内のノードはこのように構成する。

FileノードでMapboxのTerrain-RGB画像を読み込む。32bit浮動小数点に設定する。
Terrain-RGB画像の仕組み
https://docs.mapbox.com/data/tilesets/guides/access-elevation-data/
elevation = -10000 + ((R * 256 * 256 + G * 256 + B) * 0.1)
例えばrgb<1,150,136>の場合、-10000 + ((1 * 256 * 256 + 150 * 256 + 136) * 0.1) = 407.2メートルとなる。

VOPの中身はMapboxのTerrain-RGBを高さに戻す処理を行っている。
HeightFieldFile SOP

SourceはCOPにし、SizeはMapboxの実寸の長さを入力する。Rotateを90にすると、Zマイナスが北になる。

マテリアルを作成し、衛星画像のテクスチャーを貼ったもの。