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

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

Creep SOP のソースをパスサーフェス上で這わせる機能を示す図

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

概要 📖 – ソースをパスサーフェス上で這わせる変形

Creep SOPは、Source 入力ジオメトリを Path 入力サーフェスの U/V/W 座標系に沿って這わせる (Creep) ように移動・回転・スケールする SOPです。Translate (tx/ty/tz) で Path 上の U/V/W 位置を、Rotate / Scale で各軸の回転・拡大率を指定でき、Reset Method (Fill path / Keep proportions) で Source 形状の初期配置方式を選択します。

主な用途 🎯

  • Source 入力ジオメトリを Path 入力サーフェスの U/V/W 座標系に沿って配置する (パス曲面上を「這う」ように移動)
  • テキスト・ロゴ・装飾形状をサーフェス上に貼り付ける (球・地形・自由曲面上での文字配置)
  • Translate (tx/ty/tz) を CHOP / Animation で駆動して Creep アニメーションを構築する (パス上を移動する演出)
  • Fill path モードで Source 形状を Path 全体に伸縮させる (パス全長・全幅に Source をフィット)
  • Keep proportions モードで歪み最小化したまま Source を Path に配置する (Source の縦横比を保ったまま初期化)

データフロー 🔄

入力: 第1入力 入力 SOP + 第2入力 Path SOP

Reset Method で初期 Translate/Rotate/Scale を確定

Translate (tx/ty/tz) でパス上の U/V/W 位置を指定

Rotate / Scale で姿勢調整

出力: パスサーフェス上に再配置・変形された Source ジオメトリ

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Page 📁

Reset 関連パラメータ 🔄

Reset .reset 🔄
– 下記 Reset Method パラメータに従って Creep の状態を初期化するトリガーボタン
– Source / Path の構成を変更した後に Translate/Rotate/Scale を再計算したいときに使う

Reset Method .resetmethod 🎛️

Source 入力をどう Translate / Rotate / Scale して初期配置するかを選択するメニューパラメータ

項目 内部名 説明
Fill path .fillpath Source ジオメトリが Path Input の全長・全幅にフィットするよう伸縮する値を計算し、下部 9 つの Transform フィールド (tx/ty/tz/rx/ry/rz/sx/sy/sz) に書き込む
Keep proportions .keepproportions Fill path と同様だが、Source 形状の歪みを最小化するよう Transform フィールドを初期化する (縦横比を保持)

Translate (t) .t 📍

Translate X .tx 📍
– Source Input の Creep ジオメトリを Path Input サーフェスの U パラメータに沿って移動
– パス上の進行方向に沿った位置に対応

Translate Y .ty 📍
– Source Input の Creep ジオメトリを Path Input サーフェスの V パラメータに沿って移動
– サーフェスの横方向 (U に直交する向き) に対応

Translate Z .tz 📍
– Source Input の Creep ジオメトリを Path Input サーフェスの W パラメータに沿って移動
– Path から見た高さ (サーフェス法線方向の浮き沈み) に対応

Rotate (r) .r 🔁

Rotate X .rx 🔁
– Source Input の Creep ジオメトリを Path Input サーフェスの U パラメータに沿って回転

Rotate Y .ry 🔁
– Source Input の Creep ジオメトリを Path Input サーフェスの V パラメータに沿って回転

Rotate Z .rz 🔁
– Source Input の Creep ジオメトリを Path Input サーフェスの W パラメータに沿って回転

Scale (s) .s 📐

Scale X .sx 📐
– Source Input の Creep ジオメトリを Path Input サーフェスの U 方向にスケール

Scale Y .sy 📐
– Source Input の Creep ジオメトリを Path Input サーフェスの V 方向にスケール

Scale Z .sz 📐
– Source Input の Creep ジオメトリを Path Input サーフェスの W 方向にスケール


実践アイデア 💡

Example 1: テキストを球サーフェス上に這わせる 🔤

Text SOP → Creep SOP (Path: Sphere SOP) → Geometry COMP → Render TOP

Text SOP で生成した平面テキストを Source、Sphere SOP (Primitive Type=NURBS) を Path として Creep SOP に接続し、球面上に貼り付ける基本フロー。Reset Method を Fill path にしてテキストをサーフェス全体に展開させる。

  1. Text SOP を配置し表示したい文字列を入力
  2. Sphere SOP を配置し Primitive TypeNURBS に設定
  3. Creep SOP の第1入力に Text SOP、第2入力に Sphere SOP を接続
  4. Reset MethodFill path に設定して Reset ボタンを押下
  5. Geometry COMP に接続して Render TOP で球面上に貼られたテキストを確認

Example 2: LFOでTranslateを駆動しCreep 🎞️

Box SOP → Creep SOP (Path: Grid SOP, tx driven by LFO CHOP) → Geometry COMP

Source に Box SOP、Path に Grid SOP を割り当てた状態で、LFO CHOP の出力を Creep SOP の Translate X (tx) パラメータに Export して、Box がグリッド面上を移動する Creep アニメーションを構築する。

  1. Source 側に Box SOP、Path 側に Grid SOP を配置し Creep SOP に接続
  2. Reset MethodKeep proportions に設定して Reset、Box の歪みを抑える
  3. LFO CHOP を配置し Frequency を 0.5Hz 程度に設定
  4. LFO CHOP の出力を Creep SOP の tx パラメータに Export して 0〜1 をスイープ
  5. Geometry COMP に接続して Render TOP で Grid 面上を移動する Box を確認

Example 3: Fill path モードで形状をパス全体に伸縮させる 🪄

Circle SOP → Creep SOP (Path: Sphere SOP, Reset Method=Fill path) → Geometry COMP

Source の Circle SOP を Sphere の Path 全体にフィットさせる用途。Reset Method を Fill path に設定して Reset を押すと、Creep が tx/ty/tz/sx/sy/sz を自動計算し、Source をサーフェス全長・全幅に伸ばして配置する。

  1. Circle SOP を Source 側、Sphere SOP (NURBS) を Path 側として Creep SOP に接続
  2. Reset MethodFill path に設定
  3. Reset ボタンを押下し、自動計算された Transform 値を下部パラメータで確認
  4. 必要に応じて Translate / Rotate / Scale を微調整して配置を調整
  5. Geometry COMP に接続して Sphere 全体に展開された Circle を確認

関連オペレータ 🔗

類似機能OP 🔍

  • Sweep SOP — 断面プロファイルを経路カーブに沿って掃引 (Creep がサーフェス上を「這う」のに対し Sweep は曲線に沿う)
  • Rails SOP — Source を 2 本のレールカーブに沿ってスキニング (Creep の 2 軸版に近い役割)
  • Copy SOP — Source をテンプレートポイントに複製配置 (パス上の離散配置パターン)

組み合わせ推奨OP 🔄

  • Sphere SOP — Creep の Path Input として典型的に使う NURBS サーフェス
  • Grid SOP — Creep の Path Input としてフラットなサーフェスを供給
  • Text SOP — Creep の Source Input としてサーフェス上に貼るテキストを生成
  • LFO CHOP — Creep の Translate / Rotate パラメータに Export してアニメーション化
  • Geometry COMP — Creep の出力ジオメトリをシーン内にレンダリング可能な形で配置

前処理・後処理SOP 🎯


Info CHOP情報 📊

Creep 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: Creep の出力が動かない / 配置されない
✅ Solution:

  • 第2入力 (Path Input) が接続されているか確認 — Creep は Source と Path の 2 入力を要求する
  • Reset Method を選択した後で Reset ボタンを押し、初期 Transform を確定する
  • Translate (tx / ty / tz) がすべて 0 のままになっていないか確認、想定するパス位置に対応する値を入れる

❌ Problem: Source 形状が Path 上で大きく歪む
✅ Solution:

  • Reset MethodKeep proportions に変更し、Reset を押して縦横比を保った状態で再初期化
  • Path Input のサーフェス解像度が低い場合は上流で Refine SOP を使ってサーフェスを細分化する
  • Source ジオメトリのサイズが Path に対して極端に大きい / 小さい場合は、Creep の前段で Transform SOP を使ってスケールを揃える

❌ Problem: Translate Z (tz) を変えても浮き沈みが反映されない
✅ Solution:

  • Path Input が曲線 (curve) になっていないか確認 — Creep の W 方向 (高さ) はサーフェス入力時のみ意味を持つ
  • Path 入力を Sphere SOPGrid SOP など Primitive Type が NURBS / Mesh のサーフェスに変更する
  • 上流で Convert SOP を使ってカーブをサーフェスに変換するなど入力を見直す

❌ Problem: Fill path / Keep proportions の自動値が期待通りにならない
✅ Solution:

  • Reset Method を変更した後は必ず Reset ボタンを押して再計算を走らせる (変更だけでは反映されない)
  • Source ジオメトリの bounding が原点近くにない場合は、上流の Transform SOP で原点合わせを行ってから Reset
  • Path Input が閉じていない / トポロジが複雑な場合は、自動計算後に Translate / Scale を手動で微調整する

参考資料 📚

その他 🔗

公式リソース 📖

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