見出し画像

SbstanceDesigner PixelProcessorの注意点 まとめ

SbstanceDesigner の関数を書きたい人向け



基本は GrayscaleModeでもColorModeでも同じです。

$Pos(0,0)は左上、(1,1)は右下。

真ん中を原点だと思わない。原点は左上!
+Yは上方向じゃない。下方向!

原点を画像中心にしたいなら(0.5,0.5)を加減算して調整。
Yは(1-Y)とした方が分かりやすい場面もある。

$Pos の値は、各ピクセルの中心位置である。

よってXYどちらも0と1の値はない。

0から1のレンジにフィットさせたい場合は次のノードに AutoLevel を使う。
PixelProcessorの計算をFloat2(x,y)=($Pos-0.5/$Size)*($Size/$Size-(1,1))で調整する。
※画素の半分だけオフセットして0を含めるようにし、最大値が画素一つ分小さなったものを後から引きのばし最大値を1に戻している。

用途に応じてOutFormatを選ぶ。

計算の格納先としてはHDR32bitなどHDRのフォーマットを選んだ方が良い。1より大きい値や0未満が格納できる。
少なくともドフォルトの8Bitでは、計算誤差が多く、また1より大きい値や0未満が格納できない。
見た目が同じでも中身が同じではない!

each channel HDR 32bit

RGBA成分にマイナスの値や、1より大きい値の値が入っている。位置情報の格納やベクトル演算等に向いている。

each channel 8bit

RGBAの値は、0~1(0~255)の値が入っている。
普通のカラー計算に向いている。

以上。


この記事が気に入ったらサポートをしてみませんか?