
概要 📖 – テクスチャ座標を生成
Texture SOPは、ジオメトリにテクスチャ座標(UV)を割り当て、テクスチャの貼り方を制御するSOPです。投影・球面・円柱・面ごとなど多彩な方式が選べ、生成したUVを拡大・回転・移動で調整します。
主な用途 🎯
- ジオメトリへのUV座標(テクスチャ座標)の生成
- 平面・円柱・球面など投影方式によるテクスチャ貼り付け
- 全天球(エクイレクタングラー)テクスチャのスカイボックスへの適用
- 面ごとへのテクスチャ複製マッピング(レンガ・岩肌など)
- 既存UV座標の拡大・縮小・回転・移動による調整
データフロー 🔄
入力: ジオメトリ(ポリゴン/スプライン)
↓
UV生成処理(投影・球面・面ごと等の方式に応じた座標計算)
↓
出力: UV座標が付与されたジオメトリ
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Page 📁
対象グループ .group 🎯
Primitive Group .group 🎯
– Primitive Group (対象プリミティブグループ) — 入力にプリミティブグループがある場合、ここで名前を指定するとそのグループにのみ処理が適用されます
– 点グループ・頂点グループには使えません。パターンマッチングに対応します
Texture Page 🖼️
テクスチャ層 .texlayer 📐
Texture Layer .texlayer 📐
– Texture Layer (テクスチャ層) — ジオメトリに複数のテクスチャ層が適用されている場合、どの層のUV座標を処理するかを指定します
Texture Type .type 🗺️
Texture Type (投影方式) — UV座標をどの方式で生成するかを決めるメニュー。Face・Uniform Spline・Arc-Length Spline はスプライン曲線にも対応します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Orthographic | .texture |
投影軸 (Projection Axis) からの直接投影 |
| XYZ Position | .xyzposition |
頂点のXYZ位置をそのままUVW値にコピー |
| Equirectangular Inside (Spherical Polar) | .equirectangularin |
全天球テクスチャをオブジェクト内側に貼る座標。スカイボックス向け |
| Equirectangular Outside (Spherical Polar) | .equirectangularout |
全天球テクスチャをオブジェクト外側に貼る座標 |
| Cylindrical | .cylin |
投影軸方向に円柱状に巻き付け |
| Row & Columns | .rowcol |
メッシュ構造(Grid/Sphere/Tube/Skin/Sweep)向け。行にU、列にVを割り当て |
| Face | .face |
各面にテクスチャの複製をマッピング。Facet SOPで点を独立させてから使用。岩肌・レンガ向け |
| Modify Source | .modify |
既存UV座標を維持し、Scale/Offsetでオフセット・拡大縮小のみ実行 |
| Uniform Spline | .suniform |
NURBS/Bezier面のドメイン空間をU/Vで一様サンプリングしUV化 |
| Average Spline | .saverage |
連続するノットの平均(Greville点)をUV属性に格納。ペースト面向け |
| Arc Length Spline | .sarclen |
スプライン基底をもとに弧長間隔でUV座標を生成 |
| Edge Length | .edgelength |
ハル+面(NURBS/Bezier/ポリゴン)に適用 |
| Perspective From Camera | .persp |
カメラ投影に合わせてUVを割り当て。クリップ面外の点は(0,0,0) |
| Equidistant Azimuth (Fish Eye 180) | .equiazimuth |
180度フィッシュアイマップ用の座標 |
| Equidistant Azimuth (Fish Eye 360) | .equiazimuth360 |
360度フィッシュアイマップ用の座標 |
※ 注意: Face / Uniform Spline / Arc-Length Spline などスプライン系を使う場合、Group 欄にペースト階層を指定すると全ノードにUV計算が伝播します。投影系の方がスプライン系よりペースト面間のテクスチャ連続性が滑らかになる傾向があります。
Projection Axis .axis 🧭
Projection Axis (投影軸) — 投影する軸、またはスプラインからの投影方法。X・Y・Z軸から選択します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| X Axis | .x |
X軸方向に投影 |
| Y Axis | .y |
Y軸方向に投影 |
| Z Axis | .z |
Z軸方向に投影 |
Apply to .coord 📍
Apply to (適用先) — UV座標を自然な位置・点・頂点のどこに適用するかを選びます。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Natural location | .natural |
自然な位置に適用。Polar/Cylindrical/Rows&Columns/Faceでは頂点UV、Orthographic/各Splineでは点UVを生成 |
| Point texture | .point |
点(ポイント)にUVを適用。閉じた面のシームで共有 |
カメラ・調整 🎚️
Camera Name .camera 📷
– Camera Name (カメラ名) — Texture Type が Perspective From Camera のときに使用。投影元のライトまたはカメラを選択します
Scale .s 🔍
– Scale (拡大縮小) — テクスチャ座標を指定量だけ拡大・縮小します
Offset .offset ↔️
– Offset (オフセット) — テクスチャ座標を指定量だけずらします
Rotate .angle 🔄
– Rotate (回転) — テクスチャ座標を指定値だけ回転します
Fix Face Seams .fixseams 🧵
– Fix Face Seams (面シーム補正) — 面の継ぎ目でのテクスチャ連続性を補正します
Transform Page 🔧
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軸(X/Y/Z)方向に移動します
Rotate .r 🔄
– Rotate (回転) — テクスチャ座標を3軸(X/Y/Z)で回転します
Scale .scaletwo 🔍
– Scale (拡大縮小) — テクスチャ座標を3軸(X/Y/Z)で拡大・縮小します
Pivot .p 📍
– Pivot (基点) — 変換の基点。テクスチャ座標が拡大・回転する中心点を定義します
– 拡大縮小時は基点に向かってテクスチャが寄り、回転は基点位置で結果が大きく変わります
実践アイデア 💡
Example 1: 全天球スカイボックス 🌐
Sphere SOP → Texture SOP (Equirectangular Inside) → Geometry COMP → Material
球状ジオメトリに対し Texture SOP の Equirectangular Inside を使い、全天球(360度)パノラマ画像を内側から正しく貼り付けてスカイボックス背景を作る基本フロー。
- Sphere SOP で背景用の球を作成
- Texture SOP の Texture Type を「Equirectangular Inside」に設定
- 全天球パノラマ画像をマテリアルのカラーマップに割り当て
- 球の内側からシーンを囲む背景として表示
Example 2: 面ごとのテクスチャ 🧱
Box SOP → Facet SOP → Texture SOP (Face) → Material
岩肌やレンガのような質感を出すため、Facet SOP で点を独立させてから Texture SOP の Face モードで各面にテクスチャの複製をマッピングする用途。
- Facet SOP で点を独立(ユニーク)化してから Texture SOP に渡す
- Texture Type を「Face」に設定し各面へテクスチャを複製マッピング
Example 3: 投影でロゴ貼り 🎯
Grid SOP → Texture SOP (Orthographic) → Transform → Material
平面ジオメトリに Texture SOP の Orthographic を使い、投影軸方向からロゴ画像を直接投影し、Scale/Offset/Rotate でロゴの大きさと位置を整える例。
- Texture Type を「Orthographic」、Projection Axis を貼りたい面に合わせて選択
- Scale と Offset でロゴの大きさと位置を調整
関連オペレータ 🔗
類似機能OP 🔍
- TODO
組み合わせ推奨OP 🔄
- Facet SOP — Face モードの前に点を独立化させる
- Basis SOP — スプライン系投影前に基底を0〜1へ再マップ
- Carve SOP — 閉じた面を開いてシーム問題を回避
- Material SOP — UV割り当て後にマテリアルを適用
前処理・後処理SOP 🎯
Info情報 📊
Texture SOPは Info CHOP / Info DAT による詳細情報取得に対応しています。
ジオメトリ統計 📐
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: このオペレータのエラー数
クック統計 ⏱️
cook_time: 直近のクックに要した時間(ミリ秒)total_cooks: 累計クック回数
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: テクスチャが歪む・伸びる
✅ Solution:
- Texture Type が形状に合っているか確認(球は Equirectangular、円柱は Cylindrical 等)
- Projection Axis を貼りたい面の向きに合わせる
- Scale / Offset でアスペクト比を調整
❌ Problem: 面ごとのテクスチャが崩れる
✅ Solution:
- Face モードの前に前処理で Facet SOP を入れて点を独立化
- Apply to の設定(点UVか頂点UVか)を確認
- Fix Face Seams をオンにして継ぎ目を補正
❌ Problem: スプライン面でUVが不連続になる
✅ Solution:
- 前処理で Basis SOP を入れて基底を0〜1に再マップ
- 隣接面間で基底(Basis)を連結(Concatenate)してから貼る
- 投影系の方式(Orthographic 等)に切り替えて連続性を確保
参考資料 📚
その他 🔗
- TouchDesigner Wiki — SOP 概要
- TouchDesigner Wiki — Category:SOPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

