
概要 📖 – ジオメトリファイルからのポイント・属性読込
File In POPは、ジオメトリファイルを読込み、ポイント・頂点・プリミティブ属性として下流に流す POPです。OBJ / FBX 等の標準的なジオメトリフォーマットを直接取込めるため、Maya / Blender / 3ds Max 等の外部 DCC ツールで作成したアセットを TouchDesigner のリアルタイム描画パイプラインへ持ち込めます。Flip Primitive Faces で前面定義を揃え、Input Color Space で wide-gamut カラーを正しく解釈し、Refresh パルスで反復制作中のファイル更新を即時に反映できます。
主な用途 🎯
- OBJ / FBX 等のジオメトリファイルからポイント・頂点・プリミティブ属性を取込
- 外部 DCC ツール (Maya / Blender / 3ds Max / Houdini) で作成した静的ジオメトリの直接利用
- Flip Primitive Faces によるプリミティブ法線方向の反転 (DCC 間で異なる前面定義の正規化)
- Refresh パルスによるファイル変更の即時再読込 (反復制作ワークフローでのライブ更新)
- Input Color Space / Input Reference White による wide-gamut (Rec.2020 / ACES / Display P3) 色空間を考慮した正確なカラー取込
データフロー 🔄
ジオメトリファイル (.obj / .fbx 等)
↓
File In POP(ファイル読込 + 属性パース + 色空間変換)
↓
出力: ポイント・頂点・プリミティブ属性を持つ POP
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
File In Page 📋
ファイル指定と再読込 📂
Geometry File .file 📄
– 読込むジオメトリファイルのフルパス
– OBJ / FBX 等の TouchDesigner 対応フォーマットを指定可能
– 絶対パス・プロジェクト相対パスのどちらにも対応
Flip Primitive Faces .flipfacing 🔄
– オンにすると読込んだジオメトリのプリミティブ法線方向 (前面定義) を反転
– DCC ツールによっては時計回り / 反時計回りで前面が異なるため、表裏が逆に見えるときに使用
Refresh .refresh 🔁
– パルスを発火するとファイル内容を再パースして読込み直す
– 外部 DCC でファイルを上書き保存したあと、TouchDesigner 側を再起動せずに更新内容を反映できる
Input Color Space .inputcolorspace 🎨
ファイルに含まれる色データをどの色空間として解釈するかの選択
| 項目 | 内部名 | 説明 |
|---|---|---|
| Automatic | .automatic |
ファイル側に色空間情報が含まれていればそれを使用、無ければデフォルト (sRGB) として解釈 |
| sRGB | .srgb |
標準 sRGB ガンマ (一般的な PC ディスプレイ・写真の基準色空間) |
| sRGB – Linear | .srgblinear |
リニア化された sRGB (シェーダ計算向きの線形空間) |
| Rec.601 (NTSC) | .rec601ntsc |
NTSC SD ビデオ用色空間 |
| Rec.709 | .rec709 |
HD ビデオ用色空間 (Blu-ray / 1080p 配信の標準) |
| Rec.2020 | .rec2020 |
UHD / 4K HDR ビデオ用色空間 (wide-gamut) |
| Rec.2020 ST2084PQ | .rec2020st2084pq |
Rec.2020 + ST 2084 (PQ) EOTF を用いた HDR10 系色空間 |
| Rec.2020 HLG | .rec2020hlg |
Rec.2020 + Hybrid Log-Gamma 伝達特性を用いた放送向け HDR 色空間 |
| DCI-P3 | .dcip3 |
デジタルシネマ用色空間 |
| DCI-P3 (D60) | .dcip3d60 |
D60 白色点の DCI-P3 |
| Display P3 (D65) | .displayp3d65 |
Apple Display P3 (D65 白色点) |
| Display P3 (D65) – Linear | .displayp3d65linear |
Display P3 の線形化版 |
| ACES2065-1 | .aces2065-1 |
ACES 標準 (AP0 プライマリ) の wide-gamut マスター色空間 |
| ACEScg | .acescg |
ACES CG 用 (AP1 プライマリ) の作業色空間 |
| ACESproxy | .acesproxy |
現場プレビュー向けの ACES プロキシ色空間 |
| Passthrough | .passthrough |
色空間変換を行わず、ファイルの値をそのまま使用 |
Input Reference White .inputreferencewhite ⚪
入力色データの基準白色点 (Reference White) の扱い
| 項目 | 内部名 | 説明 |
|---|---|---|
| Default For Color Space | .default |
選択した色空間のデフォルト基準白を使用 |
| Standard (SDR) | .sdr |
SDR (標準ダイナミックレンジ) 基準白 |
| High (HDR) | .hdr |
HDR (ハイダイナミックレンジ) 基準白 |
| UI | .ui |
UI 設定値を使用 |
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: Blender で書き出した OBJ モデルの取込と着色 🏗️
File In POP (.obj ファイル) → Render TOP / Geometry COMP
Blender でモデリングしたメッシュを .obj エクスポートし、TouchDesigner 側で取込んで描画する典型例。Geometry File に OBJ のパスを指定するだけでポイント・頂点・プリミティブ属性が下流に流れる。Render TOP でマテリアル付きでレンダリングする。
- Blender 側で File → Export → Wavefront (.obj) でメッシュを書き出し
- File In POP の
Geometry Fileパラメータに .obj のフルパスを指定 - 前面の表裏が反転して見える場合は
Flip Primitive Facesをオン - 下流の Render TOP で色・質感を付与
- Render TOP に渡して最終描画 (またはトポロジ加工のために Transform POP / Math POP を挟む)
Example 2: ACEScgで広色域FBXを正確に取込 🎨
File In POP (.fbx, Input Color Space=ACEScg, Input Reference White=Standard) → Render TOP
プロダクション環境でしばしば採用される ACEScg ワークフロー向けに、wide-gamut で書き出された FBX を Input Color Space = ACEScg / Input Reference White = Standard (SDR) として正しく解釈する例。下流の Working Color Space と合わせることで色再現の破綻を防げる。
- FBX を ACEScg 想定で書き出し (DCC 側で色空間を ACEScg に設定)
- File In POP の
Geometry Fileに .fbx のパスを指定 Input Color Space= ACEScg を選択 (Automatic では sRGB と誤判定される可能性がある)Input Reference White= Standard (SDR) を選択 (SDR ディスプレイ向け)- Render TOP に渡し、TouchDesigner の Working Color Space で意図どおりの色が出るか確認
Example 3: 反復制作ワークフローでのライブ更新ファイル再読込 🔁
外部 DCC で .obj を上書き → File In POP (Refresh パルス発火) → 下流再構築
外部 DCC で同じファイルパスに上書き保存したジオメトリを、TouchDesigner を再起動せずに即座に反映する例。Refresh パルスを CHOP / DAT / Panel COMP のボタンに紐づけておけば、ワンクリックで最新ファイルを再パースしてシーンに反映できる。
- Blender / Maya 等で同一パスの .obj / .fbx を上書き保存
- File In POP の
Refreshパルスをクリック (または外部から pulse) - ファイル内容が再パースされてポイント・属性が更新される
- 更新トリガーを Panel COMP のボタンや Filesystem Watcher 系の自作 Python に繋ぐと、保存と同時に自動再読込する制作環境が作れる
関連オペレータ 🔗
類似機能OP 🔍
- Alembic In POP — Alembic (.abc) 専用のファイル取込 POP。アニメーション・キャッシュ系は Alembic In、静的ジオメトリは File In と使い分け
組み合わせ推奨OP 🔄
- Transform POP — 取込ジオメトリの位置・回転・スケールを下流で調整
- Math POP — 取込頂点属性 (位置 / 法線等) の正規化・スケーリング・オフセット
- Attribute POP — 取込属性のリネーム・削除・スキーマ整形
前処理・後処理POP 🎯
Info POP情報 📊
File In 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: 出力 POP の point 属性数 (位置 P / 法線 N / カラー Cd 等の合計)num_vertex_attribs: 出力 POP の vertex 属性数 (UV 等の頂点単位属性数)num_prim_attribs: 出力 POP の primitive 属性数num_prims: 出力プリミティブ数 (取込ジオメトリのメッシュ / カーブ数)
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: ジオメトリの表裏が反転して見える / 法線方向がおかしい
✅ Solution:
Flip Primitive Facesをオンにしてプリミティブの前面定義を反転- DCC 側のエクスポート設定で頂点順 (CW / CCW) を切替えて再書出
- 後処理として Math POP で法線属性
Nを反転 (符号反転) する手も検討
❌ Problem: 色が想定と違う / 彩度が出すぎ・くすみすぎ
✅ Solution:
Input Color Spaceが Automatic で誤判定されていないか確認 (DCC 側の色空間と一致するモードを明示指定)- ACEScg / Rec.2020 等の wide-gamut で書き出した場合は対応する色空間モードを選択
Input Reference Whiteが SDR / HDR のどちらに合っているか、出力先ディスプレイ環境と整合させる- 色変換を一切したくない場合は
Input Color Space= Passthrough で値をそのまま渡す
❌ Problem: ファイルを上書き保存しても TouchDesigner 側に変更が反映されない
✅ Solution:
Refreshパルスを発火してファイル内容を再パースGeometry Fileパスが正しいか、書出された新ファイルが同一パスに存在するか確認- 外部から自動再読込したい場合は Panel COMP のボタンや Python の
op('file_in1').par.refresh.pulse()を保存トリガーに紐づける
❌ Problem: クック時間が長い / 大規模ファイルで重い
✅ Solution:
- Common Page の
Delete Input Attributesで下流に渡す属性を最小限に絞り、VRAM・帯域を節約 - 後処理として Math POP や Attribute POP で不要属性を早めに切り落とす
- DCC 側でメッシュをデシメート (ポリゴン削減) してから書き出して入力サイズを減らす
参考資料 📚
その他 🔗
- TouchDesigner Wiki — POP 概要
- TouchDesigner Wiki — Category:POPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group
公式リソース 📖
- TouchDesigner公式ドキュメント – File In POP
- Attribute – TouchDesigner 属性概念ページ
- Alembic In POP – アニメーション・キャッシュ取込で組合せる関連 OP
- Transform POP – 取込ジオメトリの下流調整に組合せる関連 OP

