
概要 📖 – POP ジオメトリを OBJ / EXR / PLY / SPZ / E57 ファイルへ書き出し
File Out POPは、入力 POP のジオメトリを OBJ / EXR / PLY / SPZ / E57 等の汎用ファイル形式としてディスクに書き出す POPです。Type で単一ファイル / 連番シーケンスを切替え、Object File Type で OBJ / EXR / PLY / SPZ / E57 から書き出し形式を選択、Record パルスで録画を開始・停止し、Limit Length で長さを制限、Unique Suffix で連番命名を行うことで、TouchDesigner 上のリアルタイム生成結果を再現可能なキャッシュとして外部 DCC ツールへ橋渡しできます。同じ POP 出力系である Alembic Out POP が .abc 単一形式に特化するのに対し、File Out POP は OBJ / EXR / PLY 等の **汎用ジオメトリ形式** をカバーするのが大きな違いです。
主な用途 🎯
- TouchDesigner で生成した POP ジオメトリを OBJ / EXR / PLY / SPZ / E57 等の汎用ファイル形式として外部書き出し
- 単一ファイル (File) と連番シーケンス (File Sequence) の Type 切替によるスナップショット / アニメーション両対応
- Houdini / Blender / Maya / Unreal Engine 等の外部 DCC ツールへのジオメトリ受け渡し
- Unique Suffix + N + Leading Zeros による連番ユニーク命名で上書き事故を防ぎながらバリエーション複数録画
- Output Color Space 指定による色空間メタデータ付与 (sRGB / Rec.2020 / ACES 等) で外部レンダラと色合わせ
データフロー 🔄
入力 POP(ポイント・頂点・プリミティブ属性)
↓
File Out POP(録画制御 + 指定ファイル形式書き出し)
↓
出力: .obj / .exr / .ply / .spz / .e57 ファイル(ディスク)
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
File Out Page 📤
Type .type 📁
単一ファイルとして書き出すか、連番シーケンスとして書き出すかを選択
| 項目 | 内部名 | 説明 |
|---|---|---|
| File | .file |
Record / Add Frame 1 回ごとに 1 ファイルとして書き出す。静的スナップショットや単一フレームキャプチャ用 |
| File Sequence | .filesequence |
録画中、フレームごとに連番命名された複数ファイルとして書き出す。Leading Zeros Digits が有効になりアニメーションキャプチャ用 |
Object File Type .objectfiletype 🗂️
書き出すジオメトリファイルのフォーマット形式を選択
| 項目 | 内部名 | 説明 |
|---|---|---|
| OBJ | .obj |
Wavefront OBJ 形式。テキストベースで Houdini / Blender / Maya 等の幅広い 3D ソフトと互換性のある業界標準メッシュ形式 |
| EXR | .exr |
OpenEXR 形式。HDR 浮動小数点ジオメトリ情報を保持できる多チャンネル対応形式 (深度マップ・点群とテクスチャの統合用途) |
| PLY | .ply |
Polygon File Format。点群スキャナや学術用途で広く使われる軽量メッシュ・点群形式 (カラー・法線属性対応) |
| SPZ | .spz |
Gaussian Splat 形式。3D Gaussian Splatting で生成された splat データの圧縮保存形式 |
| E57 | .e57 |
ASTM E57 形式。LiDAR や 3D スキャナで取得した大規模点群の業界標準アーカイブ形式 |
ファイルパスとユニーク命名 📂
Unique Suffix .uniquesuff 🔢
– オンにすると me.fileSuffix が連番ユニーク値となり、File パラメータに展開して使える
– 同じファイルパスを誤って上書きせず、自動でバリエーション保存できる
N .n 1️⃣
– me.fileSuffix で使用される連番開始インデックス
– Unique Suffix がオンのとき、N から始まる空き番号を計算してサフィックスとする
Leading Zeros Digits .leadingzerosdigits 0️⃣
– サフィックスの最小桁数 (例: 4 にすると 0001, 0002 … と先頭ゼロ詰め)
– インデックスがこの桁数より少なければ先頭にゼロを補って桁を揃える
– Type が File Sequence のときのみ有効
File .file 📄
– 書き出すファイルのパス + ファイル名
– 拡張子 (.obj / .exr / .ply / .spz / .e57) は必須
– me.fileSuffix を組込めば連番ユニーク命名と組合せ可能
– 例: caches/sim_$F4.obj または caches/sim_`me.fileSuffix`.ply
録画制御 ⏺️
FPS .fps 🎞️
– タイムライン FPS を基準とした、ファイルシーケンスのフレームレート
– 60 にすれば 60fps、24 で映画系、30 で TV 系として書き出される
Limit Length .limitlength 🚧
– オンにすると指定長で自動的に録画停止
– 暴走させずに一定長のシーケンスだけキャプチャしたい用途で使用
Length .length 📏
– 録画を停止するまでの長さ
– 単位は右側の Length Unit (lengthunit) で Index / Frames / Seconds / Fraction から選択
Record .record 🔴
– 1 にすると録画開始、0 で停止 (トグル動作)
– CHOP からエクスポートしてプログラム的に開始・停止する用途に最適
Record Pulse .recordpulse 💥
– パルスを発火するとその瞬間にファイル書込みを実行
– シングルショット書き出しや明示的トリガとして使用
Pause .pause ⏸️
– 録画を一時停止 (Record はオンのまま、フレーム書込みだけ止める)
– Add Frame と組合せてフレーム単位で手動キャプチャするときに使用
Add Frame .addframe ➕
– クリックするたびに 1 フレームを出力に追加
– Pause がオンの状態でのみ有効になる
Max Active Saves .maxactive 🧮
– 同時に実行可能なファイル書込みタスクの最大数
– 大量バリエーションを連続録画する際の並列度を制限してディスク I/O 負荷をコントロール
エクスポートオプション 🧰
Include Primitives .includeprim 🔷
– オンにするとプリミティブデータ (メッシュ・カーブ等のトポロジー) もファイルに書込む
– オフにするとポイントクラウドのみの書き出しとなり、ファイルサイズを抑えられる
Tex Coord Attribute .texcoordattrib 🗺️
– テクスチャ座標を含むジオメトリを書き出すとき、使用するテクスチャ属性名 (Tex 以外でも可)
– 例: uv, uv1 等カスタム命名の UV を扱う場合に指定
Output Color Space .outputcolorspace 🎨
書き出すファイルに付与する色空間情報を指定 (ファイル内の色空間を上書き / 設定 / 既定値を仮定)
| 項目 | 内部名 | 説明 |
|---|---|---|
| sRGB | .srgb |
sRGB 色空間 (sRGB 伝達関数)。SDR の標準色空間として最も汎用的 |
| sRGB – Linear | .srgblinear |
sRGB 色空間 (リニア伝達関数)。SDR のリニアワークフロー用 |
| Rec.601 (NTSC) | .rec601ntsc |
Rec.601 NTSC 原色 (Rec.601 伝達関数)。SDR のテレビ放送用 |
| Rec.709 | .rec709 |
Rec.709 色空間 (Rec.709 伝達関数、Rec.2020 と同等)。SDR の HDTV / Web 標準 |
| Rec.2020 | .rec2020 |
Rec.2020 色空間 (Rec.2020 伝達関数、Rec.709 と同等)。HDR の広色域標準 |
| Rec.2020 ST2084PQ | .rec2020st2084pq |
Rec.2020 + PQ (ST2084) 伝達関数。HDR10 の標準 PQ カーブ |
| Rec.2020 HLG | .rec2020hlg |
Rec.2020 + HLG (Hybrid Log-Gamma) 伝達関数。HDR 放送・YouTube HDR 用 |
| DCI-P3 | .dcip3 |
DCI-P3 色空間 (D65 ホワイトポイント、2.6 ガンマ)。映画館投影用 HDR |
| DCI-P3 (D60) | .dcip3d60 |
DCI-P3 D60 sim 色空間 (D60 ホワイトポイント、2.6 ガンマ)。映画館 ACES 中継用 HDR |
| Display P3 (D65) | .displayp3d65 |
Display-P3 色空間 (D65 ホワイトポイント、sRGB ガンマ)。Apple ディスプレイ向け HDR |
| ACES2065-1 | .aces2065-1 |
ACES 2065-1 (AP0、リニア)。ACES ワークフローの統一交換形式 |
| ACEScg | .acescg |
ACEScg (AP1、リニア)。ACES レンダリング作業用色空間 |
| ACESproxy | .acesproxy |
ACESproxy 色空間。ACES オンセットモニタリング・編集用 |
| Passthrough | .passthrough |
色空間変換を行わず、値をそのまま書き出す。色空間メタデータ無しで保存したい場合 |
カスタム属性フィールド書き出し (Sequential Block) 🔁
Attribute .attr 📊
– ファイル内に作成する追加フィールドの本数 (Sequential Parameter Blocks の繰返し数)
– この値に応じて以下の Attribute Name / Fields パラメータが複製される
Attribute Name .attr0name 🏷️
– 書き出したい point / vertex / primitive 属性の名前 (例: Cd, v, uv)
– ファイル形式 (EXR 等) の追加フィールドとして属性データを書込む際に指定
Fields .attr0fields 🧩
– 指定した属性のどのコンポーネントをファイルに書き出すかをパターンマッチングで選択
– 例: 法線属性 N から x y z、カラー Cd から r g b a 等
Common Page 🔧
Bypass .bypass 🚫
POP の処理をスキップして入力をパススルーする設定:
- オン: 最初の入力 (input1) をそのまま出力にパススルー、POP 内部の処理を無効化
- 用途: デバッグ時に書き出し処理を一時的に外して入力を確認する際に使用
Free Extra GPU Memory .freeextragpumem 🧠
蓄積した GPU メモリの解放:
- Free Extra GPU Memory パルス: 出力ポイント数が増減を繰り返した際に確保されたままの GPU メモリを明示的に解放するパルスパラメータ
- 用途: 大規模パーティクル系で出力サイズが大きく変動した後、未使用メモリを返却して VRAM を節約
Delete Input Attributes .delinputattrs 🗑️
出力属性の絞り込みパターン:
- Delete Input Attributes パターン: 出力に残したい属性名のパターン (例:
P N Cd) を指定。指定外の属性は破棄される - 用途: 下流に渡す属性を最小限に絞り、ファイルサイズ・メモリ・帯域を節約
実践アイデア 💡
Example 1: POPをOBJで書出しHoudini等へ橋渡し 🧊
Box POP → Transform POP → File Out POP (Type=File, Object File Type=OBJ, Record Pulse) → output.obj → Houdini / Blender
TouchDesigner 上で組んだ静的ジオメトリを 1 ファイルに固めて Houdini / Blender に持っていく定石。Type を File にして Object File Type を OBJ に設定、Record Pulse を 1 回発火するだけでスナップショットが書き出される。OBJ はテキストベースで互換性が高く、ほぼ全ての 3D ソフトで読込めるため、最初の検証用途として最も使いやすい形式。
- 出力したい POP ジオメトリを File Out POP の入力に接続
Type=File(単一ファイル) に設定Object File Type=OBJを選択Fileに出力パス + ファイル名 + 拡張子を設定 (例:caches/scene_001.obj)Include Primitivesをオンにしてメッシュトポロジーを含めて書込み、Record Pulseを発火
Example 2: POPをPLY連番で点群アニメ保存 🎆
Particle POP → File Out POP (Type=File Sequence, Object File Type=PLY, Unique Suffix=On, Leading Zeros=4) → caches/sim_0001.ply, _0002.ply, ...
TouchDesigner 上でリアルタイム駆動した Particle POP の結果を PLY 連番として書き出し、点群解析ツールや外部レンダラで再生する用途。Type を File Sequence にすると Leading Zeros Digits が有効になり、フレームごとに 1 ファイル吐かれる。PLY はカラー・法線属性も保持できる軽量形式で、点群スキャンデータの保存にも適している。
- Particle POP で動的パーティクルを生成し、必要なら Transform POP で位置調整
Type=File Sequence(連番シーケンス) に設定Object File Type=PLYを選択Fileにcaches/sim_`me.fileSuffix`.ply等の me.fileSuffix を組込んだパスを指定Unique Suffixをオン、N= 1、Leading Zeros Digits= 4 で 4 桁ゼロ詰めRecord= 1 にして録画開始、Limit Lengthで長さ制限を設けて自動停止
Example 3: LiDAR/3DスキャンをE57で長期保存 🛰️
LiDAR Sensor / Kinect POP → Transform POP (整合) → File Out POP (Type=File, Object File Type=E57, Output Color Space=Rec.709) → archive.e57
業務用途で取得した大規模点群データを長期アーカイブとして保存する用途。E57 は ASTM 標準形式で点群ソフト間の互換性が高く、座標 + カラー + センサー情報をまとめて格納できる。Output Color Space を Rec.709 (一般的な HDTV / Web 標準) に明示しておくと、後から外部ツールで読込んだときに色空間メタデータが正しく解釈される。
- 外部センサー (Kinect / LiDAR) からの点群を POP 系で取込み、Transform POP で座標系を整える
Type=File(単一ファイル) に設定Object File Type=E57を選択Fileにarchive/scan_$F4.e57等のパス + 拡張子を指定Output Color Space=Rec.709(用途に応じ Rec.2020 / sRGB 等) を選択Record Pulseで 1 ファイル書込み、外部点群ビューア (CloudCompare 等) で確認
関連オペレータ 🔗
類似機能OP 🔍
- Alembic Out POP — 同じ POP 出力系。.abc (Alembic) 単一形式に特化し、Topology Unchanged や Samples per Second 等アニメーション特化機能を持つ
- File In POP — File Out POP で書き出した OBJ / PLY / E57 等を逆方向に取込む対の OP
組み合わせ推奨OP 🔄
- Transform POP — 書き出し前のジオメトリ位置・回転・スケール調整
- Math POP — 頂点属性の正規化・スケーリングを書き出し前に適用
- Attribute POP — 書き出したい属性のリネーム・整理・絞り込み
前処理・後処理POP 🎯
Info POP情報 📊
File Out POPは Info CHOP / Info DAT による詳細情報取得に対応しています。
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_point_attribs: 書き出される point 属性数 (位置 P / 法線 N / カラー Cd / 速度 v 等)num_vertex_attribs: 書き出される vertex 属性数 (UV 等の頂点単位属性数)num_prim_attribs: 書き出される primitive 属性数 (material 名・group ID 等)num_prims: 書き出されるプリミティブ数 (メッシュ・カーブ数)
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: ファイルが書き出されない / 出力ディレクトリに何も生成されない
✅ Solution:
Fileパラメータに拡張子 (.obj/.exr/.ply/.spz/.e57) が含まれているか確認 (拡張子なしでは書き出し失敗)Object File TypeとFileの拡張子が整合しているか確認 (Object File Type=OBJ なのに File が .ply だと矛盾)Recordが 1 になっているか、またはRecord Pulseが発火されたか確認Pauseがオンになっていないか確認 (オン時は Record オンでもフレームは書込まれない)- 出力ディレクトリの書込み権限と空き容量を OS 側で確認
❌ Problem: ファイルが毎回上書きされて連番にならない
✅ Solution:
TypeをFile Sequenceに切替えると Leading Zeros Digits が有効になり連番命名が自動化されるUnique Suffixをオンにしてme.fileSuffixをファイル名に組込むFile例:caches/sim_`me.fileSuffix`.objNで開始インデックス、Leading Zeros Digitsで桁数を調整
❌ Problem: クック時間が極端に長くフレーム落ちが発生する
✅ Solution:
Max Active Savesを下げて並列書込みタスク数を制限- Common Page の
Delete Input Attributesで書き出す属性をP N Cd等に絞り込みファイルサイズと I/O を削減 Include Primitivesをオフにしてポイントクラウドのみ書き出し、メッシュトポロジーの計算負荷を回避- 上流で Math POP 等を使ってポイント数を間引いてから書き出す
❌ Problem: Houdini / Blender で開くとトポロジーや属性が欠落している
✅ Solution:
Include Primitivesがオフだとポイントクラウドのみが書込まれる。メッシュとして読みたい場合はオンObject File Typeが外部 DCC ツールが対応する形式か確認 (Blender は SPZ / E57 に未対応の場合あり)Tex Coord Attributeが外部 DCC の想定属性名 (uv等) と一致しているか確認- カスタム属性は Attribute Sequential Block で
Attribute Name+Fieldsを明示的に指定しないとファイルに含まれない場合がある
❌ Problem: 外部レンダラで色が想定と違って表示される
✅ Solution:
Output Color Spaceを外部レンダラの作業色空間と一致させる (一般用途: sRGB / HDR: Rec.2020 / ACES ワークフロー: ACEScg)- 色空間メタデータを書込みたくない場合は
Passthroughを選択して値をそのまま保存 - Common Page の
Parameter Color Spaceで UI 上の色値の解釈を確認
参考資料 📚
その他 🔗
- TouchDesigner Wiki — POP 概要
- TouchDesigner Wiki — Category:POPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group
公式リソース 📖
- TouchDesigner公式ドキュメント – File Out POP
- Attribute – TouchDesigner 属性概念ページ
- Alembic Out POP – .abc 特化の対の出力 OP
- File In POP – 書き出したファイルを取込む対の関連 OP

