背景
上の画像で,左上にあるテクスチャのUV空間を,GradientNoiseでOverrideした場合,右下のようなテクスチャが得られる.
この時Overrideは具体的にどのような処理を行っているのか理解できなかったので調べた.
UVの基本
まず,UV空間は左下を(0,0)右上を(1,1)として定義されている.
次にこのUV空間をX軸方向成分,Y軸方向成分のみ取り出すと以下のような1次元配列となる.
この1次元配列をUVに繋げた場合,0は(0,0),0.1は(0.1,0.1),1は(1,1)のようにして渡される(注1)
UV座標の(0,0),(0.1,0.1),・・・(1,1)が意味するのは画像のピンクの直線部分である
対応関係を示すと以下のようになる
本題
以上を踏まえると最初の画像が読み解けるようになる
注1
シェーダコードを実際にみて確かめた
上:今回のように値が1つの場合
下:デフォルト
なおvec = (1,2,3)があった場合
vec.xx = (1, 1)
vec.xy = (1, 2)
vec.zz = (3, 3)
となる