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未満が格納できない。
見た目が同じでも中身が同じではない!
RGBA成分にマイナスの値や、1より大きい値の値が入っている。位置情報の格納やベクトル演算等に向いている。
RGBAの値は、0~1(0~255)の値が入っている。
普通のカラー計算に向いている。
以上。
この記事が気に入ったらサポートをしてみませんか?