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

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

Superquad SOP の球から角形まで連続変形する形状生成機能を示す図

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

概要 📖 – 球から角形まで連続変形する形状生成

Superquad SOPは、指数パラメータで球から角丸立方体まで連続的に変形する超二次曲面プリミティブを生成する SOPです。XY Exponent と Z Exponent を変えるだけで球・円柱・角丸立方体・八面体までを 1 ノードで連続的に作り分けられ、入力 SOP を接続すればそのバウンディングに合わせた形状としても動作します。

主な用途 🎯

  • 球から角丸立方体まで連続変形する形状の生成(XY Exponent / Z Exponent で膨張・収縮を制御)
  • 有機的な丸みを帯びたプリミティブを 1 ノードで作り、後段の Deform / Render に渡す
  • 入力ジオメトリのバウンディングに合わせた超二次曲面の生成 (Modify Bounds)
  • Rows / Columns によるメッシュ解像度の調整で、後段の Noise / Twist の頂点密度を確保
  • Cusp Polygons による面取り表現で、滑らかな曲面と角ばった面を切り替え

データフロー 🔄

入力 (オプション): バウンディング元 SOP

Primitive Type / Radius / Center で基本形状と寸法・位置を決定

XY Exponent / Z Exponent で膨張・収縮を調整

Rows / Columns でメッシュ分割

出力: 超二次曲面のメッシュ SOP

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Superquad Page 📁

Primitive Type .type 🧱

Primitive Type (生成する形状の種類) — 生成する超二次曲面の形状タイプを選びます。タイプによっては一部のパラメータが無効になります。

項目 内部名 説明
Mesh .mesh メッシュ (面の集合) として超二次曲面を生成

Connectivity .surftype 🕸️

Connectivity (面の構成方法) — Mesh タイプ選択時に、面をどのように構成するかを選びます。

項目 内部名 説明
Rows .rows 横方向のライン (行) で構成
Columns .cols 縦方向のライン (列) で構成
Rows and Columns .rowcol 行と列の両方で構成。ワイヤーフレーム表示では四角形に見えるが、ポリゴンはすべて開いた状態
Triangles .triangles 三角形でグリッドを構成
Quadrilaterals .quads 四辺形で側面を構成 (デフォルト)
Alternating Triangles .alttriangles 向きを交互にした三角形で構成 (Triangles に類似)

バウンディング入力関連パラメータ 📐

Modify Bounds .modifybounds 🔧
Modify Bounds (境界の変更) — 入力 SOP が接続されているときのみ有効
– オンにすると下記の Transform 系パラメータ (Radius / Center 等) で超二次曲面の境界の位置・半径をさらに修正できる

Radius / Center 関連パラメータ 🎯

Radius .rad 📏
Radius (全体の半径) — 超二次曲面の全体的な半径を X / Y / Z それぞれの軸で指定
– 3 軸の値を変えると、つぶれた / 引き伸ばした形状になる

Center .t 📍
Center (中心位置) — オブジェクト中心から見た超二次曲面の中心オフセットを X / Y / Z 座標で指定

Anchor 関連パラメータ ⚓

Reverse Anchors .reverseanchors ↔️
Reverse Anchors (アンカーの反転) — Anchor U / V / W の方向を反転させる

Anchor U .anchoru 📍
Anchor U (X 方向の基準点) — X 方向で位置・スケール・回転の基準となるアンカー位置を指定

Anchor V .anchorv 📍
Anchor V (Y 方向の基準点) — Y 方向で位置・スケール・回転の基準となるアンカー位置を指定

Anchor W .anchorw 📍
Anchor W (Z 方向の基準点) — Z 方向で位置・スケール・回転の基準となるアンカー位置を指定

Orientation .orient 🧭

Orientation (極軸の向き) — 超二次曲面 (iso surface) の極となる軸を選びます。

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

メッシュ解像度関連パラメータ 🔢

Rows .rows 📊
Rows (行数) — 超二次曲面に使う行 (横方向の分割) の数
– 値を増やすほど曲面が滑らかになり、後段の変形処理の解像度も上がる

Columns .cols 📊
Columns (列数) — 超二次曲面に使う列 (縦方向の分割) の数
– Rows と組み合わせてメッシュ全体の頂点密度を決める

Exponent 関連パラメータ ✨

XY Exponent .expxy 🔀
XY Exponent (XY 指数) — X 軸と Y 軸方向の膨張 / 収縮を決める指数
– 小さい値で角張った形、大きい値で丸い形になり、球と角丸立方体の間を連続的に変化させる

Z Exponent .expz 🔀
Z Exponent (Z 指数) — Z 軸方向の膨張 / 収縮を決める指数
– 指数の扱いについては Metaball SOP の説明も参照
– XY Exponent と独立に設定でき、軸ごとに角丸具合を変えられる

Cusp / 極点関連パラメータ 📐

Multiple Points per Pole .upole 🔘
Multiple Points per Pole (極ごとの複数点) — 極にあるポイントを共有するか、列ごとに個別に持つかを決める

Cusp Polygons .cusp 🪓
Cusp Polygons (ポリゴンの面取り) — ポイントを個別化して超二次曲面を面取り (ファセット) 状にする

Cusp Angle .angle 📐
Cusp Angle (面取り角度) — 頂点を共有するかどうかを判定する角度 (度数)、面取りの度合いを決める

Texture Coordinates .texture 🎨

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

項目 内部名 説明
Off .off 曲面に UV 座標を追加しない
Row & Columns .rowcol 行・列に沿った頂点 UV 座標を追加

法線関連パラメータ 🧮

Compute Normals .normals 🧮
Compute Normals (法線の計算) — ジオメトリ上に法線ベクトルを生成する
– レンダリングでライティングを正しく評価するために必要


実践アイデア 💡

Example 1: 指数で球と角形を作分け 🔵

Superquad SOP (XY Exponent / Z Exponent を可変) → Geometry COMP → Render TOP

Superquad SOP 単体で XY Exponent と Z Exponent を動かし、球・円柱・角丸立方体・八面体までを 1 ノードで連続的に作り分ける基本構成。プリミティブの動作確認やフォルム探索の起点として使うパターン。

  1. Superquad SOP を配置し Radius を 1, 1, 1 に設定
  2. XY Exponent を 1.0 にして球状の基本形を確認
  3. XY Exponent / Z Exponent を 0.3〜3.0 の範囲で動かし、角張った形と丸い形の変化を観察
  4. Compute Normals をオンにしてライティング用法線を有効化
  5. Geometry COMP に接続し、Camera COMP / Light COMP / Render TOP でレンダリング結果を確認

Example 2: 高解像度化して変形 🌊

Superquad SOP (Rows=40, Columns=40) → Noise SOP → Geometry COMP

Superquad SOP の Rows / Columns を上げて滑らかな超二次曲面を作り、後段の Noise SOP で頂点を変位させて有機的なフォルムを得るプロシージャル変形パターン。メッシュ解像度が変形ディテールの細かさを決める。

  1. Superquad SOP を配置し Rows / Columns を 40, 40 等に設定して曲面を細かくする
  2. XY Exponent を 1.5 程度にして丸みを帯びた基本形を作る
  3. Noise SOP を後段に接続し Amplitude / Frequency で変形量を調整
  4. Geometry COMP に接続して変形結果を確認

Example 3: 面取りで結晶風の形状 💎

Superquad SOP (Cusp Polygons=ON, Cusp Angle 調整) → Wireframe MAT → Geometry COMP

Superquad SOP の Cusp Polygons をオンにし Cusp Angle を調整して、滑らかな曲面ではなく面取りされたファセット形状を生成する。ローポリ調や結晶のような硬質な見た目を狙う用途に向く。

  1. Superquad SOP を配置し XY Exponent を 0.5 程度にしてやや角張った形にする
  2. Cusp Polygons をオンに切り替えてポイントを個別化
  3. Cusp Angle を調整して面取りの度合い (どの頂点を分けるか) を決める
  4. Wireframe MAT を割り当てて Geometry COMP に接続し、ファセットの構成を確認

関連オペレータ 🔗

類似機能OP 🔍

  • Sphere SOP — 球プリミティブを生成 (Superquad の指数 1.0 相当の基礎形状)
  • Box SOP — 立方体・直方体プリミティブ (Superquad の角張った極相当)
  • Tube SOP — 円柱・円錐プリミティブ (基礎形状 SOP)
  • Metaball SOP — 指数で形状を制御する陰関数曲面 (Z Exponent の説明で参照される SOP)

組み合わせ推奨OP 🔄

  • Transform SOP — Superquad の出力にさらに移動・回転・スケールを掛ける
  • Copy SOP — 超二次曲面を複製してパターン状に並べる
  • Noise SOP — 高解像度メッシュの頂点をノイズで変位させて有機的に変形
  • Geometry COMP — Superquad の出力をレンダリングパイプラインに投入

前処理・後処理SOP 🎯


Info CHOP情報 📊

Superquad 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: 指数を変えても形が思ったように変わらない
✅ Solution:

  • XY Exponent は X / Y 軸、Z Exponent は Z 軸を独立して制御するため、両方を確認して調整する
  • 指数が小さすぎると面が破綻して見えにくくなるため、まず 1.0 付近を基準に少しずつ動かす
  • Radius の 3 軸の値が極端に偏っていると指数の効果が分かりにくくなるため、まず均等な値で確認する

❌ Problem: 曲面がカクついて見える / 滑らかにならない
✅ Solution:

  • Rows / Columns の値を増やしてメッシュ解像度を上げる
  • Cusp Polygons がオンになっていると面取り表示になるため、滑らかにしたい場合はオフに戻す
  • Compute Normals をオンにして法線を生成し、ライティングのシェーディングを滑らかにする

❌ Problem: Modify Bounds が効かない
✅ Solution:

  • Modify Bounds は入力 SOP が接続されているときのみ有効になる仕様 — input1 にバウンディング元 SOP を接続しているか確認
  • 入力 SOP のポイント数が 0 の場合バウンディングが取得できないため、上流の SOP がジオメトリを出力しているか確認
  • 境界に合わせず単独の形状として使いたい場合は入力を外し、Radius / Center を直接指定する

❌ Problem: 後段の Point / Attribute 操作で極のポイントが重複する
✅ Solution:

  • Multiple Points per Pole がオンだと極ごとに列分のポイントが個別に作られる仕様
  • 極のポイントを 1 点に共有したい場合は Multiple Points per Pole をオフに切り替える
  • 近接した重複点をまとめたい場合は下流に Facet SOP を置き、Consolidate 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をコピーしました