
概要 📖 – 曲線を回転させて面を作る
Revolve POPは、入力した曲線を指定の軸まわりに回転させ、回転体のサーフェスジオメトリを生成する POPです。回転軸・分割数・点の接続方式を設定でき、輪郭線一本から回転対称な立体を組み立てます。
主な用途 🎯
- 入力した曲線を軸まわりに回転させて回転体サーフェスを生成
- 輪郭線からコップ・花瓶・ボトル等の回転対称な立体を作成
- 分割数を上げて滑らかな曲面、下げてローポリな多面体を作り分け
- 回転軸と回転中心を指定して非対称な配置の立体を生成
- GPU 上で点群を直接処理し大量の回転体をリアルタイム生成
データフロー 🔄
入力: 1 本の曲線 (プロファイル線)
↓
回転処理 (指定軸まわりに Divisions 段階で回転コピー)
↓
出力: 回転体サーフェスのジオメトリ
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Revolve Page 📋
回転軸 .axis 🧭
Axis (回転軸) — 入力曲線を回転させる際の中心となる軸の選択
| 項目 | 内部名 | 説明 |
|---|---|---|
| Auto | .auto |
入力曲線の形状から回転軸を自動で推定 |
| X | .x |
X 軸まわりに回転 |
| Y | .y |
Y 軸まわりに回転 |
| Z | .z |
Z 軸まわりに回転 |
接続方式 .surftype 🕸️
Connectivity (接続方式) — 回転で生成した点同士をどのプリミティブで結んで面を構成するか
| 項目 | 内部名 | 説明 |
|---|---|---|
| None | .none |
点同士を接続せず点群のみを出力 |
| Point Prims | .points |
各点を個別の点プリミティブとして出力 |
| Rows | .rows |
回転方向の行 ( row) でつないだポリラインを生成 |
| Columns | .cols |
プロファイル方向の列 (column) でつないだポリラインを生成 |
| Rows and Columns | .rowcol |
行と列の両方でつなぎ網目状のワイヤーフレームを生成 |
| Triangles | .triangles |
三角形ポリゴンで面を構成 |
| Alternating Triangles | .alttriangles |
向きを交互に変えた三角形で面を構成 |
| Quadrilaterals | .quads |
四角形ポリゴンで面を構成 |
回転中心と分割 🎚️
Auto Pivot .autopivot 🎯
– Auto Pivot (自動ピボット) — 各ラインの最初の点と最後の点を結んだ線を回転軸 (ピボット) として自動設定します。
– 開いた輪郭線をそのまま回す際に、軸の指定を省けます。
Pivot .p 📍
– Pivot (回転中心) — 回転・拡大縮小の基準となる中心点の座標 (px / py / pz) を指定します。
– 軸からずらした位置を中心にすると、ドーナツ状など非対称な回転体になります。
Divisions .divs 🔢
– Divisions (分割数) — 一周を何段階で回転コピーするかの数。
– 値を上げると滑らかな曲面、下げると角張ったローポリ形状になります。
属性の生成 🧩
Texture Coordinates .texture 🗺️
– Texture Coordinates (テクスチャ座標) — テクスチャ座標 (UV) を生成する属性クラスを指定します。
– 回転体にテクスチャを貼る場合に必要な座標を作成します。
Normal .normal 🔺
– Normal (法線) — 法線属性を生成するかどうか、およびその属性クラスを選びます。
– ライティングや陰影を正しく計算するために法線が必要です。
実践アイデア 💡
Example 1: 輪郭線から花瓶を作る 🏺
Line POP → Revolve POP (Axis: Y / Quadrilaterals) → Facet POP
Line POP で花瓶の側面の輪郭となる曲線を作り、Revolve POP の Y 軸回転で 360 度の回転体に変換、Facet POP で法線を整えて滑らかな陶器のサーフェスに仕上げる基本フロー。
- Line POP で花瓶の側面プロファイルとなる曲線を描く
- Revolve POP の
Axisを Y、Connectivityを Quadrilaterals に設定 Divisionsを上げて回転方向の分割を増やし滑らかにする- Facet POP で法線を整えて陰影を綺麗に表示
Example 2: ローポリな回転体の量産 🔷
Circle POP → Revolve POP (Divisions 少なめ / Triangles) → Transform POP
Circle POP で作った半円弧を Revolve POP に通し、Divisions を小さく設定することで角張ったローポリ立体を生成、Transform POP で配置を調整してスタイライズされたオブジェクトを並べる用途。
- Circle POP で半円弧の輪郭を用意
- Revolve POP の
Divisionsを小さい値にして角張った形状を得る - Transform POP で位置・回転を調整して配置
Example 3: ワイヤーフレーム表現 🕸️
Curve POP → Revolve POP (Connectivity: Rows and Columns)
Curve POP で滑らかなプロファイル曲線を作り、Revolve POP の Connectivity を Rows and Columns に設定することで、面ではなく網目状のワイヤーフレームとして回転体を可視化する表現。
- Curve POP で滑らかな輪郭曲線を作成
- Revolve POP の
Connectivityを Rows and Columns に変更してワイヤーフレーム化
関連オペレータ 🔗
類似機能OP 🔍
- Extrude POP — 曲線を回転ではなく押し出して立体化する
組み合わせ推奨OP 🔄
- Line POP — 回転させる輪郭線を入力として供給
- Curve POP — 滑らかなプロファイル曲線を前段で生成
- Facet POP — 生成した面の法線を整えて陰影を改善
- Transform POP — 回転体の位置・回転・拡大縮小を後段で調整
- Convert POP — 回転体のプリミティブ種別を別形式に変換
前処理・後処理POP 🎯
- 前処理: Line POP、Circle POP、Curve POP
- 後処理: Facet POP、Transform POP、Convert POP
Info情報 📊
Revolve 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: エラー数
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: 回転体が生成されず点だけが出力される
✅ Solution:
Connectivityが None になっていないか確認し、面を作るなら Triangles か Quadrilaterals を選ぶ- 入力に有効な曲線 (複数の点を持つライン) が接続されているか確認
Divisionsが 0 や極端に小さい値になっていないか確認
❌ Problem: 回転体の形が歪む・軸がずれる
✅ Solution:
Axisの選択 (X / Y / Z / Auto) が意図した軸と一致しているか確認Pivotの座標を見直し、回転中心が入力曲線に対して適切な位置にあるか確認- 前段に Transform POP を入れて入力曲線の向き・位置を整える
❌ Problem: 陰影が正しく表示されない・面が暗い
✅ Solution:
Normalを有効にして法線属性を生成する- 後段に Facet POP を追加して法線を再計算する
Connectivityを Point Prims から面を作るモードに変更する
参考資料 📚
その他 🔗
- TouchDesigner Wiki — POP 概要
- TouchDesigner Wiki — Category:POPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

