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

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

Box POP のボックス形状ポイント生成機能を示す図

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

概要 📖 – ボックス形状の点群生成

Box POPは、立方体・直方体形状のポイントとプリミティブを生成し、UV・Normal・Color 属性を一括で付与する POPです。Round Corners による角丸生成や Modify Bounds による入力 POP のバウンディング追従にも対応し、ジェネレータ系 POP の中で最も汎用性の高い形状ソースとして機能します。

主な用途 🎯

  • 立方体・直方体形状のポイントクラウド生成
  • Round Corners による角丸ボックスの生成(建築・UI 向けプリミティブ)
  • Anchor U/V/W による原点アンカー位置の切替(左下基点・中心基点等)
  • Texture Coordinates と Texture Method によるキューブマップ向け UV 展開
  • Modify Bounds モードで入力 POP のバウンディングボックスをそのまま箱形状化

データフロー 🔄

入力: (任意) バウンディングボックス参照 POP

Box POP(Size / Round Corners / Anchor / UV 設定)

出力: 立方体ポイント + 接続プリミティブ + Normal / UV / Color 属性

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Box Page 📋

Connectivity .surftype 🎛️

ポイント同士をどう接続して面・線を構成するかの種別

項目 内部名 説明
None .none ポイントを接続せず、純粋なポイントクラウドのみ出力
Point Primitives .points 各ポイントを Point Primitive として出力
Triangles .triangles 三角形プリミティブで面を構成
Quadrilaterals .quads 四角形プリミティブで面を構成

形状基本パラメータ 📏

Unique Points .uniquepoints
– オンにするとプリミティブ間でポイントを共有せず、各面ごとに独立した頂点を生成
– 面ごとに別法線・別 UV を持たせたい場合に有効(共有時はスムージング、独立時はフラットシェーディングに近い見え方)

Modify Bounds .modifybounds 🔄
– 入力が接続されている場合のみ有効
– オン時は入力 POP のバウンディングボックスを基準に Box の形状を変調

Size .size 📐
– 3 軸方向のボックスサイズを sizex / sizey / sizez で指定
– 通常 1.0 をデフォルトとし、Uniform Scale と組み合わせて全体スケールを後乗算

Round Corners .roundcorners
– 角を丸める処理を有効化
– Corner Radius と Subdivisions Depth で形状を細かく制御

Corner Radius .cornerradius 📐
– Round Corners オン時の角の丸み半径
– Size に対する値の取り過ぎはエッジが消えるため通常 Size の 1/4 以下が目安

Subdivisions Depth .depth 📈
– 角丸部分の細分化回数
– 値を上げるほど滑らかになるがポイント数が指数的に増加する

Anchor 🎯

原点 (0,0,0) に対して Box のどの位置を合わせるかのアンカー指定

Anchor U .anchoru ↔️
– X 軸方向のアンカー位置(左端・中央・右端)
– 左下基準の UI 配置や軸合わせの自動化に有用

Anchor V .anchorv ↕️
– Y 軸方向のアンカー位置(下端・中央・上端)
– 床面(V=下端)に Box を載せたい場合などに使用

Anchor W .anchorw ⏹️
– Z 軸方向のアンカー位置(奥端・中央・手前端)
– 奥行き方向の基準位置を制御

Transform 🔧

Translate .t ↗️
– 生成ポイントを tx / ty / tz 方向に平行移動
– 後段で Transform POP を入れずに直接配置を済ませたい場合に使用

Rotate .r 🔁
– X / Y / Z 軸まわりの回転(度数法)
rx / ry / rz で個別軸を指定

Uniform Scale .scale 🔍
– 3 軸均等のスケール係数
– Size と組み合わせて非均等スケールと均等スケールを分離して扱える

Normal .normal 🧭

Normal 属性の生成クラス選択:

  • None: Normal 属性を生成しない(軽量化、シェーディング不要時)
  • 用途: ライティングを必要とするマテリアル接続では point / vertex のいずれかを選択

Texture Coordinates .texture 🖼️

Texture Coordinates 属性の所属クラス:

  • None: UV を生成しない(テクスチャリング不要時)
  • 用途: テクスチャマッピングを使うマテリアルに渡す場合は vertex / point から選択

Texture Method .texmethod 🗺️

UV をどのように展開するかのモード(キューブマップ展開・内外面の使い分け)

項目 内部名 説明
Box Inside .boxinside ボックス内側向けの展開
Face Inside .faceinside 面ごとの内側向け展開
Cube Map Inside .cubemapinside キューブマップ内側展開(環境マップの内側参照)
Box Outside .boxoutside ボックス外側向けの展開
Face Outside .faceoutside 面ごとの外側向け展開
Cube Map Outside .cubemapoutside キューブマップ外側展開(環境マップの外側参照)

Extend to Corner .extenduv 📐

Round Corners 有効時の UV の角部処理:

  • オン: 角を回り込んで UV が連続する(テクスチャの帯が角でも切れない)
  • オフ: 角の部分で UV が独立し、エッジが立つ展開になる

Color .color 🎨

Color 属性の生成クラス(デバッグ用):

  • None: Color 属性を生成しない
  • 用途: 視認テストでポイント / 頂点 / プリミティブ単位の色付けを行いたい場合に使用

Common Page 🔧

Bypass .bypass 🚫

POP の処理をスキップして入力をパススルーする設定:

  • オン: 最初の入力 (input1) をそのまま出力にパススルー、POP 内部の処理を無効化
  • 用途: デバッグ時に特定 POP の効果を一時的に外して比較する際に使用

Free Extra GPU Memory .freeextragpumem 🧠

蓄積した GPU メモリの解放:

  • Free Extra GPU Memory パルス: 出力ポイント数が増減を繰り返した際に確保されたままの GPU メモリを明示的に解放するパルスパラメータ
  • 用途: 大規模パーティクル系で出力サイズが大きく変動した後、未使用メモリを返却して VRAM を節約

Delete Input Attributes .delinputattrs 🗑️

出力属性の絞り込みパターン:

  • Delete Input Attributes パターン: 出力に残したい属性名のパターン (例: P N Cd) を指定。指定外の属性は破棄される
  • 用途: 下流で不要な属性を切り落として分岐ブランチを軽量化、メモリ・帯域を節約

Parameter Color Space .parmcolorspace 🎨

色パラメータの色空間を解釈・Working Color Space に変換する方式

項目 内部名 説明
sRGB .srgb 標準 sRGB ガンマ
sRGB – Linear .srgblinear リニア化された sRGB
Rec.601 (NTSC) .rec601 NTSC SD ビデオ用色空間
Rec.709 .rec709 HD ビデオ用色空間
Rec.2020 .rec2020 UHD / 4K HDR ビデオ用色空間
DCI-P3 .dcip3 デジタルシネマ用色空間
DCI-P3 (D60) .dcip3d60 D60 白色点の DCI-P3
Display-P3 (D65) .displayp3 Apple Display P3 (D65 白色点)
ACES2065-1 .aces2065 ACES 標準 (AP0 プライマリ)
ACEScg .acescg ACES CG 用 (AP1 プライマリ)
Passthrough .passthrough 色空間変換せず値をそのまま使用

Parameter Reference White .parmreferencewhite

色パラメータの基準白色点 (Reference White) の扱い

項目 内部名 説明
Default For Color Space .default 選択した色空間のデフォルト基準白を使用
Use Parent Panel .useparent 親パネルの基準白設定を継承
Standard (SDR) .sdr SDR (標準ダイナミックレンジ) 基準白
High (HDR) .hdr HDR (ハイダイナミックレンジ) 基準白
UI .ui UI 設定値を使用

実践アイデア 💡

Example 1: 建築 UI のグリッド配置プリミティブ 🏛️

Box POP (Round Corners) → Transform POP → Render TOP → Render TOP

角丸ボックスを基本部材として並べ、UI / 建築モックアップ向けに高速な点群ジオメトリを生成する例。Subdivisions Depth と Corner Radius の組み合わせで雰囲気を切替できる。

  1. Box POP で Connectivity = Quadrilaterals、Round Corners = On に設定
  2. Corner Radius を Size の 1/8 程度、Subdivisions Depth を 3 に設定して滑らかさを得る
  3. Transform POP で並列 / 整列を行い、Render TOP でシェーディング設定
  4. Render TOP で最終出力を確認

Example 2: 入力 POP のバウンディングボックス可視化 📦

入力 POP → Box POP (Modify Bounds = On, Connectivity = None) → Render TOP

任意の点群の AABB を Box POP で即時に箱として出力し、可視化やフィット確認に使う使い方。Connectivity = None でポイントのみ出すことでオーバーレイ用途にも対応する。

  • 可視化したい POP を Box POP の input1 に接続
  • Modify Bounds をオンにして入力のバウンディングを取り込む
  • Connectivity = None でポイントだけ表示、または Triangles で面表示に切替

関連オペレータ 🔗

類似機能OP 🔍

  • Circle POP — 円・円弧形状のジェネレータ系 POP
  • Particle POP — 動的なパーティクルポイント生成

組み合わせ推奨OP 🔄

  • Transform POP — 生成後に並列・整列・スケールを適用
  • Render TOP — Geometry COMP 経由で点群を 2D 画像として可視化
  • Geometry COMP — Box POP の出力をシーングラフに組み込む

前処理・後処理POP 🎯


Info POP情報 📊

Box POPは Info CHOP / Info DAT による詳細情報取得に対応しています。

POP固有情報 🧩

  • num_points: 生成されたポイント数
  • num_prims: 生成されたプリミティブ数
  • num_vertices: 生成された頂点数
  • bound_min: 出力ジオメトリのバウンディングボックス最小値 (x/y/z)
  • bound_max: 出力ジオメトリのバウンディングボックス最大値 (x/y/z)

汎用オペレータ情報 🔄

  • total_cooks: プロセス開始からのクック回数
  • cook_time: 最後のクック時間(ミリ秒)
  • cook_frame: 最後にクックされたフレーム番号
  • warnings: 警告数
  • errors: エラー数

トラブルシューティング ⚠️

よくある問題と解決策 🔧

❌ Problem: Round Corners で形状が崩れる / エッジが消える
✅ Solution:

  • Corner RadiusSize の 1/4 以下に抑える
  • Subdivisions Depth を 2〜4 程度の中庸な値にしてポイント数の暴発を防ぐ
  • Connectivity を Triangles に切替えて綺麗な面分割を得る

❌ Problem: テクスチャが歪む / 角で切れる
✅ Solution:

  • Texture Method を Cube Map Inside / Outside に切替えてキューブマップ向け展開を選ぶ
  • Round Corners 有効時は Extend to Corner をオンにして UV を角で連続させる
  • 後段で Attribute POP を入れて UV を再生成する

❌ Problem: ポイント数が想定より多くパフォーマンスが落ちる
✅ Solution:

  • Subdivisions Depth を下げてポイント数を削減
  • Unique Points をオフにして頂点共有でメモリ削減
  • Common Page の Delete Input Attributes で未使用属性を切り落とし下流負荷を低減

参考資料 📚

公式リソース 📖

コミュニティ 💬

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