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

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

Attribute SOP のジオメトリ属性削除・リネーム機能を示す図

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

概要 📖 – ジオメトリ属性の削除とリネームによる属性管理

Attribute SOPは、ジオメトリのポイント・頂点・プリミティブ・ディテール属性を手動で削除・リネームできる SOPです。削除はパターンマッチング (* / Cd Alpha / a* / ^Cd) に対応し、リネームは From Attribute / To Attribute ペアのシーケンスで複数同時に指定できます。

主な用途 🎯

  • 不要な属性 (Cd / Alpha / uv / N 等) を削除してジオメトリの属性名前空間を整理
  • 属性をリネームして下流 SOP の期待する名前に合わせる (例: uvtexCoord)
  • Alembic / FBX 等の外部取り込みジオメトリから流入した属性を整理・命名規約に揃える
  • パターン文字列 (* / a* / ^Cd) による一括削除で複数属性を一度に処理
  • Point / Vertex / Primitive / Detail の 4 種類の属性カテゴリを個別に管理

データフロー 🔄

入力: 属性を持つジオメトリ SOP

Point / Vertex / Primitive / Detail Page (各カテゴリで Delete Attributes / Rename Sequence を設定)

出力: 属性名前空間が整理されたジオメトリ SOP

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Point Page 📍

Point 属性の削除 🗑️

Delete Attributes .ptdel
– 削除する point 属性をスペース区切りで列挙する文字列フィールド
– 右側のドロップダウンメニューから入力ジオメトリに存在する属性を選択することも可能
– パターン文字列が利用可能:

  • * — 全属性を削除
  • CdCd 属性のみ削除
  • Cd AlphaCdAlpha 両方を削除
  • a*a で始まる全属性を削除
  • ^CdCd 以外の全属性を削除

Point 属性のリネーム 🔤

Point Rename .pt 🔁
– Point 属性のリネーム指定をシーケンス (複数エントリ) で管理
– 1 つのリネーム指定は From AttributeTo Attribute のペアで構成される

From Attribute .pt0from 📥
– リネーム対象の元属性名を指定する文字列フィールド
– 右側のドロップダウンメニューから入力ジオメトリに存在する属性を選択可能

To Attribute .pt0to 📤
– リネーム後の新しい属性名を指定する文字列フィールド


Vertex Page 🔺

Vertex 属性の削除 🗑️

Delete Attributes .vertdel
– 削除する vertex 属性をスペース区切りで列挙する文字列フィールド (例: uv N)
– パターン文字列は Point Page の ptdel と同じ書式 (* / ^Cd 等) が使用可能
– 主に頂点ごとに保持される uv / N (vertex normals) 等の整理に使う

Vertex 属性のリネーム 🔤

Vertex Rename .vert 🔁
– Vertex 属性のリネーム指定をシーケンスで管理
– Point Rename と同じく From Attribute / To Attribute ペアで構成

From Attribute .vert0from 📥
– リネーム対象の元 vertex 属性名

To Attribute .vert0to 📤
– リネーム後の新しい vertex 属性名


Primitive Page 🔷

Primitive 属性の削除 🗑️

Delete Attributes .primdel
– 削除する primitive 属性をスペース区切りで列挙する文字列フィールド (例: Cd creaseweight)
– Point / Vertex Page と同じパターン書式 (* / a* / ^Cd) に対応
– 全タイプのジオメトリを受け付ける (ポリゴン / NURBS / メタボール 等)

Primitive 属性のリネーム 🔤

Prim Rename .prim 🔁
– Primitive 属性のリネーム指定をシーケンスで管理

From Attribute .prim0from 📥
– リネーム対象の元 primitive 属性名

To Attribute .prim0to 📤
– リネーム後の新しい primitive 属性名


Detail Page 📋

Detail 属性の削除 🗑️

Delete Attributes .attrdel
– 削除する detail (geometry 全体に 1 つだけ存在する) 属性をスペース区切りで列挙
– パターン書式は Point Page と同様
pCaptPath / pCaptData はここで管理される (削除時の triad 保持に注意)

Detail 属性のリネーム 🔤

Detail Rename .attr 🔁
– Detail 属性のリネーム指定をシーケンスで管理

From Attribute .attr0from 📥
– リネーム対象の元 detail 属性名

To Attribute .attr0to 📤
– リネーム後の新しい detail 属性名


実践アイデア 💡

Example 1: Alembic 取り込みジオメトリの不要属性削除 🧹

Alembic SOP → Attribute SOP (ptdel=Cd Alpha) → Geometry COMP → Render TOP

外部 DCC ツール (Maya / Houdini 等) から Alembic 経由で取り込んだジオメトリには不要な頂点カラー (Cd) やアルファ (Alpha) が残りがちです。Attribute SOP の Point Page でまとめて削除し、レンダリング用にスリムな属性構成へ整えます。

  1. Alembic SOP.abc ファイルを読込
  2. Attribute SOP を接続し Point Page の Delete AttributesCd Alpha と入力
  3. 下流の Geometry COMP / Render TOP で属性が消えていることを確認
  4. 必要に応じて Vertex Page / Primitive Page でも余分な属性を削除

Example 2: UV 属性のリネームによる MAT 互換性確保 🏷️

入力 SOP → Attribute SOP (vert: uv → texCoord) → MAT (texCoord 期待) → Render TOP

下流の MAT (シェーダ) が texCoord という名前で UV 属性を参照する設計になっている場合、Attribute SOP の Vertex Page で uvtexCoord にリネームすれば、ジオメトリ側を作り直さずに名前空間を揃えられます。

  1. ジオメトリ SOP に Attribute SOP を接続
  2. Vertex Page の Vertex Rename シーケンスに 1 エントリ追加
  3. From AttributeuvTo AttributetexCoord を入力
  4. 下流の MAT で texCoord を参照させ、テクスチャがマップされることを確認

Example 3: Capture/Deform 属性の安全な保持 🦴

Capture SOP → Attribute SOP (^pCapt pCaptPath pCaptData を保持) → Deform SOP → Geometry COMP

Capture SOP で生成された pCapt / pCaptPath / pCaptData のキャプチャ属性 triad を維持したまま、その他の不要属性だけを除去する例。triad を 1 つでも欠かすと Deform SOP がエラーを返すため、ネガティブパターン (^...) で除外指定するのが安全です。

  1. Capture SOP 後段に Attribute SOP を配置
  2. Point Page の Delete Attributes^pCapt と入力 (pCapt 以外を全削除)
  3. Detail Page の Delete Attributes^pCaptPath ^pCaptData と入力
  4. Deform SOP を後段に置き、エラーなく変形が反映されることを確認

関連オペレータ 🔗

類似機能OP 🔍

組み合わせ推奨OP 🔄

  • Capture SOP — pCapt / pCaptPath / pCaptData 属性 triad を生成
  • Deform SOP — Capture 属性に基づいてジオメトリを変形 (triad 必須)
  • Alembic SOP — 外部から取り込んだ属性を Attribute SOP で整理する前段
  • Sort SOP — リネーム後の属性順序を整える後段処理

前処理・後処理SOP 🎯


Info CHOP情報 📊

Attribute SOP は Info CHOP による詳細情報取得に対応しています。

ジオメトリ統計 📐

  • num_points: この SOP に含まれるポイント数
  • num_prims: この SOP に含まれるプリミティブ数
  • num_particles: この SOP に含まれるパーティクル数

GPU 転送タイミング 🎮

  • last_vbo_update_time: 別スレッドで SOP の CPU データを GPU 上のジオメトリデータに更新するのにかかった時間 (フレーム時間外)
  • last_meta_vbo_update_time: 別スレッドで metaball や NURBS のようなメタサーフェスジオメトリデータを GPU に更新するのにかかった時間 (フレーム時間外)

汎用オペレータ情報 🔄

  • total_cooks: プロセス開始以降にこのオペレータがクックされた合計回数
  • cook_time: 直近のクック所要時間 (ミリ秒)
  • cook_frame: このオペレータが最後にクックされたフレーム番号
  • warnings: このオペレータの警告数
  • errors: このオペレータのエラー数

クック統計 ⏱️

  • total_cooks: total_cooks — プロセス開始以降にこのオペレータがクックされた合計回数
  • cook_time: cook_time — 直近のクック所要時間 (ミリ秒)
  • cook_frame: cook_frame — このオペレータが最後にクックされたフレーム番号

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

よくある問題と解決策 🔧

❌ Problem: Delete Attributes に名前を入れても属性が消えない
✅ Solution:

  • 属性が想定したカテゴリ (Point / Vertex / Primitive / Detail) に存在するか Info DAT 等で確認 (例: uv は通常 Vertex 属性、Point Page で消そうとしても効かない)
  • 属性名のスペル・大文字小文字を正確に入力 (Cdcd は別属性扱い)
  • 右側のドロップダウンメニューから選択し直してパターン解釈ミスを避ける

❌ Problem: Capture / Deform 後段でエラーが出る
✅ Solution:

  • pCapt (Point) / pCaptPath (Detail) / pCaptData (Detail) の 3 属性は必ず全て保持するか全て削除する (triad 依存)
  • 他属性を消したいときはネガティブパターン (^pCapt 等) を使い、triad だけ確実に残す
  • 後段に Deform SOP を置く前に Attribute SOP の出力を Info DAT で確認

❌ Problem: Rename が反映されない / シーケンスのエントリ追加方法がわからない
✅ Solution:

  • Point Rename / Vertex Rename 等の右にある + ボタンでシーケンスエントリを追加
  • From Attribute に元の属性名、To Attribute に新しい属性名を両方とも記入 (片方空だと無効)
  • リネーム対象の属性がそのページのカテゴリに本当に存在するか Info DAT で確認

❌ Problem: パターン文字列が期待通り動作しない
✅ Solution:

  • * は全属性、a*a で始まる属性、^CdCd 以外、というルールを確認
  • 複数パターンはスペース区切りで列挙 (例: Cd Alpha N)
  • 右側ドロップダウンから個別選択する方が確実なケースもある

参考資料 📚

その他 🔗

公式リソース 📖

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