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

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

Blend POP の属性合成・モーフィング機能を示す図

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

概要 📖 – 複数 POP の属性合成・モーフィング

Blend POPは、複数 POP の点・頂点・プリミティブ属性を重み付きで合成し、モーフィング・統計合成を行う POPです。重み CHOP や Map ページのパラメータマッピングを使えば、外部信号や属性値で重みを動的駆動でき、音声反応モーフィング等の表現にも応用できます。

主な用途 🎯

  • 複数 POP 間の属性ブレンディング (モーフィング)
  • 重み付き加算・乗算・平均などの数学的合成
  • CHOP からの動的ブレンド重み制御(音声駆動モーフィング等)
  • Point / Vertex / Primitive 属性スコープごとの選択的ブレンド
  • Map ページによる属性 → パラメータ駆動でのインタラクティブ合成

データフロー 🔄

入力: N 個の POP (同一トポロジ前提)

Blend POP(Blend Type + 重み + Attribute Scope + CHOP 重み / Map 設定)

出力: 合成された属性を持つ POP

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Blend Page 📋

Blend Type .blendtype 🎛️

各入力の N 番目のポイントを合成する方式

項目 内部名 説明
Off .off 合成を行わず、最初の入力をそのまま出力
Average .avg 全入力の平均値
Add .add 全入力の加算
Multiply .mul 全入力の乗算
Minimum .min 全入力の最小値
Maximum .max 全入力の最大値
Differencing .differencing 差分合成 (input1 – input2 – …)
Proportional .proportional 重みに比例した合成 (重み依存)
Proportional Smoothed .proportionalsmoothed 重み比例 + スムージング付き

Length Mismatch .lengthmismatchnotif ⚠️

入力 POP のトポロジ(ポイント数)が異なる場合の動作

項目 内部名 説明
Ignore .ignore 不一致を無視して処理を続行
Warning .warning 警告を表示するが続行
Error .error エラーで停止

重み CHOP .weightchop 🎚️

ブレンド重みを CHOP から動的に取得する設定:

  • CHOP パス: 重みソースとなる CHOP のパス (チャンネル毎に 1 入力分、または 1 サンプル毎)
  • 用途: 音声 RMS / Slider COMP 等で重みを動的駆動し、モーフィングをタイムライン化

Attribute Scope 🎯

Point Attribute Scope .pointattrscope 🔹
– ブレンド対象とする point 属性名のパターン
* で全 point 属性、P なら位置属性のみ等

Primitive Attribute Scope .primattrscope 🔺
– ブレンド対象とする primitive 属性名のパターン
– パターンマッチング (例: Cd*) で部分一致指定

Vertex Attribute Scope .vertattrscope 🔸
– ブレンド対象とする vertex 属性名のパターン
– 上記同様パターン指定可能

Input (Sequential Block) 🔌

各入力ごとに POP 参照と重みを Sequential Parameter Blocks で定義

Input .input 📈
– Input Sequential Parameter Blocks の開始マーカー
– 値を増やすたびに以下のセットが複製される

In POP(s) .input0pop 🎯
– このスロットで入力する POP のパス
– 同一トポロジの POP を並べることが前提

Blend Input .input0weight 🎚️
– このスロットのブレンド重み (Blend Type 依存で振る舞いが変わる)
– Proportional 系で 0-1 の比率制御、Add 系でゲイン値として使用


Map Page 📋

属性 → パラメータマッピング 🗺️

ポイントごとの属性値を Blend POP 自身のパラメータに動的バインドする Sequential Block

Mapping .map 📈
– Mapping Sequential Parameter Blocks の開始マーカー
– 値を増やすたびに以下のセットが複製される

OP .map0op 🎯
– 参照する OP (デフォルトの _in0 は input POP)
– 別 POP を指定すれば別ソースから属性値を引ける

Element .map0element 🧬
– 参照する属性名・コンポーネント名
– 例: Cd.r で色の Red 成分を引く

Target Parameter .map0parm 🎚️
– バインド先となる Blend POP のパラメータ (例: input0weight)
– ポイントごとの属性値で重みを動的に変える

Combine Operation .map0combineop 🔀
– 属性値と既存パラメータ値の合成方法 (Set / Multiply / Add)
– Multiply / 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) を指定。指定外の属性は破棄される
  • 用途: 下流で不要な属性を切り落として分岐ブランチを軽量化、メモリ・帯域を節約

Parameter Color Space .parmcolorspace 🎨

色パラメータの色空間を解釈・Working Color Space に変換する方式

項目 内部名 説明
sRGB .srgb 標準 sRGB ガンマ
sRGB – Linear .srgblinear リニア化された sRGB
Rec.601 (NTSC) .rec601 NTSC SD ビデオ用色空間
Rec.709 .rec709 HD ビデオ用色空間
Rec.2020 .rec2020 UHD / 4K HDR ビデオ用色空間
DCI-P3 .dcip3 デジタルシネマ用色空間
DCI-P3 (D60) .dcip3d60 D60 白色点の DCI-P3
Display-P3 (D65) .displayp3 Apple Display P3 (D65 白色点)
ACES2065-1 .aces2065 ACES 標準 (AP0 プライマリ)
ACEScg .acescg ACES CG 用 (AP1 プライマリ)
Passthrough .passthrough 色空間変換せず値をそのまま使用

Parameter Reference White .parmreferencewhite

色パラメータの基準白色点 (Reference White) の扱い

項目 内部名 説明
Default For Color Space .default 選択した色空間のデフォルト基準白を使用
Use Parent Panel .useparent 親パネルの基準白設定を継承
Standard (SDR) .sdr SDR (標準ダイナミックレンジ) 基準白
High (HDR) .hdr HDR (ハイダイナミックレンジ) 基準白
UI .ui UI 設定値を使用

実践アイデア 💡

Example 1: 2 形状間のモーフィングアニメーション 🎬

Box POP + Circle POP → Blend POP (Blend Type = Proportional Smoothed) → Render TOP

同一ポイント数の Box POP と Circle POP の間を、重みパラメータの 0-1 アニメーションで滑らかにモーフィングする例。Length Mismatch を Error にしておくとトポロジ不一致を即座に検出できる。

  1. Box POP と Circle POP の Divisions / Subdivisions を揃え、ポイント数を一致させる
  2. Blend POP の Input Sequential Block に 2 つを登録、Blend Type = Proportional Smoothed
  3. input0weightinput1weight をアニメーション CHOP で 0↔1 駆動

Example 2: 音声 RMS で重みを駆動するライブモーフィング 🎵

Audio In CHOP → Analyze CHOP (RMS) → Blend POP (Weights CHOP) → Render TOP

音声入力の RMS 値を 重み CHOP に接続することで、音量に応じて形状が動的に変化するライブビジュアル用合成。Map Page を使えばさらに属性単位での変調も追加できる。

  1. Audio In CHOP → Analyze CHOP で RMS Power を取得
  2. Analyze CHOP 出力を Blend POP の weightchop に接続
  3. Blend Type = Proportional Smoothed にして滑らかな反応を得る

関連オペレータ 🔗

類似機能OP 🔍

  • Copy POP — Template Attributes 経由で複数入力の属性を組合せる類似機能
  • Attribute POP — 属性編集系の汎用 POP

組み合わせ推奨OP 🔄

  • Render TOP — 合成結果を Geometry COMP 経由で描画
  • Analyze CHOP — 音声 / センサーの統計値からブレンド重みを生成
  • Geometry COMP — Blend POP の出力をシーングラフに渡してインスタンシング表示

前処理・後処理POP 🎯


Info POP情報 📊

Blend POPは Info CHOP / Info DAT による詳細情報取得に対応しています。

ブレンド情報 🎚️

  • num_inputs: 接続された入力 POP の数
  • num_points: 出力ポイント数
  • num_prims: 出力プリミティブ数
  • length_mismatch: トポロジ不一致フラグ (0/1)

汎用オペレータ情報 🔄

  • total_cooks: プロセス開始からのクック回数
  • cook_time: 最後のクック時間(ミリ秒)
  • cook_frame: 最後にクックされたフレーム番号
  • warnings: 警告数
  • errors: エラー数

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

よくある問題と解決策 🔧

❌ Problem: Length Mismatch でエラーが出る
✅ Solution:

  • 全入力 POP のポイント数を一致させる (Divisions / Subdivisions 揃え)
  • 前段に Attribute POP を入れて属性スキーマを揃える
  • Length Mismatch Action で外挿値や繰返しなど代替動作を選ぶ (動作仕様要確認)

❌ Problem: 重みを変えても結果が変化しない
✅ Solution:

  • Blend Type が Off になっていないか確認
  • Proportional / Proportional Smoothed 等の重み依存タイプを選ぶ
  • Attribute Scope のパターンが空文字や対象外パターンになっていないか確認

❌ Problem: 重み CHOP の値が反映されない
✅ Solution:

  • weightchop パスが有効か、CHOP のチャンネル数が入力数と一致しているか確認
  • CHOP の値範囲を 0-1 に正規化 (上流に Math CHOP)
  • Blend Type を Proportional 系に切替えて重みを反映するモードにする

参考資料 📚

公式リソース 📖

コミュニティ 💬

この記事は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をコピーしました