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

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

Line SOP の 2 点を結ぶ直線生成機能を示す図

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

概要 📖 – 2点を結ぶ直線を生成

Line SOPは、始点 Point A と終点 Point B の 2 点を結び、指定した数の頂点を持つ直線プリミティブを生成する基礎ジオメトリ SOPです。Number of Points で線上の頂点密度を制御でき、Sweep SOP のパスや Skin SOP の入力プロファイル、ラインアートのベースとして汎用的に活用されます。

主な用途 🎯

  • Sweep SOP の経路 (Path) としての利用で、断面プロファイルを線に沿って押し出して柱・パイプ・チューブ形状を 1 ノードから生成
  • Skin SOP の入力プロファイルとして、複数の線分をスタックして補間サーフェスを生成し、リボン・帯状ジオメトリを構築
  • パーティクル軌跡・トレイルの元データとして、線上の頂点を時間経過に沿って動かして軌跡を可視化
  • ガイドライン・補助線・座標軸表示として、シーン内の参照線・寸法線・チャートの軸を生成
  • 頂点を細分化してラインアートの素材として活用し、Number of Points で増やした頂点を Transform SOP で変位させて手書き風の曲線・有機的なラインに変換
  • Wireframe / 折れ線グラフのベース形状として、線分を複数組み合わせてチャート要素・配線図・回路図的な表現を構築

データフロー 🔄

入力: なし (source SOP)

Point A / Point B で始点と終点の座標を指定 + Number of Points で線上の頂点数を決定

Texture Coordinates で UV 生成を切替

出力: 2 点以上の頂点を持つ線分プリミティブ

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Page 📁

始点と終点の座標 .endpoints 📍

線分の両端を 3 次元空間内のどこに置くかを X / Y / Z 座標で指定するパラメータ群

Point A .pa 🅰️
Point A (始点) — 線分の始まりの位置を X / Y / Z (pax / pay / paz) のワールド座標で指定
– デフォルトは原点 (0, 0, 0)

Point B .pb 🅱️
Point B (終点) — 線分の終わりの位置を X / Y / Z (pbx / pby / pbz) のワールド座標で指定
Point A と同じ位置に設定すると長さ 0 の線になり、ビューポートに何も表示されなくなる点に注意

頂点数の設定 .points_count 🔢

線分を構成する頂点 (Point) の数を制御するパラメータ。後段で頂点を変位させる場合の解像度を決める

Number of Points .points 🔢
Number of Points (頂点数) — 線分を構成する頂点の総数
最小値は 2 (始点と終点のみ)、3 以上に設定すると始点と終点の間に等間隔で中間頂点が追加される
– Sweep SOP のパスや Transform SOP での頂点変位を行う場合は、1664 程度に増やしておくと曲げ・歪み表現が滑らかになる

テクスチャ座標 .texture 🖼️

線分の頂点に UV テクスチャ座標を付加するかを指定するメニューパラメータ

項目 内部名 説明
Off .off テクスチャ座標を生成しない。UV 属性なしの線分を出力する
Unit .unit (0, 1) のテクスチャ座標を各頂点に付加。テクスチャ貼付や Sweep SOP の UV 連動に必要

実践アイデア 💡

Example 1: Sweep のパスにする 🏛️

Circle SOP (断面プロファイル) → Sweep SOP ← Line SOP (パス) → Material SOP → Geometry COMP → Render TOP

Line SOP を Sweep SOP のパス入力として使う基本パターンです。Circle SOP で小さな断面プロファイルを作り、Line SOP の Point A → Point B を押し出し方向に設定すると、円形断面が直線に沿って押し出されて柱・パイプ・棒状ジオメトリが 1 パスで生成できます。Number of Points を増やしておけば後段で頂点を変位させて曲がったパイプにも変形できる、汎用性の高い構築フローです。

  1. Circle SOP を作成し、Radius を小さな値 (例 0.1) に設定して断面プロファイルにする
  2. Line SOP を作成し、Point A(0, 0, 0)Point B(0, 2, 0) に設定して縦方向の押し出しパスにする
  3. Number of Points16 に設定して、後段での曲げ変位に備える
  4. Sweep SOP を作成し、Circle SOP を 1 番入力 (Cross Section)、Line SOP を 2 番入力 (Backbone) に接続
  5. Material SOP / Geometry COMP / Render TOP に流して可視化

Example 2: 手書き風ラインアート ✍️

Line SOP (Number of Points=64) + Noise CHOP → Transform SOP (頂点変位) → Material SOP → Geometry COMP

Line SOP の Number of Points を 64 に増やし、Noise CHOP の出力を Transform SOP の頂点位置オフセットに流し込むと、まっすぐな直線が手書き風・有機的なラインアートに変形できます。Noise の周波数とアンプリチュードを調整することで、ふわふわしたカーブから稲妻のようなギザギザの線まで自在に作れる、ジェネレーティブグラフィックス頻出パターンです。

  1. Line SOP を作成し、Number of Points64 に設定して頂点を増やす
  2. Noise CHOP を作成し、64 サンプル分のノイズチャンネルを生成 (Translate の x / y / z 用に 3 チャンネル)
  3. Transform SOP の Point Transformations から Noise CHOP の出力を頂点座標オフセットに接続
  4. Texture CoordinatesUnit にしてテクスチャ貼付に対応
  5. Material SOP でラインの太さ・色を整え、Render TOP に流す

Example 3: Skin で帯状に補間 🎗️

Line SOP × 4 (Z 位置をずらす) → Merge SOP → Skin SOP → Material SOP → Geometry COMP

複数の Line SOP を異なる Z 位置で並べて Merge SOP でまとめ、Skin SOP に渡すと隣接する線分を補間したリボン状・帯状のサーフェスが生成されます。Z 方向に少しずつずらした線分を 4 本並べれば、流れるリボン・棚板・階段状のジオメトリが 1 パスで構築できる、サーフェス生成系の頻出パターンです。

  1. Line SOP を 4 本作成し、各 Point A / Point B の Z 座標を 0 / 0.5 / 1.0 / 1.5 のように少しずつずらす
  2. Merge SOP で 4 本の Line SOP をまとめる
  3. Skin SOP に接続し、線分間を補間してサーフェスを生成
  4. Material SOP で見た目を整え、Geometry COMP に組込んで Render TOP に流す

関連オペレータ 🔗

類似機能OP 🔍

  • Circle SOP — 2D 円・楕円・円弧プロファイル生成 (Line が直線、Circle が曲線)
  • Rectangle SOP — 矩形プロファイル生成 (Line が 1 本の線、Rectangle が 4 辺で囲まれた矩形)
  • Grid SOP — 格子状の線・面プロファイル生成 (Line が単一線、Grid が複数線を格子状に配置)
  • Add SOP — 個別頂点指定によるポリゴン・線生成 (Line が 2 点指定の直線、Add がより自由な多点指定)
  • Polyspline SOP — スプライン曲線プロファイル生成 (Line が直線専用、Polyspline が曲線専用)

組み合わせ推奨OP 🔄

  • Sweep SOP — Line をパス入力として断面プロファイルを線に沿って押し出し
  • Skin SOP — 複数 Line をスタックして補間サーフェスを生成
  • Transform SOP — Line 出力後の頂点位置変位 (Noise CHOP と組合せて有機的なラインに変形)
  • Resample SOP — Line の頂点を等間隔リサンプリングして分割数を後調整
  • Copy SOP — Line を多数コピー・分散配置して放射状・パターン状のラインアートを生成
  • Carve SOP — Line の一部区間を切り出し、Sweep のパスの一部分のみ使う用途
  • Trail SOP — Line の頂点位置の時間履歴を可視化して軌跡サーフェスに変換

前処理・後処理SOP 🎯


Info CHOP情報 📊

Line 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 — このオペレータが最後にクックされたフレーム番号
  • cooked_this_frame: cooked_this_frame — 当該フレームでクックされた場合は 1

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

よくある問題と解決策 🔧

❌ Problem: 線が表示されない
✅ Solution:

  • Point APoint B が同じ位置に設定されていないか確認 (両者が一致すると長さ 0 の線になり描画されない)
  • 出力を Geometry COMP に接続して Render TOP でレンダリングしているか確認
  • ビューポートのワイヤーフレーム / ライン表示が有効か確認 (線分プリミティブはワイヤーフレーム表示でのみ視認できることが多い)

❌ Problem: テクスチャを貼っても UV が反映されない
✅ Solution:

  • Texture CoordinatesOff になっていないか確認 (Off だと UV が生成されない)
  • Unit に設定すると (0, 1) の UV が頂点に付加され、テクスチャを線方向にマッピングできる
  • より複雑な UV マッピングが必要な場合は後段に Texture SOP を入れて UV を再生成

❌ Problem: Sweep SOP のパスとして使うと結果が階段状になる
✅ Solution:

  • Number of Points2 のままだと中間頂点がなく、パスを曲げても直線のままになる
  • Number of Points1664 程度に増やして頂点密度を上げる
  • 後段に Resample SOP を入れて等間隔リサンプリングし、Sweep の品質を整える

❌ Problem: Number of Points を増やしても見た目が変わらない
✅ Solution:

  • Line SOP 単体では中間頂点を追加しても見た目は同じ直線のため、変化を確認するには後段で頂点を変位させる処理が必要
  • Transform SOP / Noise CHOP / POP 系で頂点座標にオフセットをかけると、追加された中間頂点が個別に動いて曲線・有機的な形状に変化
  • Info CHOP を Line SOP に接続して num_points の値が変わっていることを確認 (値が反映されない場合はパラメータ更新が伝播していない)

参考資料 📚

その他 🔗

公式リソース 📖

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