
概要 📖 – 点群を移動・回転・拡縮
Transform POPは、入力ジオメトリに移動・回転・スケールなどの座標変換を適用する POPです。変換は属性単位でも適用でき、Look At による向き制御や基準位置への整列にも対応します。
主な用途 🎯
- ジオメトリ全体の移動・回転・拡大縮小(基本的な座標変換)
- 特定の属性(位置・法線・色など)だけを対象にした変換
- 他オブジェクトを向き続ける Look At 制御(カメラ追従など)
- 属性値をパラメータに割り当てる点ごとの個別変換
- 基準位置への自動整列(Align によるセンタリング・端揃え)
データフロー 🔄
入力: 点群ジオメトリ(位置・属性を持つ POP データ)
↓
変換処理(Transform / Align / Map の各設定を順に適用)
↓
出力: 座標変換後のジオメトリ
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Transform Page 📁
変換対象の設定 🎯
Mode .mode 🎛️Mode (変換モード) — 変換を何に対して適用するかを選びます。
Attribute Class .attrclass 🏷️Attribute Class (属性の種類) — POP が点属性・頂点属性・プリミティブ属性のどれを対象に動作するかを指定します。
Input Attribute ( Scope ) .inputattrscope 🔍Input Attribute ( Scope ) (入力属性の範囲) — モードが属性変換のときの入力属性、範囲変換のときの入力属性スコープを指定します。
Group .group 🗂️Group (グループ) — 入力グループがある場合、ここでグループ名を指定するとこの POP はそのグループのみに作用します。
Weight Attribute .weightattr ⚖️Weight Attribute (重み属性) — 重み値を格納する属性の範囲を指定します。
Transform Order .xord 🔢
Transform Order (変換順序) — 移動・回転・拡縮を適用する全体の順序を設定します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Scale Rotate Translate | .srt |
拡縮 → 回転 → 移動 の順 |
| Scale Translate Rotate | .str |
拡縮 → 移動 → 回転 の順 |
| Rotate Scale Translate | .rst |
回転 → 拡縮 → 移動 の順 |
| Rotate Translate Scale | .rts |
回転 → 移動 → 拡縮 の順 |
| Translate Scale Rotate | .tsr |
移動 → 拡縮 → 回転 の順 |
| Translate Rotate Scale | .trs |
移動 → 回転 → 拡縮 の順 |
Rotate Order .rord 🔁
Rotate Order (回転順序) — 全体の変換順序の中で、各軸まわりの回転を適用する順序を設定します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| 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軸 の順に回転 |
移動・回転・拡縮 📐
Translate .t ↔️Translate (移動) — 点群を3つの軸方向に移動させます。
– 各軸の移動量を tx / ty / tz で個別に指定
Rotate .r 🔄Rotate (回転) — 点群を X・Y・Z の各軸まわりに回転させます。角度は度数で指定します。
– 各軸の回転角を rx / ry / rz で個別に指定
Scale .s 🔎Scale (拡縮) — 各軸ごとの拡大縮小係数です。
– 各軸の倍率を sx / sy / sz で個別に指定
Pivot .p 📍Pivot (基点) — 回転と拡縮の中心となる基準点です。
– 基点座標を px / py / pz で指定
Uniform Scale .scale 🔍Uniform Scale (一律拡縮) — 全軸に共通の拡大縮小係数を指定します。
Invert .invert ♻️Invert (逆変換) — 移動・回転・拡縮による変換結果を反転させます。
Vectors Maintain Length .vlength 📏Vectors Maintain Length (ベクトル長を維持) — 変換適用後も元のベクトル長を保つようにします。
Look At 制御 👁️
Look At .lookat 🎯Look At (注視対象) — 指定したオブジェクトの原点を向き続けるように姿勢を制御します。対象を移動させても向き続けるため、カメラを別オブジェクトに追従させる用途に便利です。
Up Vector .upvector ⬆️
Up Vector (上方向ベクトル) — Look At の変換を組むときの上方向を設定します:
- Up Vector (upvectorx): Look At の姿勢を決める上方向ベクトルの X 成分
- Up Vector (upvectory): Look At の姿勢を決める上方向ベクトルの Y 成分
- Up Vector (upvectorz): Look At の姿勢を決める上方向ベクトルの Z 成分
Forward Direction .forwarddir 🧭
Forward Direction (前方向) — Look At 変換における前方向を決定します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| +X | .posx |
前方向を +X 軸に設定 |
| -X | .negx |
前方向を -X 軸に設定 |
| +Y | .posy |
前方向を +Y 軸に設定 |
| -Y | .negy |
前方向を -Y 軸に設定 |
| +Z | .posz |
前方向を +Z 軸に設定 |
| -Z | .negz |
前方向を -Z 軸に設定 |
行列による変換 🧮
Xform Matrix/ CHOP / DAT .xformmatrixop 🧮Xform Matrix/ CHOP / DAT (変換行列) — 4×4 の行列を直接指定して変換を設定します。
Multiply Order .multiplyorder ✖️
Multiply Order (合成順序) — 変換行列とパラメータ由来の変換を合成する順序です。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Input, then Transform Page | .inputxformpage |
入力 → Transform ページの変換 の順に合成 |
| Transform Page, then Input | .xformpageinput |
Transform ページの変換 → 入力 の順に合成 |
Output Attribute .outputattrscope 📤
Output Attribute ( Scope ) (出力属性) — 出力する属性名をメニューから選びます(属性の成分も選択可能)。
| 項目 | 内部名 | 説明 |
|---|---|---|
| P | .P |
位置属性を出力対象にする |
| N | .N |
法線属性を出力対象にする |
| Color | .Color |
色属性を出力対象にする |
| Color.rgb | .Color.rgb |
色属性の RGB 成分を出力対象にする |
| Tex | .Tex |
テクスチャ座標属性を出力対象にする |
| PointScale | .PointScale |
点スケール属性を出力対象にする |
| LineWidth | .LineWidth |
線幅属性を出力対象にする |
カスタム属性の上書き 🛠️
Override Automatic Attribute .overrideautoattr 🛠️Override Automatic Attribute (自動属性の上書き) — POP の入力とパラメータから自動生成される属性の種類を上書きします。新しい属性の型と成分数を手動で指定できます。
Attribute Type .attrtype 🔠
Attribute Type (属性の型) — 出力属性のデータ型です(既定は浮動小数点)。
| 項目 | 内部名 | 説明 |
|---|---|---|
| float | .float |
単精度浮動小数点 |
| double | .double |
倍精度浮動小数点 |
| int | .int |
符号付き整数 |
| uint | .uint |
符号なし整数 |
| Color | .color |
色(単精度) |
| Color (double) | .dcolor |
色(倍精度) |
| Direction | .dir |
方向ベクトル(単精度) |
| Direction (double) | .ddir |
方向ベクトル(倍精度) |
Components .attrnumcomps 🔢
Components (成分数) — 新しいカスタム属性の成分数です。
| 項目 | 内部名 | 説明 |
|---|---|---|
| 1 | .1 |
成分数 1(スカラー) |
| 2 | .2 |
成分数 2 |
| 3 | .3 |
成分数 3(ベクトル) |
| 4 | .4 |
成分数 4 |
Default Value .attrdefaultval 🔧
Default Value (既定値) — 出力属性の成分が計算できないときに使われる既定値です:
- Default Value (attrdefaultval0): 出力属性の既定値(第1成分)。計算できない場合に使用
- Default Value (attrdefaultval1): 出力属性の既定値(第2成分)
- Default Value (attrdefaultval2): 出力属性の既定値(第3成分)
- Default Value (attrdefaultval3): 出力属性の既定値(第4成分)
Align Page 📁
Align Transform Order .alignxformorder 🔢
Align Transform Order (整列の適用順) — Transform ページと Align ページの変換のどちらを先に適用するかを設定します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Transform, then Align | .transformalign |
Transform → Align の順に適用 |
| Align, then Transform | .aligntransform |
Align → Transform の順に適用 |
Align Operation Order .alignopord 🔁
Align Operation Order (整列の操作順) — 整列変換で拡縮と移動を適用する順序を設定します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Scale Translate | .st |
拡縮 → 移動 の順 |
| Translate Scale | .ts |
移動 → 拡縮 の順 |
Align Translate X .aligntx ↔️
Align Translate X (X整列) — 整列変換でジオメトリの中心を X 方向に設定します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Off | .off |
X方向の整列を無効 |
| Origin | .origin |
原点を基準に整列 |
From Input X .fromx 📥
From Input (入力側基準・X) — 入力ジオメトリのどの部分を原点または参照入力に揃えるかを決めます。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Min | .min |
最小端を基準にする |
| Center | .center |
中心を基準にする |
| Max | .max |
最大端を基準にする |
To Reference X .tox 📌
To Reference (参照側基準・X) — 参照のどの位置に入力を揃えるかを決めます。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Min | .min |
参照の最小端に揃える |
| Center | .center |
参照の中心に揃える |
| Max | .max |
参照の最大端に揃える |
Align Translate Y .alignty ↕️
Align Translate Y (Y整列) — 整列変換でジオメトリの中心を Y 方向に設定します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Off | .off |
Y方向の整列を無効 |
| Origin | .origin |
原点を基準に整列 |
From Input Y .fromy 📥
From Input (入力側基準・Y) — 入力ジオメトリのどの部分を原点または参照入力に揃えるかを決めます。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Min | .min |
最小端を基準にする |
| Center | .center |
中心を基準にする |
| Max | .max |
最大端を基準にする |
To Reference Y .toy 📌
To Reference (参照側基準・Y) — 参照のどの位置に入力を揃えるかを決めます。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Min | .min |
参照の最小端に揃える |
| Center | .center |
参照の中心に揃える |
| Max | .max |
参照の最大端に揃える |
Align Translate Z .aligntz 🔃
Align Translate Z (Z整列) — 整列変換でジオメトリの中心を Z 方向に設定します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Off | .off |
Z方向の整列を無効 |
| Origin | .origin |
原点を基準に整列 |
From Input Z .fromz 📥
From Input (入力側基準・Z) — 入力ジオメトリのどの部分を原点または参照入力に揃えるかを決めます。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Min | .min |
最小端を基準にする |
| Center | .center |
中心を基準にする |
| Max | .max |
最大端を基準にする |
To Reference Z .toz 📌
To Reference (参照側基準・Z) — 参照のどの位置に入力を揃えるかを決めます。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Min | .min |
参照の最小端に揃える |
| Center | .center |
参照の中心に揃える |
| Max | .max |
参照の最大端に揃える |
Align Scale .alignscale 🔎
Align Scale (整列スケール) — 整列変換でジオメトリのスケールを設定します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Per Axis | .peraxis |
軸ごとに個別のスケールを設定 |
| Unity | .unity |
等倍に揃える |
Align Scale X .alignscalex 🔍
Align Scale X (Xスケール整列) — 軸ごと指定のとき、整列変換における X スケールを設定します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Off | .off |
Xスケール整列を無効 |
| Unity | .unity |
等倍に揃える |
| Unity Proportional | .unityprop |
縦横比を保って等倍に揃える |
Align Scale Y .alignscaley 🔍
Align Scale Y (Yスケール整列) — 軸ごと指定のとき、整列変換における Y スケールを設定します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Off | .off |
Yスケール整列を無効 |
| Unity | .unity |
等倍に揃える |
| Unity Proportional | .unityprop |
縦横比を保って等倍に揃える |
Align Scale Z .alignscalez 🔍
Align Scale Z (Zスケール整列) — 軸ごと指定のとき、整列変換における Z スケールを設定します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Off | .off |
Zスケール整列を無効 |
| Unity | .unity |
等倍に揃える |
| Unity Proportional | .unityprop |
縦横比を保って等倍に揃える |
Map Page 📁
属性マッピング設定 🗺️
Mapping .map 🗺️Mapping (マッピング) — 属性をパラメータに割り当てる連続パラメータブロックの開始点です。
OP .map0op 🔗OP (参照元) — パラメータマッピングの元となる OP です。既定の _in0 は入力 POP を意味します。
Element .map0element 🧩Element (要素) — 点ごとにパラメータへ割り当てられる属性(または属性の成分)です。
Target Parameter .map0parm 🎯
Target Parameter (割当先パラメータ) — 属性から値を受け取る、この POP 上のパラメータです。
| 項目 | 内部名 | 説明 |
|---|---|---|
| t (Translate) | .t |
移動(全軸) |
| tx | .tx |
移動 X |
| ty | .ty |
移動 Y |
| tz | .tz |
移動 Z |
| r (Rotate) | .r |
回転(全軸) |
| rx | .rx |
回転 X |
| ry | .ry |
回転 Y |
| rz | .rz |
回転 Z |
| s (Scale) | .s |
拡縮(全軸) |
| sx | .sx |
拡縮 X |
| sy | .sy |
拡縮 Y |
| sz | .sz |
拡縮 Z |
| p (Pivot) | .p |
基点(全軸) |
| px | .px |
基点 X |
| py | .py |
基点 Y |
| pz | .pz |
基点 Z |
| scale (Uniform Scale) | .scale |
一律拡縮 |
Combine Operation .map0combineop ➕
Combine Operation (合成演算) — 属性値とパラメータ値の合成方法です。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Set | .set |
属性値で置き換える |
| Multiply | .mult |
パラメータ値に乗算する |
| Add | .add |
パラメータ値に加算する |
Common Page 🔧
共通設定 🔧
Bypass .bypass ⏭️Bypass (バイパス) — 最初の入力を変換せずそのまま出力へ通します。
Free Extra GPU Memory .freeextragpumem 🧹Free Extra GPU Memory (余剰 GPU メモリの解放) — 出力メモリが増減した際に蓄積したメモリを解放します。
Delete Input Attributes .delinputattrs 🗑️Delete Input Attributes (入力属性の削除) — 指定した属性のみを出力します。属性を別ブランチに分離するのに役立ちます。
実践アイデア 💡
Example 1: 点群全体の配置調整 🎯
Grid POP → Transform POP (Translate / Rotate / Scale) → Geometry COMP
Grid POP で生成した平面の点群を Transform POP で移動・回転・拡縮し、シーン内の任意の位置・向き・サイズに配置する基本フロー。レイアウト調整の起点になります。
- Grid POP で平面状の点群を生成
- Transform POP の Translate / Rotate / Scale で位置・向き・サイズを調整
- 出力を Geometry COMP に渡してシーンに表示
Example 2: カメラの自動追従 👁️
Point Generator POP → Transform POP (Look At) → Render
Transform POP の Look At に追従させたいオブジェクトを指定し、対象が移動しても常にそちらを向き続ける姿勢制御を組む例。カメラやスポットライトの自動追従に応用します。
- Look At に追従対象のオブジェクトを指定
- Up Vector と Forward Direction で姿勢の基準を設定
- 対象が動いても向きが自動で追従することを確認
Example 3: 属性駆動の点ごと変換 🗺️
Noise POP → Transform POP (Map: 属性→パラメータ) → 出力
Noise POP で各点に与えたノイズ属性を Transform POP の Map ページでパラメータに割り当て、点ごとに異なる移動量や回転量を与える例。群衆や粒子の自然なばらつき表現に使えます。
- Noise POP で各点にノイズ属性を付与
- Transform POP の Map で属性を Translate / Rotate に割り当て
- Combine Operation で合成方法(Set / Multiply / Add)を選択
Example 4: 基準位置への自動整列 📐
File In POP → Transform POP (Align) → 出力
読み込んだジオメトリを Transform POP の Align ページで原点や参照入力に揃え、端揃え・中心揃えを自動化する例。サイズの異なるモデルを統一基準に整列させる用途に向きます。
- File In POP でジオメトリを読み込む
- Align Translate と From Input / To Reference で揃え方を指定
- 中心揃え・端揃えが自動で適用されることを確認
関連オペレータ 🔗
類似機能OP 🔍
- Attribute POP — 属性の生成・編集を行う汎用 POP
組み合わせ推奨OP 🔄
- Math POP — 変換前後で属性値を演算・正規化
- Noise POP — Map 用の属性をノイズで生成
- Transform CHOP — CHOP 側で変換行列を計算して供給
- CHOP to POP — CHOP の値を点属性に変換して Map で利用
- DAT to POP — テーブル値を点属性に変換して Map で利用
前処理・後処理POP 🎯
- 前処理: Group POP、Attribute POP、Noise POP
- 後処理: Math POP、Convert POP、Delete POP
Info情報 📊
Transform POP は Info DAT / Info CHOP による詳細情報取得に対応しています。
POP固有情報 ✨
num_verts: POP に含まれる頂点 (vertex) 数num_points: POP に含まれるポイント数num_prims: POP に含まれるプリミティブ数
汎用オペレータ情報 🔄
total_cooks: プロセス開始からのクック回数cook_time: 最後のクック時間 (ミリ秒)cook_frame: 最後にクックされたフレーム番号cook_abs_frame: 最後にクックされた絶対フレーム番号 (アプリケーション起動からの累積)cook_start_time: 最後のクック開始時刻 (ミリ秒)cook_end_time: 最後のクック終了時刻 (ミリ秒)cooked_this_frame: 現フレームでクックされたか (0 / 1)warnings: 警告数errors: エラー数
ジオメトリ統計 📊
num_points: 出力ジオメトリの総点数num_vertices: 出力ジオメトリの総頂点数num_primitives: 出力ジオメトリの総プリミティブ数
属性情報 🏷️
num_point_attribs: 点属性の数num_vertex_attribs: 頂点属性の数
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: 回転と拡縮の結果が想定とずれる
✅ Solution:
Transform Order(変換順序) を確認し、移動・回転・拡縮の適用順を見直すPivot(基点) を調整し、回転・拡縮の中心が意図した位置にあるか確認Rotate Order(回転順序) が目的の軸順になっているか確認
❌ Problem: Look At が対象を正しく向かない
✅ Solution:
Up Vector(上方向ベクトル) が適切な軸を指しているか確認Forward Direction(前方向) を対象に合った軸(+Z など)に設定- 前段に Group POP を入れて対象点を絞り込む
❌ Problem: 属性の変換が反映されない
✅ Solution:
Attribute Class(属性の種類) が対象属性と一致しているか確認Output Attribute ( Scope )(出力属性) で正しい属性を選択しているか確認- 後段で Math POP を使い値の範囲を検証
参考資料 📚
その他 🔗
- TouchDesigner Wiki — POP 概要
- TouchDesigner Wiki — Category:POPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

