
概要 📖 – ジオメトリの移動・回転・スケール
Transform SOPは、入力 SOP のジオメトリに対して移動・回転・スケール・整列をまとめて適用する SOPです。Transform Order の指定で適用順序を制御でき、Post Page では Bounding box 基準の追加整列も行えます。
主な用途 🎯
- ジオメトリの平行移動・回転・スケールを SOP チェーン内で適用
- Group 指定による部分グループだけの変換
- Pivot 点を変更してスケールや回転の中心を制御
- Look At パラメータで対象オブジェクトに追従する向き付け
- Post Page によるBounding box 基準の整列 (原点や参照入力に揃える)
データフロー 🔄
入力: ソース SOP (任意のジオメトリ)
↓
処理: Transform Order に従って Translate / Rotate / Scale / Pivot / Look At を適用
↓
出力: 変換後の SOP
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Transform Page 📁
Group .group 🎯
変換対象を入力グループに絞り込むパターン:
- Group:
group— 入力グループ名のパターンを指定。Pattern Matching に従う
Transform Order .xord 🔄
Translate / Rotate / Scale の適用順序を決定するメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| Scale Rotate Translate | .srt |
T * R * S * Position の順序で適用 |
| Scale Translate Rotate | .str |
R * T * S * Position の順序で適用 |
| Rotate Scale Translate | .rst |
T * S * R * Position の順序で適用 |
| Rotate Translate Scale | .rts |
S * T * R * Position の順序で適用 |
| Translate Scale Rotate | .tsr |
R * S * T * Position の順序で適用 |
| Translate Rotate Scale | .trs |
S * R * T * Position の順序で適用 |
Rotate Order .rord 🔄
Transform Order 内における X / Y / Z 軸の回転適用順序
| 項目 | 内部名 | 説明 |
|---|---|---|
| XYZ | .xyz |
X → Y → Z の順で回転を適用 |
| XZY | .xzy |
X → Z → Y の順で回転を適用 |
| YXZ | .yxz |
Y → X → Z の順で回転を適用 |
| YZX | .yzx |
Y → Z → X の順で回転を適用 |
| ZXY | .zxy |
Z → X → Y の順で回転を適用 |
| ZYX | .zyx |
Z → Y → X の順で回転を適用 |
Translate / Rotate / Scale パラメータ 📏
Translate .t 📍
– ソースジオメトリを X / Y / Z 軸方向に平行移動
Rotate .r 🔄
– ソースジオメトリを X / Y / Z 軸方向に回転 (単位: 度)
Scale .s 📐
– ソースジオメトリを X / Y / Z 軸方向に拡大・縮小
Pivot .p 📌
– 変換の中心点 (回転・スケールの基準点)
– 異なる Pivot に切り替えると同じ Scale 値でもオブジェクトのスライド方向や回転中心が変わる
Uniform Scale .scale 📐
– X / Y / Z 軸すべてに同じスケール係数を適用
Normals Maintain Length .vlength 🧭
– オンにすると Scale で法線などのベクトル属性の長さが保持される
Look At パラメータ 👀
Look At .lookat 👀
– 指定したオブジェクトへ向き続けるためのターゲット OP 名
– カメラが対象を追尾する用途や、オブジェクトを別オブジェクトの方向に揃える用途で使用
Up Vector .upvector 🧭
– Look At 時の上方向ベクトル (正の Y 軸の指向)
Forward Direction .forwarddir 🧭
– Look At 時の前方向の参照軸
Post Page 📁
Post Transform Order .postxord 🔄
Transform Page 適用後の Scale / Transform の順序:
- Post Transform Order:
postxord— Transform Page 適用後に行う Scale / Transform の順序
Post Translate パラメータ 📍
Post Translate X .posttx 📍
– Transform Page 適用後にジオメトリ中心を X 軸で再配置
From Input (X) .fromx ↘️
– 入力ジオメトリのどの位置 (Bounding box 端など) を Origin / Reference Input に揃えるか
To Reference (X) .tox ↙️
– Reference Input 使用時、Reference Input のどの位置を揃え先にするか
Post Translate Y .postty 📍
– Transform Page 適用後にジオメトリ中心を Y 軸で再配置
From Input (Y) .fromy ↘️
– 入力ジオメトリの Y 軸位置の参照点
To Reference (Y) .toy ↙️
– Reference Input の Y 軸位置の参照点
Post Translate Z .posttz 📍
– Transform Page 適用後にジオメトリ中心を Z 軸で再配置
From Input (Z) .fromz ↘️
– 入力ジオメトリの Z 軸位置の参照点
To Reference (Z) .toz ↙️
– Reference Input の Z 軸位置の参照点
Post Scale パラメータ 📐
Post Scale .postscale 📐
– Transform Page 適用後の全体スケール係数
Post Scale X .postscalex 📐
– Transform Page 適用後の X 軸スケール係数
Post Scale Y .postscaley 📐
– Transform Page 適用後の Y 軸スケール係数
Post Scale Z .postscalez 📐
– Transform Page 適用後の Z 軸スケール係数
実践アイデア 💡
Example 1: 球体ジオメトリを原点から外側に配置 🟢
Sphere SOP → Transform SOP → Geometry COMP → Render TOP
Sphere SOP で生成した球体を Transform SOP で外側にずらし、レンダリングするシンプルなパターン。Translate の値で位置を微調整します。
- Sphere SOP の出力を Transform SOP に接続
- Translate に
(2, 0, 0)を指定して X 軸方向に移動 - Rotate / Uniform Scale も合わせて調整
- Geometry COMP 経由で Render TOP に渡す
Example 2: Reference Input を使って Bounding box を原点に揃える 📐
Source SOP → Transform SOP (Post Page) → Geometry COMP
ジオメトリの Bounding box 端 (例: 底面) を原点に揃え直すパターン。Post Page の From Input / To Reference でアンカーを設定します。
- Transform SOP に Source SOP を接続
- Post Translate Y を有効にして
From Inputに Bounding box 底面、To Referenceに Origin を指定 - 出力されたジオメトリは底面が Y=0 に揃った状態になる
Example 3: Look At でカメラ追尾ジオメトリを作る 👀
Source SOP → Transform SOP (Look At target) → Geometry COMP
ジオメトリが常に特定オブジェクト (例: Null COMP) を向き続けるようにする billboard 風の挙動を Transform SOP の Look At で実現します。
- ターゲットとなる Null COMP を作成し位置を設定
- Transform SOP の Look At にその Null COMP のパスを指定
- Up Vector に Y 軸を指定して垂直方向の参照を固定
- ターゲットが動いてもジオメトリが常に向き続けることを Geometry COMP で確認
関連オペレータ 🔗
類似機能OP 🔍
- Twist SOP — 軸を中心としたねじれ変形 (回転の発展形)
組み合わせ推奨OP 🔄
- Sphere SOP — プロシージャル球体を生成して Transform で配置
- Geometry COMP — 変換後の SOP をレンダリングパイプラインに投入
- Null COMP — Look At のターゲット位置として参照
- Render TOP — Geometry COMP を 3D レンダリングして出力
前処理・後処理SOP 🎯
Info CHOP情報 📊
Transform SOP は Info CHOP による詳細情報取得に対応しています。
ジオメトリ統計 📐
num_points:num_points— 変換後のジオメトリに含まれるポイント数 (入力と同じ)num_prims:num_prims— 変換後のジオメトリに含まれるプリミティブ数
クック統計 ⏱️
total_cooks:total_cooks— プロセス開始以降にこのオペレータがクックされた合計回数cook_time:cook_time— 直近のクック所要時間 (ミリ秒)
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: Transform Order を変えると同じ値でも結果が違って混乱する
✅ Solution:
Transform Orderは 6 通りあり、適用順序で結果が変わる仕様であることを意識する- 個別の軸ごとの結果を確認したい場合は、まず
Scale Rotate Translate (srt)をデフォルトとして固定 - Group パラメータで影響範囲を絞り込んで段階的に確認
❌ Problem: Scale を変更すると Pivot 位置に向けてスライドしてしまう
✅ Solution:
Pivotパラメータをジオメトリ中心 (0, 0, 0) など意図した基準点に設定し直す- Post Page の
From Input/To Referenceで Bounding box 基準のスケールに切り替え - Uniform Scale で X / Y / Z を一括変更して挙動を比較
❌ Problem: Look At を設定したのに対象オブジェクトを向かない
✅ Solution:
Look Atパラメータに指定した OP のパスが正しいか確認Up Vectorを Y 軸に設定して上方向を固定Forward Directionを確認し、想定する前方向の軸を設定
参考資料 📚
公式リソース 📖
- TouchDesigner公式ドキュメント – Transform SOP
- SOP概要ページ
- Category:SOPs
- Pattern Matching – Group パラメータでのワイルドカード書式


