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

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

Polyloft SOP の断面接続機能を示す図

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

概要 📖 – 断面をつないで面を張る

Polyloft SOPは、複数の断面となる面や点群を縫い合わせて、一枚のポリゴン面を張る SOPです。輪切り状の曲線を並べて筒や帯のような形状を作る、ロフト(lofting)と呼ばれる手法を担当します。

主な用途 🎯

  • 複数の断面となる曲線をつないで一枚のポリゴン面を生成
  • 点群の集合を断面ごとに縫い合わせて立体形状を構築
  • 輪切り形状からトンネル・パイプ・筒状ジオメトリを作成
  • 向きや開始点がバラついた断面でも近接点から自動でつなぐ
  • 頂点アニメーションの土台となる中間メッシュの生成

データフロー 🔄

入力: 複数の断面(面または点グループ)

縫い合わせ処理(隣り合う断面の頂点を三角形で接続)

出力: つながった一枚のポリゴンメッシュ

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Polyloft Page 📋

縫い合わせ設定 🧵

Connect Closest Ends .proximity 🔗
Connect Closest Ends (近い端点から接続) — 最も近い 2 点から縫い始め、断面の向きや開始頂点がバラバラでも自動でそろえて接続します。
– 断面の並び順を手で整えなくても、きれいにつながりやすくなります。

Consolidate Points .consolidate 🔧
Consolidate Points (点の統合) — 縫い合わせる前に、近すぎる点同士をひとつにまとめます。
– 断面の境目で点が重なってできる不要な三角形を減らせます。

Distance .dist 📏
Distance (許容距離) — 点を統合するかどうかを判定するしきい値の距離です。
– この距離より近い点同士が、ひとつの点にまとめられます。

Minimize .minimize 📐

Minimize (距離の最小化方式) — どの距離を最小にするように頂点をつなぐかを選びます。

項目 内部名 説明
2-Point Distance .point2 2 点間の距離を基準につなぐ標準の方式 (デフォルト)
3-Point Distance .point3 3 点間の距離を基準につなぐ方式。面の交差を避けやすくなります

U Wrap .closeu 🔄

U Wrap (U方向で閉じる) — 各断面そのものを輪のように閉じるかどうかを選びます。

項目 内部名 説明
Off .nonewu 断面を閉じない (帯状のまま)
On .wu 各断面の最後と最初をつないで輪状に閉じる

V Wrap .closev 🔁

V Wrap (V方向で閉じる) — 最初の断面と最後の断面をつなぐかどうかを選びます。

項目 内部名 説明
Off .nonewv 両端の断面をつながない (筒の口が開いたまま)
On .wv 最初と最後の断面をつないでループ状にする

Method .method 🎛️

Method (縫い合わせ方式) — どの単位で断面を縫い合わせるかを選びます。

項目 内部名 説明
Faces .faces 面 (face) の集合を、それぞれの制御頂点でつないで縫い合わせる
Points .points 点の集合を断面とみなして縫い合わせる

グループ設定 🏷️

Create Polygon Group .creategroup
Create Polygon Group (ポリゴングループを作成) — 生成された三角形をひとつのグループにまとめます。
– 後段で生成面だけを選んで処理したいときに役立ちます。

Name .polygroup 🔤
Name (グループ名) — 上の Create Polygon Group を On にしたとき、作成するグループの名前を指定します。

入力と保持 📥

Group .group 🎯
Group (対象グループ) — ロフトの対象とする面の一部だけを絞り込みます。
– 空欄のときは入力されたすべての面が対象になります。

Keep Primitives .prim 📦
Keep Primitives (断面を保持) — 縫い合わせた後も、元の断面形状を残します。
– 生成面と元の断面を同時に表示したいときに使います。

点グループ指定 🔢

MethodPoints にしたとき、断面となる点グループの並びを指定します:

  • Point Group: point — 縫い合わせる点グループの並びを指定します
  • Point Group: point0group — 各断面となる点グループそのものを指定します

実践アイデア 💡

Example 1: 輪切り曲線から筒を作る 🛢️

Circle SOP → Transform SOP (複製で高さ違い) → Merge SOP → Polyloft SOP (V Wrap On)

高さ違いに並べた複数の円を Polyloft SOP で縫い合わせ、パイプや筒のような立体を作る基本フロー。V Wrap を On にすると上下の断面もつながり閉じた形状になります。

  1. Circle SOP で断面となる円を作成し、高さを変えて複数並べる
  2. Merge SOP で断面をひとつにまとめる
  3. Polyloft SOP に通して断面同士を縫い合わせる
  4. V Wrap を On にして両端をつなぎ、閉じた筒形状にする

Example 2: 点群を断面として縫う 🧵

Add SOP (点群) → Polyloft SOP (Method=Points) → Facet SOP

面ではなく点の集合を断面として扱い、Method を Points に設定して縫い合わせる例。スキャンデータやセンサー由来の点列から面を起こす用途に向いています。

  • 断面ごとの点グループを用意し Method を Points に設定
  • Point Group の並びで縫い合わせる順序を指定して面を生成

Example 3: 向きがバラついた断面の接続 🔗

Line SOP (複数) → Merge SOP → Polyloft SOP (Connect Closest Ends On)

開始点や向きがそろっていない複数の曲線を Connect Closest Ends で自動的に近い端点から接続し、ねじれを抑えて面を張る例。手作業で断面をそろえる手間を減らせます。

  • 向きの異なる複数の Line SOP を Merge SOP でまとめる
  • Connect Closest Ends を On にして近い点から縫い始める

Example 4: 重なり点をまとめて軽量化 🔧

Polyloft SOP (Consolidate Points On) → Polyreduce SOP

断面の境目で点が密集してしまう場合に Consolidate Points と Distance を使って近接点を統合し、無駄な三角形を減らして軽い面を生成する例。

  • Consolidate Points を On にし Distance で統合範囲を調整
  • 後段でさらにポリゴン数を削減したいときは Polyreduce SOP を組み合わせる

関連オペレータ 🔗

類似機能OP 🔍

  • Skin SOP — 断面となる曲線群に曲面 (skin) を張る SOP。Polyloft がポリゴン面で縫うのに対し、Skin は滑らかなサーフェスを生成
  • Bridge SOP — 2 つの面の境界をつないで橋渡しする SOP。穴あき形状の縁同士を接続する用途で近い役割
  • Polystitch SOP — 隣り合うサーフェスの境界を縫い合わせて隙間を埋める SOP。継ぎ目処理という点で機能が近い

組み合わせ推奨OP 🔄

  • Line SOP — 断面となる直線・曲線を前段で生成して Polyloft に渡す
  • Circle SOP — 輪切り状の円を断面として並べ、筒やパイプを作る土台にする
  • Convert SOP — 曲線の種類をそろえ、Polyloft が扱える形式に整える前処理
  • Facet SOP — 縫い合わせた面の法線や頂点を整え、表示や陰影を整える後処理

前処理・後処理SOP 🎯


Info情報 📊

Polyloft SOP は SOP 共通の情報チャンネルを通じて、ジオメトリの統計や状態を取得できます。

ジオメトリ統計 📐

  • num_points: この SOP に含まれるポイント数
  • num_prims: この SOP に含まれるプリミティブ数
  • num_particles: この SOP に含まれるパーティクル数
  • num_vertices: 出力ジオメトリの総頂点数

GPU 転送タイミング 🎮

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

汎用オペレータ情報 🔄

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

クック統計 ⏱️

  • cook_time: 直近のクックに要した時間 (ミリ秒)
  • total_cooks: このオペレータがクックされた累計回数

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

よくある問題と解決策 🔧

❌ Problem: 断面がねじれてつながる
✅ Solution:

  • Connect Closest Ends を On にして近い端点から縫い始める
  • 前段で各断面の開始点と向きを Sort SOP 等でそろえる
  • Minimize3-Point Distance にして交差を避ける

❌ Problem: 面が張られない・隙間ができる
✅ Solution:

  • Method が入力 (面か点か) と合っているか確認
  • 断面の数が 2 つ以上あり、順番どおりに並んでいるか確認
  • 点を断面に使う場合は Point Group の並びが正しいか確認

❌ Problem: 境目に余分な三角形ができる
✅ Solution:

  • Consolidate Points を On にして近接点を統合
  • Distance を上げて統合範囲を広げる
  • 後段で Facet SOP を使い重複点を整理

参考資料 📚

その他 🔗

公式リソース 📖

関連オペレータ 🔗

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