BlenderのGeometryNodes上で機械学習モデルを動かしたりなど、外部のツールを用いて算出した大量のパラメーターをなんらかの方法で取り扱いたいケースで、TIFF形式で保存して画像テクスチャとして読み込む方法が便利です。
例えば次のように、0から65535までの65536段階のグレースケール色を各ピクセルに割り当てたTIFF画像を作成します。
import numpy as np
from skimage import io
height = 256
width = 256
image = np.zeros((height, width), dtype=np.uint16)
for i in range(height):
for j in range(width):
image[i, j] = (i * width + j)
io.imsave('16bit_grayscale_image.tiff', image)
UV Editingワークスペースなどから作成したTIFF画像を開きます。
色空間はデフォルトでsRGBになっていますが、必ずリニアやRaw等に変更してください。
(ここで変更した色空間は、GeometryNodes上で値を読み取る際にも影響します。)
あとは次のようなノードを組めば、各ピクセルから情報を拾えます。
このノードでは例としてZ座標に読み取った値を入れていますが、ちゃんと「0.000」「1.000」「2.000」…と、想定通りの値が取得できていることがわかります。
画像テクスチャノードでは、余計な補間がかからないよう「近接」にしましょう。