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

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

Tube SOP の筒形状生成機能を示す図

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

概要 📖 – 筒・円錐形状を生成

Tube SOPは、中心軸まわりに上下の半径と高さを指定して円柱・円錐状のジオメトリを生成する SOPです。上下の半径を別々に設定できるため、円柱だけでなく円錐やじょうご形状も作成します。

主な用途 🎯

  • 円柱・パイプ形状のジオメトリ生成
  • 上下の半径を変えた円錐・じょうご形状の作成
  • 建築・プロダクトのモデリング用ベース形状
  • パーティクルやインスタンスの元になる単純形状の供給
  • 上下に穴の空いた中空シリンダーの作成

データフロー 🔄

入力: 任意の境界 SOP(省略可)

筒生成処理(半径・高さ・分割数の設定)

出力: 円柱・円錐ジオメトリ

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Tube Page 📋

Primitive Type .type 🎛️

生成する形状の種類を選ぶメニュー

項目 内部名 説明
Mesh .mesh ポリゴンメッシュとして生成
NURBS .nurbs NURBS スプラインサーフェスとして生成
Bezier .bezier Bezier スプラインサーフェスとして生成

Connectivity .surftype 🧩

Connectivity (面の張り方) — Mesh 種類のときに、面をどう構成するかを選びます。

項目 内部名 説明
Rows .rows 水平方向の線を生成
Columns .cols 垂直方向の線を生成
Rows and Columns .rowcol 行と列の両方。ワイヤーフレーム表示では四角形に見えるが各ポリゴンは開いた状態
Triangles .triangles 三角形で面を構成
Quadrilaterals .quads 四角形で側面を構成 (デフォルト)
Alternating Triangles .alttriangles 向きを互い違いにした三角形で構成

Orientation .orient 🧭

Orientation (向き) — 筒の長軸 (主軸) をどの座標軸に合わせるかを選びます。

項目 内部名 説明
X Axis .x X 軸を長軸にする
Y Axis .y Y 軸を長軸にする
Z Axis .z Z 軸を長軸にする

Rotate Order .rord 🔁

Rotate Order (回転順序) — X・Y・Z の回転を適用する順番を選びます。

項目 内部名 説明
Rx Ry Rz .xyz X→Y→Z の順で回転
Rx Rz Ry .xzy X→Z→Y の順で回転
Ry Rx Rz .yxz Y→X→Z の順で回転
Ry Rz Rx .yzx Y→Z→X の順で回転
Rz Rx Ry .zxy Z→X→Y の順で回転
Rz Ry Rx .zyx Z→Y→X の順で回転

形状の調整 📐

Orient Bounds .orientbounds 🧭
Orient Bounds (境界に向きを合わせる) — 境界用の入力 SOP が接続されているときのみ有効
– オンにすると、境界に使った入力 SOP の向きに合わせて筒を回転

Modify Bounds .modifybounds 📐
Modify Bounds (境界を調整) — 境界用の入力 SOP が接続されているときのみ有効
– オンにすると下のトランスフォーム項目で境界の位置・スケール・半径・高さをさらに調整可能

Center .t 📍
Center (中心位置) — オブジェクト原点からの筒の中心位置
– X・Y・Z (tx / ty / tz) の 3 つの値で指定

Rotate .r 🔄
Rotate (回転) — 筒を X・Y・Z 軸まわりに回転させる 3 つの値 (rx / ry / rz)

Radius .rad
Radius (半径) — 1 つ目の値が筒の上端の半径、2 つ目の値が下端の半径
– 上下で異なる半径にすると円錐・じょうご形状になります

Height .height 📏
Height (高さ) — 筒の高さ

Reverse Anchors .reverseanchors ↔️
Reverse Anchors (アンカー反転) — アンカーの方向を反転

Anchor U .anchoru
Anchor U (X 方向アンカー) — ジオメトリの位置・スケール・回転の基準となる X 方向の点を設定

Anchor V .anchorv
Anchor V (Y 方向アンカー) — ジオメトリの位置・スケール・回転の基準となる Y 方向の点を設定

Anchor W .anchorw
Anchor W (Z 方向アンカー) — ジオメトリの位置・スケール・回転の基準となる Z 方向の点を設定

Imperfect .imperfect 〰️
Imperfect (近似曲線) — Bezier と NURBS 種類のときのみ適用
– オンにすると近似的な非有理曲線、オフにすると正確な有理曲線になります


Detail Page 🔧

分割数と精度 🔢

Rows .rows 📊
Rows (行数) — 筒の行の数

Columns .cols 📊
Columns (列数) — 筒の列の数。多いほど円が滑らかになります

U Order .orderu 〰️
U Order (U 方向の次数) — スプラインサーフェス選択時に U 方向をこの次数で構築

V Order .orderv 〰️
V Order (V 方向の次数) — スプラインサーフェス選択時に V 方向をこの次数で構築

End Caps .cap 🧢
End Caps (端のフタ) — オンにすると筒の両端にフタ (面) を追加

Compute Normals .normals 🧮
Compute Normals (法線を計算) — オンにすると表面の法線を計算

Texture Coordinates .texture 🗺️

Texture Coordinates (UV 座標) — 表面に UV テクスチャ座標を追加するかを選びます。

項目 内部名 説明
Off .off UV 座標を追加しない
Row & Columns .rowcol 頂点ごとに UV 座標を追加

実践アイデア 💡

Example 1: パイプ・円柱モデルの作成 🛢️

Tube SOP → Transform SOP → Geometry COMP

Tube SOP の上下半径を同じ値にして円柱を作り、Transform SOP で配置を整えてシーンに並べる、パイプや柱などの基本モデリングフロー。

  1. Tube SOP を配置し Radius の上下を同じ値に設定
  2. Height で柱の長さを決定
  3. Columns を増やして円を滑らかに調整
  4. Transform SOP で位置と向きを整える

Example 2: 円錐・じょうご形状の生成 🔻

Tube SOP (上下で半径を変更) → Material SOP

Tube SOP の上端半径を 0 に近づけ下端半径を大きく取ることで円錐を作り、Material SOP でマテリアルを割り当てて表示する形状作成の例。

  • Tube SOP の Radius 上端を 0、下端を任意の値に設定
  • End Caps をオンにして底面を閉じる
  • Compute Normals をオンにして陰影を正しく表示

Example 3: インスタンスの元形状供給 ✨

Tube SOP → Copy SOP → 多数配置

Tube SOP で軽量な単純筒を作り、Copy SOP で多数のコピーを配置することでインスタンス表現の元形状として活用するフロー。

  • Tube SOP で低ポリゴンの筒を生成
  • Copy SOP で複数配置して繰り返し構造を作る

関連オペレータ 🔗

類似機能OP 🔍

  • Sphere SOP — 球形のプリミティブ形状を生成
  • Box SOP — 直方体のプリミティブ形状を生成
  • Torus SOP — ドーナツ形のプリミティブ形状を生成

組み合わせ推奨OP 🔄

  • Transform SOP — 生成した筒を移動・回転・スケール
  • Copy SOP — 筒を多数複製して配置
  • Material SOP — 筒にマテリアルを割り当て

前処理・後処理SOP 🎯


Info情報 📊

Tube SOP のジオメトリ情報は Info CHOP / Info DAT で取得します。

ジオメトリ統計 📐

  • 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: このオペレータのエラー数

クック統計 ⏱️

  • cook_time: 1 回のクックにかかった時間
  • total_cooks: 累計クック回数

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

よくある問題と解決策 🔧

❌ Problem: 円柱の側面がカクカクして見える
✅ Solution:

  • Detail Page の Columns の値を増やして円周の分割数を上げる
  • Compute Normals をオンにして表面の陰影を正しく計算

❌ Problem: 筒の両端が開いて中が見える
✅ Solution:

  • Detail Page の End Caps をオンにして両端にフタを追加
  • 前段で Circle SOP を使い別途フタを作る方法もあります

❌ Problem: 円錐にしたいのに円柱になる
✅ Solution:

  • Radius は上端・下端の 2 つの値を持つので、片方を 0 に近づける
  • 上下を入れ替えたい場合は Reverse Anchors や Orientation を見直す

参考資料 📚

その他 🔗

公式リソース 📖

関連記事 🔗

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