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

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

Twist SOP の軸まわり非線形変形機能を示す図

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

概要 📖 – 軸まわりに非線形変形

Twist SOPは、入力ジオメトリを軸まわりにねじり・湾曲・テーパー・スカッシュなど非線形に変形させる SOPです。ねじり・曲げ・先細り・押しつぶしといった非線形の変形を 1 ノードで適用でき、効果を確認するにはメッシュのエッジ方向に十分な分割があることが重要です。

主な用途 🎯

  • 軸を中心にメッシュをねじる (Twist) 表現 — 角柱や帯状ジオメトリをドリル・キャンディのように回転変形させる
  • 軸に沿ってメッシュを湾曲させる (Bend) 表現 — 真っ直ぐなオブジェクトを弓なり・チューブ状に曲げる
  • テーパー (Taper / Linear Taper) で先細り形状を作る — 円柱の片端を細くしてコーンやくさび形に整形
  • スカッシュ&ストレッチで弾むような誇張変形 — アニメーション定番の押しつぶし・引き伸ばし表現を 1 ノードで実現
  • シア (Shear) で軸方向に傾ける平行変形 — メッシュ全体を斜めにスライドさせて動きの溜めを作る

データフロー 🔄

入力 0: 変形対象ジオメトリ

Operation で変形の種類を選択

Primary Axis / Secondary Axis / Pivot で向きと基点を決定

Strength / Rolloff で強さと減衰を調整

出力: 非線形変形後のジオメトリ SOP

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Page 📁

対象グループ絞り込み 🎯

Group .group 🎯
Group (対象グループ) — 入力にグループがある場合、ここでグループ名を指定するとそのグループのみを変形対象にします
– 空欄の場合は入力全体が変形対象になる
*[1-10] 等の Pattern Matching 記法が使える

変形の種類 .op 🎛️

Operation (変形の種類) — 適用する非線形変形の種類を選びます。以下から選択:

項目 内部名 説明
Twist .twist Twist (ねじり) — 入力ジオメトリを Primary Axis まわりに回転させてねじる
Bend .bend Bend (曲げ) — Secondary Axis 上の点を固定したまま Primary Axis まわりに入力を湾曲させる
Shear .shear Shear (せん断) — Primary Axis を見下ろす向きで Secondary Axis に沿って入力を平行にずらす
Taper .taper Taper (先細り) — Primary Axis を見下ろす向きで Secondary Axis に沿って入力を先細りさせる
Linear Taper .ltaper Linear Taper (直線先細り) — Taper と同様に先細りさせるが、エッジが直線のまま保たれる
Squash & Stretch .squash Squash & Stretch (押しつぶし&引き伸ばし) — アニメーション定番の弾むような誇張変形ツール

主軸 .paxis 🧭

Primary Axis (主軸) — 変形が最初に起こる軸を選びます。変形は主軸で先に発生し、その後で副軸に及びます。以下から選択:

項目 内部名 説明
X Axis .x X Axis (X 軸) — 変形の主軸として X 軸を使用
Y Axis .y Y Axis (Y 軸) — 変形の主軸として Y 軸を使用
Z Axis .z Z Axis (Z 軸) — 変形の主軸として Z 軸を使用

副軸 .saxis 🧭

Secondary Axis (副軸) — 主軸の後に変形が及ぶ軸を選びます。Bend / Shear / Taper では副軸が変形の方向を決める基準になります。以下から選択:

項目 内部名 説明
X Axis .x X Axis (X 軸) — 変形の副軸として X 軸を使用
Y Axis .y Y Axis (Y 軸) — 変形の副軸として Y 軸を使用
Z Axis .z Z Axis (Z 軸) — 変形の副軸として Z 軸を使用

変形の基点 .p 📍

Pivot .p 📍
Pivot (変形の基点) — 変形の原点となる座標を指定します
– 内部成分: X (px) / Y (py) / Z (pz)
– オブジェクトの中心とは異なる位置に基点を置くことで変形のコントロール性が高まる (例: 押しつぶし時は基点を底面に置く)

  • X (px) — 基点の X 座標
  • Y (py) — 基点の Y 座標
  • Z (pz) — 基点の Z 座標

変形の強さ .strength 💪

Strength .strength 💪
Strength (変形の強さ) — 適用する効果の強さです。Operation の種類によって意味が変わります
– Bend では端部の曲がり具合 (0.5 程度が目安)、Twist ではねじり量、Shear ではずれ量、Taper では先細りの膨らみ方向を制御する
– Squash & Stretch では元の体積感を保ちながら押しつぶし量を決める

減衰の効き方 .roll 📉

Rolloff .roll 📉
Rolloff (減衰の効き方) — 効果がジオメトリの範囲にどう広がるかを決めます
– 通常は 1 で効果がジオメトリ全体に均等に広がる。1 より大きいと同じ範囲内で効果が複数回繰り返される
– 0 にすると効果が中心の狭い範囲に局所化し、Strength が正しく効かなくなることがある


実践アイデア 💡

Example 1: 角柱をねじる基本変形 🌀

Box SOP → Subdivide SOP → Twist SOP (Operation: Twist) → 出力

細長い角柱メッシュを十分に分割したうえで Twist SOP の Twist モードに通し、Primary Axis まわりに回転させてドリルやキャンディのようにねじる基本フローです。分割数が足りないとねじりが現れないため前段で細分化します。

  1. Box SOP で細長い角柱を作り入力 0 に接続
  2. Subdivide SOP でエッジ方向の分割数を増やす
  3. Twist SOP の OperationTwist に設定
  4. Primary Axis を角柱の長手方向の軸に合わせる
  5. Strength を上げてねじり量を調整、Rolloff を 1 前後にして全体に均等にねじりを広げる

Example 2: チューブを弓なりに曲げる 🏹

Tube SOP → Twist SOP (Operation: Bend) → 出力

真っ直ぐなチューブメッシュを Twist SOP の Bend モードで湾曲させ、弓なり・パイプの曲がりのような形状を作る例です。Secondary Axis 上の点を固定したまま Primary Axis まわりに曲げるため、曲げの向きは 2 つの軸の組み合わせで決まります。

  1. Tube SOP で長さ方向に分割の多いチューブを作る
  2. Twist SOP の OperationBend に設定
  3. Primary AxisSecondary Axis を曲げたい平面に合わせて選ぶ
  4. Strength を 0.5 程度から調整して曲がり具合を決める
  5. Pivot をチューブの端に寄せると片持ち梁のような曲げ表現になる

Example 3: CHOPで弾む押しつぶし 🔄

Sphere SOP → Twist SOP (Operation: Squash & Stretch) ← CHOP to (Strength) → Geometry COMP

球メッシュに Twist SOP の Squash & Stretch を適用し、LFO CHOP 等の信号を Strength パラメータにエクスポートして弾むような押しつぶし・引き伸ばしをアニメーションさせる構成です。VJ ライブのバウンス表現に向きます。

  1. Sphere SOP を入力 0 に接続
  2. Twist SOP の OperationSquash & Stretch に設定
  3. Pivot を球の底面に移動して接地したバウンス感を出す
  4. LFO CHOP / Noise CHOP の出力を Strength パラメータにエクスポートして時間変化させる
  5. 出力を Geometry COMP に流してレンダリング

関連オペレータ 🔗

類似機能OP 🔍

  • Lattice SOP — 格子点や任意点群の変位でメッシュを自由変形 (FFD) する。より自由度の高い変形が必要なとき
  • Magnet SOP — 別ジオメトリで点群を磁力的に引き寄せる局所変形。つまみ出し的な変形に使う
  • Deform SOP — Capture のウェイトと Bone 階層を使ったスケルタル変形。骨で動かしたいときの代替

組み合わせ推奨OP 🔄

  • Subdivide SOP — 前段でエッジ分割を増やし、ねじり・曲げが滑らかに現れるようにする
  • Transform SOP — 変形後のジオメトリを回転・移動・拡大して最終配置を整える
  • Copy SOP — ねじったジオメトリを複製・配列して反復パターンを作る
  • Geometry COMP — Twist SOP の変形後ジオメトリをレンダリングパイプラインへ流す

前処理・後処理SOP 🎯


Info CHOP情報 📊

Twist 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:

  • 前段に Subdivide SOP を入れてエッジ方向の分割数を増やす
  • Strength の値を上げて効果の強さを確認
  • Rolloff が 0 になっていないか確認 (0 だと効果が中心に局所化する)

❌ Problem: ねじり・曲げの向きが意図と違う
✅ Solution:

  • Primary AxisSecondary Axis の組み合わせを変形させたい平面に合わせて選び直す
  • Pivot の X / Y / Z を変形の基点にしたい位置へ移動する
  • 前段に Transform SOP を入れてメッシュの向きを整えてから変形をかける

❌ Problem: メッシュが破綻する・尖った変形になる
✅ Solution:

  • Strength を下げて変形量を抑える
  • ベースメッシュの分割を細かくしてから変形をかけ直す
  • 後段に 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をコピーしました