Unity Shader Graph で奇数列分の市松模様を描く
※ これは 2020/08/22 時点の Unity 2020.1.3f1 の情報です
最新版では動作が異なる可能性がありますのでご注意ください
前回 Shader Graph でお手樽に市松模様を描いてみたが、Checkerboard
ノードでは、偶数列分の市松模様しか描けない
これを3列とか5列とか奇数列でもできるようにしたい
Checkerboard
ノードは使えないので下記のようにする
まずは縦軸が緑色(G)成分、横軸が赤色(R)成分となる UV
ノードを入力にする
この UV
に横列、縦列の列数を乗算(Multiply
)、小数値を切り捨て(Floor
)、R と G の値を加算(Add
)、2で割った余りを求める(Modulo
)という下記の計算式のような加工をするとご覧の通り
明るさ = { Floor ( R x Width ) + Floor ( G x Height ) } Mod 2
※ Width: 横列数、Height: 縦列数
乗算する列数を 5 と 7 に変えてみても完璧
ノードの数は増えたけどこっちの方が柔軟に使えそう