Substance Designerのワープと指向性ワープについて疑問に思ったので調べてみました。
ワープというとワープ航法とか思い浮かべるのが日本人の基本的な思考じゃないかという気がしますが、ワープとは歪めるという意味の単語です。
名前のとおり、画像を歪めるためのノードです。
指向性ワープは比較的わかりやすいノードです。
入力ピンには歪めたい画像を入力し、強度入力にはグレースケールの画像を入力します。
指向性ワープは歪める方向をパラメータで指定し、各ピクセルについてグレースケールの値を強度とします。
つまり、強度入力の黒の部分は歪まず、白の部分は大きく歪みます。
GradientLinear2を使うとこのように真ん中から歪ませることが可能です。
また、Shapeの放物面を利用すると、ワープ方向をグリグリ動かして球の表面の模様を見ているように歪めることも出来ます。
指向性ワープはこのように歪む方向がわかりやすいんですが、通常のワープはどうなのでしょう?
普通に考えるなら、カラー画像を強度入力とし、RチャンネルとGチャンネルでそれぞれUV方向に歪めることになるんじゃないかと思います。
しかし、ワープの2つ目の入力ピンはグラデーション入力となっており、グレースケールの画像を入力することになります。
色々と調べた結果、ワープは各ピクセルのグレーの勾配を歪める方向としているようです。
強度をプロパティで正の方向に大きくしていくと白から黒に流れるように画像が歪んでいきます。負の方向ならもちろん逆転します。
イメージとしては、グレースケール画像をハイトマップと考え、高いところから低いところに絵の具が流れていくようなもの、と考えるべきでしょう。
例えば、Shapeのガウスを使うと中心部分が盛り上がったような歪ませ方が可能です。
これらのノードの使用方法は、指向性ワープについては単純に特定方向に歪ませることです。
対してワープは様々な方向に歪ませるので、例えば上の画像のレンガなどを歪ませるような用途で使用できます。
現実のレンガはすべてのレンガが綺麗な四角形になっているわけではありません。
ワープを利用することでレンガの1つ1つをばらばらに歪ませ、それっぽい映像にすることが出来ます。
BnW Spots 1にブラーを掛け、これをグラデーション入力に入れるとこのように荒い感じのレンガにすることが出来ます。
ワープのグラデーション入力にノイズを入れる場合は注意してください。
適当なノイズを何も考えずに入力すると元画像がどんなものかさっぱりわからない程度の映像になってしまいます。
以下はBnW Spots 1をブラーを掛けずに入力した後の画像です。
ほんとに元画像が何なのかさっぱりわかりませんね。
基本的にノイズを使用する場合はブラーか Blur HQ Grayscaleを使用しましょう。
なお、Blur HQ Grayscaleを利用するとブラーより滑らかに歪みます。
また、ノイズの中でもPerlin Noiseはそのまま利用しても上記のような映像にはなりません。
ワープとノイズの使い方は色々やって自分なりの使い方を確立すると良いのではないでしょうか?