以下の例と図はすべて、IlluGen のプロジェクトファイルで確認できます:
Download Here(ダウンロードはこちら)
Introduction(はじめに)
Curl noise(カールノイズ)は、実際に流体シミュレーションを作る手間をかけずに、流体のようなテクスチャやパターンを生成できる便利なツールです。VFX 向けにユニークなアセットを作るうえで役立つ場面は多く、この記事の後半では私が行ったいくつかの実験も紹介します。
Curl noise は、Perlin noise のようなベースとなるグレースケール入力に対して、「任意の点における 2D ベクトルの回転(カール)成分」を求める数学的操作によって得られます。Ryan Smith は Overdraw の記事の中で次のように述べています:
…これにより、ベクトルが斜面に沿って動くのではなく、斜面の周りに回り込む(curl AROUND)ベクトル場が作られます。だから Curlと呼ばれるのです。
こうして得られた curl noise は、ほかのテクスチャ入力を歪ませる(distort)ために利用できます。また、これらのフィールドは時間でアニメーションさせたり、ブレンドして重ねたりすることで、層状のディテールを持たせることもできます。curl noise の重要なポイントのひとつは non-divergent(非発散) であることです。これは、フィールドに入ってくる量と出ていく量が同じになり、中身(量)が増減しないことを意味します。
Divergence(発散) とは、ある点(またはその周辺)における局所的な 膨張(正の発散)/収縮(負の発散)の度合いを表す尺度で、Fig. 1 のように可視化できます。
この記事では、divergence(発散)あり/なし両方の curl noise を扱います。というのも、適度な divergence を含めたほうが、よりアーティスティックで自然な結果につながる場合があるからです。
図1:IlluGen を使えば、divergence(発散)と curl(回転)を簡単に可視化できます。
Let’s Start By Generating Curl Noise in IlluGen
(IlluGen で Curl Noise を作ってみよう)
Substance Designer のようなツールでは、法線マップ入力を使ってテクスチャをワープできます。しかし IlluGen では、ワープ操作に UV テクスチャ座標を使います。Fig. 2 では、Grid テクスチャを Directional Blur に入れ、これを歪ませる元画像にしています。このケースでは、Directional Blur ノードは Substance Designer の Vector Morph ノードのような働きをします。Directional Blur ノードの設定は Warp Intensity 50%、サンプル分布は forward only です。
curl noise フィールドを作るために、ここでは入力として(例として)4 オクターブの Perlin ノイズを使い、そのハイトマップから UV を導出します。ですが、それだけでは斜面をたどる方向のベクトルしか得られません。そこで UV from Derivative ノードの rotation パラメータを使ってベクトルを回転させます。ここでは 90° 回します。
次に、ノイズを divergence-free(非発散)にするために Levels ノードで Noise 入力を反転します。これはノード内の リマップカーブを反転(上下をひっくり返す)することで行えます。
反転したノイズは intensity mod ピンに接続します。こうするのは、curl を正確に計算するには、歪み(distortion)の強度を、その地点にある curl の量に対応づける必要があるためです。intensity mod ピンは、intensity 入力ボックス内の サイン波アイコンをクリックすると表示(露出)できます。
この UV を Directional Blur に挿すと Fig. 3 のようになります。おめでとう!これで curl noise を作れました。
図2:発散(divergence)を含まないノイズの作成
図3:生成された curl noise テクスチャ(いい感じ!)
Insight #1 – Blurry inputs are better for generating curl & swirls
(気づき #1:ぼけた入力のほうが curl と渦が出やすい)
Fig. 4 では、curl を生成する元ノイズが、オクターブ数を増やしながら段階的に変化していくアニメーション例を示しています。ノイズのオクターブ数、スケール、ガウシアンブラーの適用などは、最終結果に大きく影響します。私の経験では、入力がぼけたテクスチャのほうが、curl が扱える勾配の変化が増え、より良い渦が生まれやすいと感じています。
Fig. 5 では、ノイズを時間でスケール変化させています。これは追加オクターブを増やすのに近い働きをします。オクターブとスケールをバランスさせることで、自分にとってちょうど良い渦の量とディテール量に調整できます。
図4:curl を導出する元ノイズのオクターブ数を増やしたアニメーション
図5:ノイズをスケールすると、ディテール量がさまざまに変化します。
Insight #2: Use divergence to your advantage
(気づき #2:divergence を味方にする)
上で学んだように、正の発散と負の発散はピクセルを押したり引いたりします。curl noise は通常、UV を 90° 回転させることで divergence-free になりますが、この値からずらすことで正/負の divergence を加えられます。
Fig. 6 では、UV の回転を 60°〜120° でアニメーションさせ、アセット生成に使えそうな回転レンジの目安を示しています。カール方向を反転したい場合は -120°〜-60° を使うとよいでしょう。
図6:UV 回転をアニメーションさせるとテクスチャに divergence が加わり、色が締まる(pinch する)ような変化が生まれます。
別の方法として、よりアーティスティックになり得る divergence の足し方は、UV の強度をモジュレーション(変調)しないことです。これを行うと、厳密には curl noise の定義に忠実ではなくなりますが、Fig. 7 に見られるように、より強い色の変化を作れるようになります。
これは、UV 強度の値を、入力ノイズのグラデーション全体に対して一律に適用しているために起こります。モジュレーションなしの場合は、色の島(island)がはっきり分かれ、エッジが鋭くなる傾向があることに気づくはずです。
一方、モジュレーションをオンのままでも、UV 強度を 100% 以上に上げれば、似たような効果を得られます。
図7:UV 回転 80 度、強度モジュレーションあり/なしの比較
Insight #3: Your color variation is highly dependent upon what you are warping, not just your curl noise input.
(気づき #3:色の変化は curl 入力だけでなく「何を歪ませるか」に強く依存する)
ここで見えているのは curl noise の色そのものではなく、curl noise の速度場(velocity field)で 歪められた画像です。では、いくつか異なるパターンを使うとどうなるかを見てみましょう。
Fig. 8 では、グリッド状に並べた色付きドットをワープしています。Fig. 9 では Voronoi ノイズをワープしています。Fig. 10 ではエッジ検出したノイズパターンをワープしています。これらの図では、ワープ量やノイズスケールは同一ではありません。各ケースで十分に良いと感じる見た目になるまで、値をいろいろ試して決めました。
これらすべての図を含むファイルも用意してあります。同じ curl noise でまとめてワープして比較するのも簡単なので、興味があればぜひ検証してみてください。
図8:中周波の curl で、グリッド状の色ドットをワープ
図9:高周波 curl で Voronoi ノイズをワープ
図10:divergence-free な curl で、エッジ検出ノイズをワープ
次に私は、curl noise の UV を作るためのノイズと、ワープされるパターン側のノイズに まったく同じノイズを使ったらどうなるか?と考えました。完璧な curl であれば Fig. 1 のように、影響を受けたピクセル位置が回転するだけのはずです。Fig. 11 では、この方法によって面白い糸引き/筆致(ブラシストローク)のような効果が見られます。
図11:curl とパターン入力を同一にすると筆致(ブラシストローク)っぽい見た目になります
Insight #4: Blending methods to achieve more detail or multi-directional curl
(気づき #4:ブレンドでディテール追加/多方向 curl を作る)
ここまでは、とてもシンプルなノードグラフで curl noise を作ってきました。では、追加のブレンド工程を入れて、もっと面白い結果を出すにはどんな方法があるでしょう?
私が最初に考えたのは、最終的に出た curl noise を入力として、もう一度 curl noise を作ったらどうなる?ということです(マルチパス curl)。これは Fig. 12A と Fig. 12B に示しています。アートとしては確かに面白いのですが、この方法は intensity 設定によっては非常にシャープ(硬い)になりやすいです。
図12A:curl noise でさらに curl noise を作るとどうなる?
図12B:curl に curl を注入した結果
次に私は、時計回りと反時計回りの渦を両方確実に混在させて、もっとバリエーションを増やす方法はないか?と考えました。80 度の UV と -80 度の UV を作り、これら 2 つの curl 計算結果を 減算(subtractive)ブレンドすると、Fig. 13A のように液体っぽい、あるいは木星っぽい結果が得られます。Fig. 13B はノード構成です。
結果は UV blend ノードのピン順(どちらをどちらの入力へ挿すか)でも変わります。どちらが正しいということはないので、必要に応じて順序を入れ替えてください。
図13A:双方向の渦。反時計回りと時計回りの渦を探してみよう!
図13B:双方向 curl のセットアップ
さらに私は、curl noise にもオクターブのような概念を持ち込めないか?と考えました。大きな渦が全体を押し動かしつつ、小さく精密な渦がディテールを定義する、というイメージです。
幸いこれは簡単で、グローバルに効く curl と、ローカルに強く効く curl を 2 つ用意します。そして UV blend ノードで ADD(加算)して 2 入力を足し合わせれば実現できます。background / foreground のどちらに入れるかは重要ではありません。Fig. 14A が結果で、Fig. 14B がノードグラフです。
図14A:複数オクターブ的な影響を持つ curl
図14B:multi-octave curl に必要なノードグラフ
Insight #5: Animation can give you great flipbooks!
(気づき #5:アニメーションで良いフリップブックが作れる)
ここまでは静止テクスチャを扱ってきました。curl noise をアニメーションするフリップブックやアニメーションノイズマップとして使いたい場合、curl を生成する元を Fractal ノードから Fractal ノードへ置き換える必要があります。
その理由は、現時点の IlluGen では、通常の Noise ノードでは 3D ノイズが適切にタイルしないためです。将来的には修正されますが、現状は Fractal ノードを使います。
Fractal ノイズをアニメーションさせるには、Fig. 15 のように 3D noise チェックボックスを有効にします。次に Z position ピンを露出させ、タイムラインでキーフレームするか、モジュレーターで使えるようにノードグラフ側へ出します。例はプロジェクトファイルで確認できるはずです。そこから curl noise が動き出します。
さらに、スクロールするノイズ同士を掛け算したり、マスクや侵食(erosion)をアニメーションさせたり、curl noise をカースティクス(caustics)の屈折に使ったり、といった VFX テクニックを組み合わせることで、ここまで学んだことをベースにユニークな効果を作れるようになります。
図15:Fractal ノイズをアニメーションする方法
図15A:液体っぽいノイズのアニメーション
図15B:イリデッセンス(玉虫色)
図15C:魔法のウィスプ(靄/ひも状表現)
図15D:カースティクスのカール表現
Insight #6: Curl noise usually won’t tile by default in IlluGen (yet)
(気づき #6:IlluGen の curl noise は(現状)デフォルトではタイルしないことが多い)
IlluGen では、Directional Blur ノードのバグにより curl noise がタイルしません。これは 2026年2月6日(時点)で、次回アップデートで修正される予定です。
現状の回避策として、curl noise テクスチャを作った後に Tile ノードへ通し、Mirror wrap(Fig. 16)、Voronoi sampling、または Scale wrap のいずれかを選びます。どれも本当の意味でのタイルほど良くはありませんが、多くの場合はいずれかの方法で継ぎ目をかなり隠せます。
図16:Mirror wrap を使って curl noise をタイルする
IInsight #7: Experiment with custom input shapes beyond just noise
(気づき #7:ノイズ以外のカスタム形状入力も試そう)
これは curl 入力にも当てはまりますが、とくに歪ませたい対象(ディストート元)で効果が大きいです。円を歪ませれば、侵食(erosion)やスプラット(splat)向けに、ユニークな煙/液体っぽいマスクを作れます。線形グラデーションを歪ませれば、シャープな渦を作れます。
組み合わせの数や狙える複雑さという意味では、本当に無限の可能性があります。この記事で扱った内容は、IlluGen で実現できるユニークな表現の、まだ表面をかすった程度にすぎません。
図17:ノイズ以外の形状でも実験して、どこまで行けるか試してみよう!
IlluGen
ゲーム VFX アーティストの制作を強力に支援する新ツール
Curl noise(カールノイズ)は、実際に流体シミュレーションを作る手間をかけずに、流体のようなテクスチャやパターンを生成できる便利なツールです。VFX 向けにユニークなアセットを作るうえで役立つ場面は多く、この記事の後半では私が行ったいくつかの実験も紹介します。
Curl noise は、Perlin noise のようなベースとなるグレースケール入力に対して、「任意の点における 2D ベクトルの回転(カール)成分」を求める数学的操作によって得られます。Ryan Smith は Overdraw の記事の中で次のように述べています:
…これにより、ベクトルが斜面に沿って動くのではなく、斜面の周りに回り込む(curl AROUND)ベクトル場が作られます。だから Curlと呼ばれるのです。
こうして得られた curl noise は、ほかのテクスチャ入力を歪ませる(distort)ために利用できます。また、これらのフィールドは時間でアニメーションさせたり、ブレンドして重ねたりすることで、層状のディテールを持たせることもできます。curl noise の重要なポイントのひとつは non-divergent(非発散) であることです。これは、フィールドに入ってくる量と出ていく量が同じになり、中身(量)が増減しないことを意味します。
Divergence(発散) とは、ある点(またはその周辺)における局所的な 膨張(正の発散)/収縮(負の発散)の度合いを表す尺度で、Fig. 1 のように可視化できます。
この記事では、divergence(発散)あり/なし両方の curl noise を扱います。というのも、適度な divergence を含めたほうが、よりアーティスティックで自然な結果につながる場合があるからです。
この記事では、divergence(発散)あり/なし両方の curl noise を扱います。というのも、適度な divergence を含めたほうが、よりアーティスティックで自然な結果につながる場合があるからです。
Let’s Start By Generating Curl Noise in IlluGen
(IlluGen で Curl Noise を作ってみよう)
Substance Designer のようなツールでは、法線マップ入力を使ってテクスチャをワープできます。しかし IlluGen では、ワープ操作に UV テクスチャ座標を使います。Fig. 2 では、Grid テクスチャを Directional Blur に入れ、これを歪ませる元画像にしています。このケースでは、Directional Blur ノードは Substance Designer の Vector Morph ノードのような働きをします。Directional Blur ノードの設定は Warp Intensity 50%、サンプル分布は forward only です。
curl noise フィールドを作るために、ここでは入力として(例として)4 オクターブの Perlin ノイズを使い、そのハイトマップから UV を導出します。ですが、それだけでは斜面をたどる方向のベクトルしか得られません。そこで UV from Derivative ノードの rotation パラメータを使ってベクトルを回転させます。ここでは 90° 回します。
次に、ノイズを divergence-free(非発散)にするために Levels ノードで Noise 入力を反転します。これはノード内の リマップカーブを反転(上下をひっくり返す)することで行えます。
反転したノイズは intensity mod ピンに接続します。こうするのは、curl を正確に計算するには、歪み(distortion)の強度を、その地点にある curl の量に対応づける必要があるためです。intensity mod ピンは、intensity 入力ボックス内の サイン波アイコンをクリックすると表示(露出)できます。
この UV を Directional Blur に挿すと Fig. 3 のようになります。おめでとう!これで curl noise を作れました。
curl noise フィールドを作るために、ここでは入力として(例として)4 オクターブの Perlin ノイズを使い、そのハイトマップから UV を導出します。ですが、それだけでは斜面をたどる方向のベクトルしか得られません。そこで UV from Derivative ノードの rotation パラメータを使ってベクトルを回転させます。ここでは 90° 回します。
次に、ノイズを divergence-free(非発散)にするために Levels ノードで Noise 入力を反転します。これはノード内の リマップカーブを反転(上下をひっくり返す)することで行えます。
反転したノイズは intensity mod ピンに接続します。こうするのは、curl を正確に計算するには、歪み(distortion)の強度を、その地点にある curl の量に対応づける必要があるためです。intensity mod ピンは、intensity 入力ボックス内の サイン波アイコンをクリックすると表示(露出)できます。
この UV を Directional Blur に挿すと Fig. 3 のようになります。おめでとう!これで curl noise を作れました。
Insight #1 – Blurry inputs are better for generating curl & swirls
(気づき #1:ぼけた入力のほうが curl と渦が出やすい)
Fig. 4 では、curl を生成する元ノイズが、オクターブ数を増やしながら段階的に変化していくアニメーション例を示しています。ノイズのオクターブ数、スケール、ガウシアンブラーの適用などは、最終結果に大きく影響します。私の経験では、入力がぼけたテクスチャのほうが、curl が扱える勾配の変化が増え、より良い渦が生まれやすいと感じています。
Fig. 5 では、ノイズを時間でスケール変化させています。これは追加オクターブを増やすのに近い働きをします。オクターブとスケールをバランスさせることで、自分にとってちょうど良い渦の量とディテール量に調整できます。
Fig. 5 では、ノイズを時間でスケール変化させています。これは追加オクターブを増やすのに近い働きをします。オクターブとスケールをバランスさせることで、自分にとってちょうど良い渦の量とディテール量に調整できます。
Insight #2: Use divergence to your advantage
(気づき #2:divergence を味方にする)
上で学んだように、正の発散と負の発散はピクセルを押したり引いたりします。curl noise は通常、UV を 90° 回転させることで divergence-free になりますが、この値からずらすことで正/負の divergence を加えられます。
Fig. 6 では、UV の回転を 60°〜120° でアニメーションさせ、アセット生成に使えそうな回転レンジの目安を示しています。カール方向を反転したい場合は -120°〜-60° を使うとよいでしょう。
Fig. 6 では、UV の回転を 60°〜120° でアニメーションさせ、アセット生成に使えそうな回転レンジの目安を示しています。カール方向を反転したい場合は -120°〜-60° を使うとよいでしょう。
別の方法として、よりアーティスティックになり得る divergence の足し方は、UV の強度をモジュレーション(変調)しないことです。これを行うと、厳密には curl noise の定義に忠実ではなくなりますが、Fig. 7 に見られるように、より強い色の変化を作れるようになります。
これは、UV 強度の値を、入力ノイズのグラデーション全体に対して一律に適用しているために起こります。モジュレーションなしの場合は、色の島(island)がはっきり分かれ、エッジが鋭くなる傾向があることに気づくはずです。
一方、モジュレーションをオンのままでも、UV 強度を 100% 以上に上げれば、似たような効果を得られます。
これは、UV 強度の値を、入力ノイズのグラデーション全体に対して一律に適用しているために起こります。モジュレーションなしの場合は、色の島(island)がはっきり分かれ、エッジが鋭くなる傾向があることに気づくはずです。
一方、モジュレーションをオンのままでも、UV 強度を 100% 以上に上げれば、似たような効果を得られます。
Insight #3: Your color variation is highly dependent upon what you are warping, not just your curl noise input.
(気づき #3:色の変化は curl 入力だけでなく「何を歪ませるか」に強く依存する)
ここで見えているのは curl noise の色そのものではなく、curl noise の速度場(velocity field)で 歪められた画像です。では、いくつか異なるパターンを使うとどうなるかを見てみましょう。
Fig. 8 では、グリッド状に並べた色付きドットをワープしています。Fig. 9 では Voronoi ノイズをワープしています。Fig. 10 ではエッジ検出したノイズパターンをワープしています。これらの図では、ワープ量やノイズスケールは同一ではありません。各ケースで十分に良いと感じる見た目になるまで、値をいろいろ試して決めました。
これらすべての図を含むファイルも用意してあります。同じ curl noise でまとめてワープして比較するのも簡単なので、興味があればぜひ検証してみてください。
Fig. 8 では、グリッド状に並べた色付きドットをワープしています。Fig. 9 では Voronoi ノイズをワープしています。Fig. 10 ではエッジ検出したノイズパターンをワープしています。これらの図では、ワープ量やノイズスケールは同一ではありません。各ケースで十分に良いと感じる見た目になるまで、値をいろいろ試して決めました。
これらすべての図を含むファイルも用意してあります。同じ curl noise でまとめてワープして比較するのも簡単なので、興味があればぜひ検証してみてください。
次に私は、curl noise の UV を作るためのノイズと、ワープされるパターン側のノイズに まったく同じノイズを使ったらどうなるか?と考えました。完璧な curl であれば Fig. 1 のように、影響を受けたピクセル位置が回転するだけのはずです。Fig. 11 では、この方法によって面白い糸引き/筆致(ブラシストローク)のような効果が見られます。
Insight #4: Blending methods to achieve more detail or multi-directional curl
(気づき #4:ブレンドでディテール追加/多方向 curl を作る)
ここまでは、とてもシンプルなノードグラフで curl noise を作ってきました。では、追加のブレンド工程を入れて、もっと面白い結果を出すにはどんな方法があるでしょう?
私が最初に考えたのは、最終的に出た curl noise を入力として、もう一度 curl noise を作ったらどうなる?ということです(マルチパス curl)。これは Fig. 12A と Fig. 12B に示しています。アートとしては確かに面白いのですが、この方法は intensity 設定によっては非常にシャープ(硬い)になりやすいです。
私が最初に考えたのは、最終的に出た curl noise を入力として、もう一度 curl noise を作ったらどうなる?ということです(マルチパス curl)。これは Fig. 12A と Fig. 12B に示しています。アートとしては確かに面白いのですが、この方法は intensity 設定によっては非常にシャープ(硬い)になりやすいです。
次に私は、時計回りと反時計回りの渦を両方確実に混在させて、もっとバリエーションを増やす方法はないか?と考えました。80 度の UV と -80 度の UV を作り、これら 2 つの curl 計算結果を 減算(subtractive)ブレンドすると、Fig. 13A のように液体っぽい、あるいは木星っぽい結果が得られます。Fig. 13B はノード構成です。
結果は UV blend ノードのピン順(どちらをどちらの入力へ挿すか)でも変わります。どちらが正しいということはないので、必要に応じて順序を入れ替えてください。
結果は UV blend ノードのピン順(どちらをどちらの入力へ挿すか)でも変わります。どちらが正しいということはないので、必要に応じて順序を入れ替えてください。
さらに私は、curl noise にもオクターブのような概念を持ち込めないか?と考えました。大きな渦が全体を押し動かしつつ、小さく精密な渦がディテールを定義する、というイメージです。
幸いこれは簡単で、グローバルに効く curl と、ローカルに強く効く curl を 2 つ用意します。そして UV blend ノードで ADD(加算)して 2 入力を足し合わせれば実現できます。background / foreground のどちらに入れるかは重要ではありません。Fig. 14A が結果で、Fig. 14B がノードグラフです。
幸いこれは簡単で、グローバルに効く curl と、ローカルに強く効く curl を 2 つ用意します。そして UV blend ノードで ADD(加算)して 2 入力を足し合わせれば実現できます。background / foreground のどちらに入れるかは重要ではありません。Fig. 14A が結果で、Fig. 14B がノードグラフです。
Insight #5: Animation can give you great flipbooks!
(気づき #5:アニメーションで良いフリップブックが作れる)
ここまでは静止テクスチャを扱ってきました。curl noise をアニメーションするフリップブックやアニメーションノイズマップとして使いたい場合、curl を生成する元を Fractal ノードから Fractal ノードへ置き換える必要があります。
その理由は、現時点の IlluGen では、通常の Noise ノードでは 3D ノイズが適切にタイルしないためです。将来的には修正されますが、現状は Fractal ノードを使います。
Fractal ノイズをアニメーションさせるには、Fig. 15 のように 3D noise チェックボックスを有効にします。次に Z position ピンを露出させ、タイムラインでキーフレームするか、モジュレーターで使えるようにノードグラフ側へ出します。例はプロジェクトファイルで確認できるはずです。そこから curl noise が動き出します。
さらに、スクロールするノイズ同士を掛け算したり、マスクや侵食(erosion)をアニメーションさせたり、curl noise をカースティクス(caustics)の屈折に使ったり、といった VFX テクニックを組み合わせることで、ここまで学んだことをベースにユニークな効果を作れるようになります。
その理由は、現時点の IlluGen では、通常の Noise ノードでは 3D ノイズが適切にタイルしないためです。将来的には修正されますが、現状は Fractal ノードを使います。
Fractal ノイズをアニメーションさせるには、Fig. 15 のように 3D noise チェックボックスを有効にします。次に Z position ピンを露出させ、タイムラインでキーフレームするか、モジュレーターで使えるようにノードグラフ側へ出します。例はプロジェクトファイルで確認できるはずです。そこから curl noise が動き出します。
さらに、スクロールするノイズ同士を掛け算したり、マスクや侵食(erosion)をアニメーションさせたり、curl noise をカースティクス(caustics)の屈折に使ったり、といった VFX テクニックを組み合わせることで、ここまで学んだことをベースにユニークな効果を作れるようになります。
Insight #6: Curl noise usually won’t tile by default in IlluGen (yet)
(気づき #6:IlluGen の curl noise は(現状)デフォルトではタイルしないことが多い)
IlluGen では、Directional Blur ノードのバグにより curl noise がタイルしません。これは 2026年2月6日(時点)で、次回アップデートで修正される予定です。
現状の回避策として、curl noise テクスチャを作った後に Tile ノードへ通し、Mirror wrap(Fig. 16)、Voronoi sampling、または Scale wrap のいずれかを選びます。どれも本当の意味でのタイルほど良くはありませんが、多くの場合はいずれかの方法で継ぎ目をかなり隠せます。
現状の回避策として、curl noise テクスチャを作った後に Tile ノードへ通し、Mirror wrap(Fig. 16)、Voronoi sampling、または Scale wrap のいずれかを選びます。どれも本当の意味でのタイルほど良くはありませんが、多くの場合はいずれかの方法で継ぎ目をかなり隠せます。
IInsight #7: Experiment with custom input shapes beyond just noise
(気づき #7:ノイズ以外のカスタム形状入力も試そう)
これは curl 入力にも当てはまりますが、とくに歪ませたい対象(ディストート元)で効果が大きいです。円を歪ませれば、侵食(erosion)やスプラット(splat)向けに、ユニークな煙/液体っぽいマスクを作れます。線形グラデーションを歪ませれば、シャープな渦を作れます。
組み合わせの数や狙える複雑さという意味では、本当に無限の可能性があります。この記事で扱った内容は、IlluGen で実現できるユニークな表現の、まだ表面をかすった程度にすぎません。
組み合わせの数や狙える複雑さという意味では、本当に無限の可能性があります。この記事で扱った内容は、IlluGen で実現できるユニークな表現の、まだ表面をかすった程度にすぎません。
IlluGen
ゲーム VFX アーティストの制作を強力に支援する新ツール
ゲーム開発向け IlluGen
