Curl Flow Import into Blender

昨日記事にしたCurl FlowをJSONで書き出してBlenderへ読み込んでみた。映像のネタにも使えそう。ホントは連番データを流し込みたいんですけどね。

Youtubeへアップロードしている動画は日本語圏の方以外に見てもらえる事が多く、最近も英語で質問をいただいたので、Youtubeからこのブログへリンクを張る時は出来るだけ英語で記事も書くようにします。全部英語で書く気は無い!疲れる…。


Curl Flow

Curl noise vector field on Proce55ing. It ‘s very heavy code :(, should be implemented using shaders…

This code requires some libraries, PeasyCam, PostFX for Processing and FastNoise. PeasyCam and PostFX can get from contribution manager on P5 IDE. but FastNoise lib is not, You have to compile it yourself.

Download or Clone FastNoise, and open extracted folder with console(PowerShell etc…).

Compiling.

> javac -d . *java

Archiving. File called “fastnoise.jar” will be created.

> jar -cvf fastnoise.jar fastnoise

And you copy .jar file to processing library, e.g. c:\YOUR_HOME\Documents\Processing\libraries\fastnoise\library\


Tiling Procedural Texture

Image TextureノードはRepeat設定でタイリングできますが、Noise等のプロシージャルテクスチャノードはタイリング設定がありません。ノイズなどはタイリングする事はありませんが、Gradient Textureのタイリングは頻繁に使います。

プロシージャルテクスチャをタイリングしたい場合はTexture Coordinateノードから適当な座標を取り出し、タイリングしたい分だけ乗算(Multiply)し、折り返したい長さで剰余(modulo、割った余り)します。上の画像はUVそれぞれに2.0をかけて、1.0で割った余りを、テクスチャのVector入力へ渡しています。

実際にテクスチャを縮小しているわけでは無くテクスチャの読み取り位置を歪めている事になります。少し前に記事にした、放射状や渦巻変形も同じです。ゲームなどで使うシェーダプログラムと同じ考え方ですね。

Vector Mathノードに乗算とか割り算があるのはちょっと気持ち悪いですね(実際にはベクトル同士の乗算とかないですからね)。


Texture Vortex Distortion

文章もなくCGを4連続で投稿した後に所帯染みたパン作りの話題とか書けなくなりそうなので、文章も書きます!

テクスチャを渦巻き状に歪ませる例です。

任意のUVをセンター(0.5, 0.5)からの距離に応じて回転を大きくって感じですね。