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

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

Point POP の点追加と属性作成機能を示す図

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

概要 📖 – 点の追加と属性の作成

Point POPは、位置属性つきの点を追加し、カラーや法線などの任意属性を新規作成するジオメトリ生成系 POPです。位置属性 (P) と点プリミティブの生成を個別にオン・オフでき、シーケンシャルブロックで好きなだけ新規属性を定義できます。型・成分数まで細かく指定できるため、パーティクルやインスタンス描画の素材となる最小ジオメトリを柔軟に組み立てられます。

主な用途 🎯

  • 位置属性 (P) を持つ点をジオメトリに追加
  • 点プリミティブ (Point Primitive) の生成
  • カラー・法線・テクスチャ座標など任意属性の新規作成
  • カスタム属性の型・成分数を指定した自由なデータ定義
  • パーティクルやインスタンス描画用の最小ジオメトリ構築

データフロー 🔄

入力: POP (任意ジオメトリ、または空)

Point POP(点・位置属性・新規属性を追加)

出力: 属性つきの点ジオメトリ

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Setup Page 📋

点と位置属性の生成 ✅

Create P Attribute .createp 📍
Create P Attribute (位置属性の作成) — 点の位置を表す P 属性を追加するか否かのトグル
– オンにすると Points Page の Position から各点の座標を設定可能になる

Create Point Primitives .createpointprim 🔘
Create Point Primitives (点プリミティブの作成) — 点プリミティブ (Point Primitive) を生成するか否かのトグル
– オンにするとレンダリングや後段処理で点を独立したプリミティブとして扱える

新規属性ブロック .attr

新しい属性を 1 ブロック単位で定義するシーケンシャルパラメータブロック

New Attribute .attr
New Attribute (新規属性) — 新しい属性を 1 ブロック単位で作成するシーケンシャルパラメータブロックの起点
– ブロック数を増減することで複数の属性をまとめて定義できる

Name .attr0name 🏷️

Name (属性名) — 定番属性を選ぶか、Custom でカスタム属性を作成するかを選択するメニュー

項目 内部名 説明
Custom .custom カスタム属性。下の Custom Name で任意の名前を指定
N .n 法線 (Normal) 属性。面やライティングの向きを表す
Color .color カラー属性。点ごとの RGBA 色を保持
Tex .tex テクスチャ座標 (UV) 属性。テクスチャマッピングに使用
PointScale .pointscale ポイントスケール属性。インスタンス描画時の点サイズ
LineWidth .linewidth ライン幅属性。ラインプリミティブの太さ

Custom Name .attr0customname 📝

Custom Name .attr0customname 📝
Custom Name (カスタム名) — 新規カスタム属性の名前を指定する
– Name メニューで Custom を選んだ場合に有効になる

Type .attr0type 🧮

Type (型) — 新規属性のデータ型を決定するメニュー

項目 内部名 説明
float .float 32-bit 単精度浮動小数
double .double 64-bit 倍精度浮動小数
int .int 32-bit 符号付き整数
uint .uint 32-bit 符号なし整数
dir .dir 方向ベクトル (float 単精度)
dbl dir .ddir 方向ベクトル (double 倍精度)

Number of Components .attr0numcomps 📊

Number of Components (成分数) — 新規属性の成分数を選択するメニュー

項目 内部名 説明
1 .1 スカラー (1 成分)。単一値の属性に使用
2 .2 2D ベクトル (例: UV 座標)
3 .3 3D ベクトル (例: 位置 / 法線)
4 .4 4D ベクトル (例: RGBA / 四元数)

Points Page 📍

点ブロック .pt 🔘

追加する点を 1 ブロック単位で定義するシーケンシャルパラメータブロック

Point .pt 🔘
Point (点ブロック) — 追加する点を 1 ブロック単位で管理するシーケンシャルパラメータブロックの起点
– ブロック数を増やすことで複数の点を直接指定して生成できる

Position .pt0pos 📐

Position .pt0pos 📐
Position (位置) — 各点の座標を X / Y / Z の 3 成分 (pt0posx / pt0posy / pt0posz) で指定
– Create P Attribute がオンのとき、ここで指定した座標が P 属性として書き込まれる


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: 単一の点を座標指定で生成 📍

Point POP (createp オン, pt0pos = 任意座標) → Render TOP

入力なしの状態から Point POP だけで 1 つの点を任意座標に配置する最小例。Create P Attribute をオンにし、Points Page の Position に座標を入力すると、位置属性つきの点が 1 つ生成される。インスタンス描画やパーティクル発生源のアンカーとして使える。

  1. Point POP の Create P Attribute をオンにする
  2. Points Page の Position に座標 (例: 0, 1, 0) を入力
  3. Create Point Primitives をオンにして点プリミティブを生成
  4. 出力を Render TOP に渡して点を描画

Example 2: 点群にカラー属性を追加 🎨

Grid POP → Point POP (New Attribute: Color, float, 4 成分) → Math POP (色を設定) → Render TOP

Grid POP などで生成した点群に、Point POP の新規属性ブロックを使って Color 属性を追加する例。Name メニューで Color を選ぶと RGBA カラー属性のスキーマが用意され、後段の Math POP やシェーダで点ごとに色を設定できるようになる。

  1. 前段の Grid POP を Point POP の入力に接続
  2. New Attribute ブロックを 1 つ追加
  3. Name メニューで Color を選択
  4. Type = float、Number of Components = 4 を指定
  5. 後段の Math POP で各点の Color 値を計算してマテリアルに渡す

Example 3: カスタム属性を定義 🧬

Point Generator POP → Point POP (Custom Name: scale, float, 1 成分) → Copy POP

インスタンス描画の素材として、点ごとに独立したスケール値を持たせたいケース。Point POP の Name メニューで Custom を選び、Custom Name に任意名 (例: scale) を入力、Type と Number of Components を指定すると、後段のインスタンス処理から参照できるカスタム属性を新規作成できる。

  1. 前段の Point Generator POP を Point POP の入力に接続
  2. New Attribute ブロックを追加し Name = Custom を選択
  3. Custom Namescale を入力
  4. Type = float、Number of Components = 1 を指定
  5. 後段で scale 属性を読み、Copy POP のインスタンスサイズ制御に利用

関連オペレータ 🔗

類似機能OP 🔍

  • Attribute POP — 既存属性の作成・リネーム・削除を扱う。Point POP は点そのものの追加も担う点が異なる
  • Point Generator POP — 指定数の点を一括生成する。Point POP は座標を直接指定して点を足す用途

組み合わせ推奨OP 🔄

  • Math POP — Point POP で作成した新規属性に算術演算で値を書き込む
  • Copy POP — Point POP の点と属性をインスタンス描画のテンプレートとして複製
  • Merge POP — Point POP で追加した点を既存ジオメトリと統合

前処理・後処理POP 🎯


Info POP情報 📊

Point POP は Info CHOP 経由でジオメトリ統計情報を取得します。

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: エラー数

ポイント・属性情報 🧬

  • num_points: Point POP が出力するポイント数 (追加した点を含む)
  • num_point_attribs: 出力 POP のポイント属性数 (新規作成した属性を含む)
  • num_vertex_attribs: 出力 POP の頂点属性数
  • num_prim_attribs: 出力 POP のプリミティブ属性数
  • num_prims: 出力プリミティブ数 (点プリミティブを含む)

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

よくある問題と解決策 🔧

❌ Problem: 点が表示されない / レンダリングされない
✅ Solution:

  • Create P Attribute がオンになっているか確認 (位置属性 P がないと描画位置が定まらない)
  • Create Point Primitives をオンにして点をプリミティブとして生成
  • 後段の Render TOP で点サイズ・点描画が有効か確認

❌ Problem: 新規作成した属性が下流で見つからない
✅ Solution:

  • Name または Custom Name の属性名が下流で参照している名前と一致しているか確認
  • TypeNumber of Components が後段の期待する型・成分数と揃っているか確認
  • Common Page の Delete Input Attributes パターンで誤って削除されていないか確認

❌ Problem: カスタム属性の値が初期化されない
✅ Solution:

  • Name メニューで Custom を選択し Custom Name を入力したか確認
  • 属性作成後に Math POP 等で明示的に値を書き込む
  • Number of Components が値設定側の成分数と一致しているか確認

参考資料 📚

その他 🔗

公式リソース 📖

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