Noise POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

※当サイトにはプロモーションリンクが含まれます。

Noise POP のノイズ生成機能を示す図

記事更新の通知はXでアナウンス٩(๑❛ᴗ❛๑)
@maru6o6をフォロー

概要 📖 – ノイズで属性値を変化

Noise POPは、入力ジオメトリの各点にノイズ関数を評価し、その値を属性として加算・出力する POPです。ノイズの種類は複数のタイプから選べ、4次元 Translate で時間アニメーション、Curl 出力で発散ゼロのベクトル流れも生成します。

主な用途 🎯

  • パーティクルや POP ジオメトリの各点位置を Perlin/Simplex ノイズで滑らかに変位
  • 属性値 (Cd、N、tex 等) にノイズを加算・乗算してオーガニックな揺らぎを付与
  • 4次元ノイズの第4軸 (Translate 4D) を時間方向に動かしてアニメーション化
  • Curl 2D / Curl 3D 出力で発散ゼロのベクトル場を生成しベクトル流れを表現
  • Harmonics / Spread / Gain を重ねた fBm 風のフラクタルノイズで複雑なディテールを生成

データフロー 🔄

入力: POP ジオメトリ(属性付き)

ノイズタイプとパラメータ (Period/Amplitude/Harmonics) に基づくノイズサンプリング

出力: 同形状ジオメトリ(ノイズ値を加算・出力した属性)

Tips

初心者の方は、以下日本語書籍も手元にあると安心です。

まる。
まる。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!


パラメータ解説 ⚙️

Noise Page 📋

ノイズ参照属性 .noiselookupattrib 🧭

Noise Lookup Attribute .noiselookupattrib
Noise Lookup Attribute (ノイズ参照属性) — ノイズ評価時に座標として使用する点属性を指定します。デフォルトは P (位置)。別属性 (rest、tex 等) を指定すると変形前の元座標でノイズをロックするなどの用途に活用できます。

ノイズタイプ .type 🌫️

ノイズの種類を選択

項目 内部名 説明
Sparse Convolution .sparse 格子状のアーティファクトが出ない滑らかなノイズ (デフォルト)
Hermite .hermite Hermite 補間に基づく滑らかな格子ノイズ
Harmonic Summation .harmonic 複数オクターブを加算した fBm 風ノイズ
Perlin .perlin Ken Perlin による古典的勾配ノイズ
Simplex .simplex Perlin の改良版、高次元で計算効率が良い
Alligator .alligator ワニ皮のような細かいセル状パターン
Random GPU .random 点ごとの疑似乱数 (GPU 高速、空間連続性なし)

ノイズサイズ .noisesize 🔢

出力するノイズコンポーネント数

項目 内部名 説明
1 .1 スカラーノイズ 1 成分
2 .2 2 成分ベクトルノイズ
3 .3 3 成分ベクトルノイズ (P や N の変位に最適)
4 .4 4 成分ノイズ

周期・シード 🌀

Seed .seed
Seed (シード値) — ノイズ生成の乱数初期化に使う数値。同じシードなら毎回同じパターンが得られます。

Period .period
Period (周期 / スケール) — ノイズの空間スケールを指定します。値を大きくするとパターンがゆったり、小さくすると細かく変化します。

ハーモニクス設定 📶

Harmonics .harmon
Harmonics (倍音数) — 基本ノイズに重ねる高周波成分の数を指定します。0 ならベースの形のみ、増やすほどフラクタル状の細部が増えます。

Harmonic Spread .spread
Harmonic Spread (倍音間隔) — 各倍音が前の倍音に対して何倍の周波数を持つかを指定します。一般的には 2 前後 (オクターブ毎)。

Harmonic Gain .gain
Harmonic Gain (倍音減衰) — 各倍音の振幅を前の倍音の何倍にするかを指定します。一般的には 0.5 前後 (オクターブ毎に半減)。

パラメータサイズ .parsize 📐

パラメータを点ごとに独立指定する数

項目 内部名 説明
1 .1 全軸共通の単一パラメータ
2 .2 2 軸独立のパラメータ
3 .3 3 軸独立のパラメータ
4 .4 4 軸独立のパラメータ

振幅・指数・オフセット 🎚️

Amplitude .amp
Amplitude (振幅) — 出力値全体に掛ける係数。ノイズの強さを直接スケールします。

Exponent .exp
Exponent (指数) — 内部ノイズ値を指数乗します。1 より大きくするとピークが鋭く、1 より小さくすると緩やかになります。

Offset .offset
Offset (オフセット) — 結果値に加算する一定値。バイアスを与えたいときに使用します。

属性クラスとグループ 🧱

Attribute Class .attrclass
Attribute Class (属性クラス) — POP が作用する属性のクラス (Point / Vertex / Primitive) を選択します。

Group .group
Group (グループ) — 入力にグループが定義されている場合、グループ名を指定するとそのグループだけにノイズを適用します。


Transform Page 🔄

変換順序 .xord 🔀

Scale / Rotate / Translate の適用順

項目 内部名 説明
Scale Rotate Translate .srt スケール → 回転 → 移動 (デフォルト)
Scale Translate Rotate .str スケール → 移動 → 回転
Rotate Scale Translate .rst 回転 → スケール → 移動
Rotate Translate Scale .rts 回転 → 移動 → スケール
Translate Scale Rotate .tsr 移動 → スケール → 回転
Translate Rotate Scale .trs 移動 → 回転 → スケール

回転順序 .rord 🌀

X / Y / Z 軸の回転を適用する順

項目 内部名 説明
Rx Ry Rz .xyz X → Y → Z (デフォルト)
Rx Rz Ry .xzy X → Z → Y
Ry Rx Rz .yxz Y → X → Z
Ry Rz Rx .yzx Y → Z → X
Rz Rx Ry .zxy Z → X → Y
Rz Ry Rx .zyx Z → Y → X

移動 .t ➡️

Translate .t
Translate (移動) — ノイズ空間内で点群を平行移動させます。X / Y / Z の 3 軸成分を指定します。

回転 .r 🔁

Rotate .r
Rotate (回転) — 対応する X / Y / Z 軸周りに点群を回転させます。角度の単位は度 (degree)。

スケール .s 🔍

Scale .s
Scale (スケール) — ノイズ空間で X / Y / Z の 3 軸方向にスケールします。軸ごとに異なる周期を与えるのに有効です。

中心点 .p 🎯

Pivot .p
Pivot (中心点) — 回転とスケールの基準となる中心位置を指定します。

4次元移動 .t4d 🕓

Translate 4D .t4d
Translate 4D (4次元移動) — ノイズの第 4 次元軸方向に移動させます。absTime.seconds など時間を流し込むと、空間形状を保ったままアニメーションする時間軸ノイズが得られます。


Output Page 📤

ノイズ出力スイッチ 🎛️

Noise .noise
Noise (ノイズ出力) — ノイズ値そのものを出力属性に書き込むかどうかのトグル。

Gradient .gradient
Gradient (勾配出力) — ノイズの空間勾配 (3 成分ベクトル) を出力するかどうか。

Curl 3D .curl3d
Curl 3D (3次元 Curl 出力) — 3 次元 Curl ベクトル (発散ゼロのベクトル場) を出力するかどうか。流体的な渦のような動きを作るのに最適。

Curl 2D .curl2d
Curl 2D (2次元 Curl 出力) — 2 次元 Curl ベクトルを出力するかどうか。平面的な流れに使用。

合成演算 .combineop

計算したノイズ値と既存属性値を合成する方法

項目 内部名 説明
None .none ノイズ値で上書き (合成しない)
Add .add 既存属性値にノイズを加算
Multiply .mult 既存属性値にノイズを乗算

合成エンティティ .combineentity 🧩

合成演算で使うノイズ系統

項目 内部名 説明
Noise .noise 通常のノイズ値を使用
Curl 3D .curl3d 3 次元 Curl ベクトルを使用
Curl 2D .curl2d 2 次元 Curl ベクトルを使用

合成属性スコープ .combineattrscope 🎯

Combine Attribute Scope .combineattrscope
Combine Attribute Scope (合成対象属性) — 合成演算の対象となる入力属性名を指定します (例: PCdN)。

出力属性スコープ .outputattrscope 📤

出力先となる属性 (またはそのコンポーネント)

項目 内部名 説明
P .P 点位置属性
N .N 法線属性
Color .Color 色属性 (RGBA)
Color.rgb .Color.rgb 色属性の RGB 成分のみ
Tex .Tex テクスチャ座標属性
PointScale .PointScale ポイントスケール属性
LineWidth .LineWidth ラインの太さ属性

属性オーバーライド .overrideautoattr 🛡️

Override Automatic Attribute .overrideautoattr
Override Automatic Attribute (自動属性のオーバーライド) — POP が入力とパラメータから自動で決定する属性種別を、手動で指定したい場合に有効化します。

属性タイプ .attrtype 🔤

出力属性のデータ型

項目 内部名 説明
float .float 32 bit 浮動小数点
double .double 64 bit 浮動小数点
int .int 32 bit 整数
uint .uint 32 bit 符号なし整数
Color .color 色 (RGBA float)
Color (double) .dcolor 色 (RGBA double)
Direction .dir 方向ベクトル (float)
Direction (double) .ddir 方向ベクトル (double)

コンポーネント数 .attrnumcomps 🔢

新規カスタム属性の成分数

項目 内部名 説明
1 .1 スカラー (1 成分)
2 .2 2 成分
3 .3 3 成分 (ベクトル / RGB)
4 .4 4 成分 (RGBA / quaternion)

デフォルト値 .attrdefaultval 🔧

Default Value .attrdefaultval
Default Value (デフォルト値) — 出力属性が計算できなかった点に与える既定値です。成分数に応じて 1〜4 個の値を指定します。

法線計算 .computenormals 📐

Compute Point Normals .computenormals
Compute Point Normals (点法線の再計算) — ノイズ適用後に点法線 (N) を再計算するかどうか。位置 (P) を変位させた場合に有効化すると、ライティングが正しく追従します。

モード .mode

速度優先か品質優先か

項目 内部名 説明
Performance .performance 速度優先 (見た目はやや簡略化)
Quality .quality 品質優先 (より滑らかで正確なノイズ場)

Map Page 🗺️

属性マッピング .map 🔗

Mapping .map
Mapping (マッピング) — 属性をパラメータに点ごとに割り当てるシーケンスの開始マーカー。連番ブロック (map0、map1、…) で複数マッピングを定義できます。

OP .map0op
OP (参照元) — マッピングの参照元 POP を指定します。デフォルトの _in0 は入力 POP 自身を意味します。

Element .map0element
Element (要素) — 点ごとにパラメータへマップする属性 (またはその成分) を指定します。

ターゲットパラメータ .map0parm 🎯

属性値で上書きする Noise POP 側のパラメータ

項目 内部名 説明
Period .period 周期 (Period) を点ごとに変える
Offset .offset オフセット (Offset) を点ごとに変える
Amplitude .amp 振幅 (Amplitude) を点ごとに変える
Exponent .exp 指数 (Exponent) を点ごとに変える
Harmonic Spread .spread 倍音間隔 (Spread) を点ごとに変える
Harmonic Gain .gain 倍音減衰 (Gain) を点ごとに変える

マップ合成演算 .map0combineop

マップ値と既存パラメータ値の合成方法

項目 内部名 説明
Set .set 属性値でパラメータを上書き
Multiply .mult 既存パラメータ値に乗算
Add .add 既存パラメータ値に加算

Common Page 🔧

Bypass .bypass 🚫

POP の処理をスキップして入力をパススルーする設定:

  • オン: 最初の入力 (input1) をそのまま出力にパススルー、POP 内部の処理を無効化
  • 用途: デバッグ時に特定 POP の効果を一時的に外して比較する際に使用

Free Extra GPU Memory .freeextragpumem 🧠

蓄積した GPU メモリの解放:

  • Free Extra GPU Memory パルス: 出力ポイント数が増減を繰り返した際に確保されたままの GPU メモリを明示的に解放するパルスパラメータ
  • 用途: 大規模パーティクル系で出力サイズが大きく変動した後、未使用メモリを返却して VRAM を節約

Delete Input Attributes .delinputattrs 🗑️

出力属性の絞り込みパターン:

  • Delete Input Attributes パターン: 出力に残したい属性名のパターン (例: P N Cd) を指定。指定外の属性は破棄される
  • 用途: 下流で不要な属性を切り落として分岐ブランチを軽量化、メモリ・帯域を節約

実践アイデア 💡

Example 1: ノイズで点位置を有機的に変位 🌊

Box POP → Noise POP (Output Attribute Scope = P, Combine = Add) → Render TOP

Box POP で生成した点群の位置属性 (P) に Perlin ノイズを加算し、立方体表面が有機的に揺らぐ表現を作る基本フロー。Period を小さくすればトゲトゲに、大きくすれば膨らみのような大きなうねりに変化します。

  1. Box POP で点付き立方体を生成
  2. Noise POP の Output Attribute Scope を P、Combine Operation を Add、Type を Perlin に設定
  3. Period を 1.0 前後、Amplitude を 0.2 程度から始めて揺らぎ量を調整
  4. Compute Point Normals を有効化してライティングが追従するようにする

Example 2: 4次元ノイズで時間変化 ⏱️

Sphere POP → Noise POP (Translate 4D = absTime.seconds) → Particle POP

Sphere POP で生成した球面上の点に対し、Translate 4D に時間を流し込むことで形状を保ったままノイズパターンが時間で動くアニメーションを作るフロー。空間ジャンプが起きないため周期的な揺らぎ表現に最適です。

  1. Sphere POP で球面サンプル点を生成
  2. Noise POP を接続し Output Attribute Scope を P に、Combine を Add に設定
  3. Translate 4D パラメータに absTime.seconds を入力して時間を流し込む
  4. Harmonics を 2〜3 に増やしてフラクタル感を加える

Example 3: Curl で渦巻く速度場 🌪️

Grid POP → Noise POP (Output Curl 3D → N) → Particle POP (velocity from N)

Grid POP で配置した点群に Noise POP の Curl 3D 出力を法線属性 (N) として書き込み、それを Particle POP の速度入力として読ませることで発散ゼロのベクトル場 (流体的な渦巻く動き) を作るフロー。煙や風のシミュレーションの土台に向きます。

  1. Grid POP で平面格子の点群を作成
  2. Noise POP の Output で Curl 3D を有効化、Output Attribute Scope を N に設定
  3. Particle POP に接続して速度ベクトルとして N 属性を参照させる
  4. Period と Amplitude で渦のスケールと強さを調整

関連オペレータ 🔗

類似機能OP 🔍

  • Random POP — 点ごとに独立な乱数値、空間連続性なし
  • Pattern POP — チェッカーやストライプ等の決定的パターン生成

組み合わせ推奨OP 🔄

  • Math POP — ノイズ出力をスケール・オフセット・関数変換
  • Limit POP — ノイズ値を上下限にクランプ
  • Normalize POP — Curl 出力ベクトルを単位ベクトル化
  • Particle POP — ノイズで生成した速度を粒子運動に流し込む
  • Attribute POP — 新規属性を事前に作って Noise POP で書込み先にする
  • Noise CHOP — CHOP 側のノイズと連携して時系列信号を生成
  • Noise TOP — 同じノイズロジックをテクスチャ空間で生成
  • Noise SOP — SOP 側のジオメトリ変位ノイズと組み合わせ

前処理・後処理POP 🎯


Info情報 📊

POP ファミリには専用の Info OP が存在しません。Noise POP の出力情報は下流の Null POP で値を確認したり、Python から POP クラスメンバーで取得します。

POP固有情報 ✨

  • num_verts: POP に含まれる頂点 (vertex) 数
  • num_points: POP に含まれるポイント数
  • num_prims: POP に含まれるプリミティブ数

汎用オペレータ情報 🔄

  • total_cooks: プロセス開始からのクック回数
  • cook_time: 最後のクック時間 (ミリ秒)
  • cook_frame: 最後にクックされたフレーム番号
  • cook_abs_frame: 最後にクックされた絶対フレーム番号 (アプリケーション起動からの累積)
  • cook_start_time: 最後のクック開始時刻 (ミリ秒)
  • cook_end_time: 最後のクック終了時刻 (ミリ秒)
  • cooked_this_frame: 現フレームでクックされたか (0 / 1)
  • warnings: 警告数
  • errors: エラー数

トラブルシューティング ⚠️

よくある問題と解決策 🔧

❌ Problem: ノイズが点ごとに変化しない
✅ Solution:

  • Noise Lookup Attribute に位置 (P) など点ごとに異なる属性が指定されているか確認
  • 全点が同じ座標を持つ入力では均一値になるため、前段で Box POPGrid POP で点を散らす
  • Period を小さくして空間スケールを細かくしているか確認

❌ Problem: アニメーションしない
✅ Solution:

  • Translate 4D パラメータに absTime.seconds 等の時間表現を流し込む
  • あるいは Translate の各軸に時間表現を入れて空間方向にスクロール
  • Cook がトリガされていない場合は下流に Null POP + Active を確認

❌ Problem: 値の振れ幅が想定と合わない
✅ Solution:

  • Amplitude / Exponent / Offset で値域を調整
  • Combine OperationAddMultiply かで結果が大きく変わる点を確認
  • 後段で Limit POP でクランプする、または Math POP で範囲リマップ

❌ Problem: ハーモニクスでパフォーマンスが重い
✅ Solution:

  • Harmonics を必要最小限 (1〜3) に抑える
  • 不要な出力 (Gradient / Curl 3D / Curl 2D) をオフ
  • ModePerformance に切り替えて軽量化

参考資料 📚

その他 🔗

公式リソース 📖

この記事はLLMと共に内容を執筆、更新しています。
最新バージョンとの項目差異など、情報の不一致を見つけた心優しい方はXもしくはInsta、メールなどよりサイト管理者までご連絡ください😎


まる。

お仕事のご依頼はDM又はメールにて。
━━━━━━━━━━━━━━━━━
Python/Touchdesigner/M5Stackをこよなく愛すフルスタックエンジニア。
専門は生理心理学、趣味はヨガやサウナ、EMS電気風呂などヘルスケア全般。
脳波や筋電、心拍を中心とした生体情報のセンシング&インタラクティブアートづくりがライフワーク。

普段はワントゥーテンという会社で空間演出エンジニアをしています。
リファラル採用お繋ぎできますので、我こそはという尖った方は経歴と希望職種添えてDMください(エンジニア以外、営業職等もOK)。
ご飯行きましょう。

↓日常垢
Instagram:@malmal0v0

まる。をフォローする
その他の記事はこちら
Math Combine POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED Select TOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Window COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Widget COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

タイトルとURLをコピーしました