
概要 📖 – Alembicを書き出す
Alembic Out POPは、入力 POP のジオメトリ・アニメーションを Alembic (.abc) ファイルとしてディスクに書き出す POPです。Record パルスで録画を開始・停止し、Limit Length / Length で長さを制限、Unique Suffix で連番命名を行うことで、TouchDesigner 上のリアルタイム生成結果を再現可能なキャッシュとしてディスクに保存できます。書き出した .abc は Alembic In POP や Houdini / Maya / Blender 等の外部 DCC ツールで読込めるため、TD パイプラインと外部レンダラ・コンポジット工程を繋ぐ橋渡し OP として機能します。
主な用途 🎯
- TouchDesigner で生成した POP ジオメトリ・パーティクル・点群を .abc ファイルとして外部書き出し
- シミュレーション結果のキャッシュ化 (再クック不要で同じ結果を再生・配布)
- Houdini / Maya / Blender 等の外部 DCC ツールへのジオメトリ受け渡し
- 連番ユニーク命名 (Unique Suffix + N + Leading Zeros) によるバリエーション複数録画
- Record / Pause / Add Frame の組合せによるシングルフレーム / 部分シーケンスのスナップショット取得
データフロー 🔄
入力 POP(ポイント・頂点・プリミティブ属性)
↓
Alembic Out POP(録画制御 + Alembic 書き出し)
↓
出力: .abc ファイル(ディスク)
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Inputs Page 📥
シーケンシャル入力ブロック 🔁
Input .input 🔢
– 書き出し対象とする入力 POP の本数 (Sequential Parameter Blocks の繰返し数)
– この値に応じて以下 7 パラメータ (In POP / Object Name / 各属性名) が複製される
In POP .input0pop 🎯
– 各シーケンスブロックで書き出す入力 POP のパス指定
– 複数 POP を同一 .abc 内の別オブジェクトとして同時録画する場合に Input を増やしてそれぞれ指定
Object Name .input0objname 🏷️
– .abc ファイル内で割当てるオブジェクト名 (Houdini / Maya 側で見える階層名)
– 後段で外部 DCC で開いた際の識別用ラベルとして機能
Ids Attribute .input0idname 🆔
– ポイント ID 情報を持つ point attribute 名
– パーティクル系のように生死で本数が変動するデータで ID 追跡を可能にする
– Point primitives 出力時のみ有効
Velocity Attribute .input0velname 💨
– 速度情報を持つ point attribute 名 (例: v)
– 外部レンダラのモーションブラー用に書き出す際に指定
– Point primitives 出力時のみ有効
Point Attribute Name .input0ptattrname 📍
– 書き出したいカスタム point attribute をパターンマッチングで選択
– 例: P N Cd uv のようにスペース区切り、* ワイルドカードも使用可
Vertex Attribute Name .input0vertattrname 🔺
– 書き出したいカスタム vertex attribute をパターンマッチングで選択
– UV 等の頂点単位属性を絞り込みたい場合に使用
Prim Attribute Name .input0primattrname 🔷
– 書き出したいカスタム primitive attribute をパターンマッチングで選択
– プリミティブ単位の material 名・group ID 等を含めたいときに指定
Alembic Out Page 📤
ファイルパスとユニーク命名 📂
Unique Suffix .uniquesuff 🔢
– オンにすると me.fileSuffix が連番ユニーク値となり、File パラメータに展開して使える
– 同じファイルパスを誤って上書きせず、自動でバリエーション保存できる
N .n 1️⃣
– me.fileSuffix で使用される連番開始インデックス
– Unique Suffix がオンのとき、N から始まる空き番号を計算してサフィックスとする
Leading Zeros Digits .leadingzerosdigits 0️⃣
– サフィックスの最小桁数 (例: 4 にすると 0001, 0002 … と先頭ゼロ詰め)
– インデックスがこの桁数より少なければ先頭にゼロを補って桁を揃える
File .file 📄
– 書き出す Alembic ファイルのパス + ファイル名
– 拡張子 (.abc) は必須。me.fileSuffix を組込めば連番ユニーク命名と組合せ可能
– 例: caches/sim_$F4.abc または caches/sim_`me.fileSuffix`.abc
録画制御 ⏺️
Record .record 🔴
– 1 にすると録画開始、0 で停止 (トグル動作)
– CHOP からエクスポートしてプログラム的に開始・停止する用途に最適
Record Pulse .recordpulse 💥
– パルスを発火するとその瞬間にファイル書込みを実行
– シングルショット書き出しや明示的トリガとして使用
Pause .pause ⏸️
– 録画を一時停止 (Record はオンのまま、フレーム書込みだけ止める)
– Add Frame と組合せてフレーム単位で手動キャプチャするときに使用
Add Frame .addframe ➕
– クリックするたびに 1 フレームを出力に追加
– Pause がオンの状態でのみ有効になる
フレームレートと録画長制限 ⏱️
FPS .fps 🎞️
– 作成される Alembic ファイルのフレームレート (1 秒あたりのフレーム数)
– 60 にすれば 60fps、24 で映画系、30 で TV 系として書き出される
Limit Length .limitlength 🚧
– オンにすると指定長で自動的に録画停止
– 暴走させずに一定長のシーケンスだけキャプチャしたい用途で使用
Length .length 📏
– 録画を停止するまでの長さ
– 単位は右側の Length Unit で Index / Frames / Seconds / Fraction から選択
Samples per Second .abcfps 📈
– Alembic ライブラリに渡す時間サンプリングレート
– FPS と独立して指定可能、サブフレームサンプリングや高精度モーションブラー用途で調整
エクスポートオプション 🧰
Include Primitives .includeprim 🔷
– オンにするとプリミティブデータ (メッシュ・カーブ等のトポロジー) もファイルに書込む
– オフにするとポイントクラウドのみの書き出しとなり、ファイルサイズを抑えられる
Tex Coord Attribute .texcoordattrib 🗺️
– テクスチャ座標を含むジオメトリを書き出すとき、使用するテクスチャ属性名 (Tex 以外でも可)
– 例: uv, uv1 等カスタム命名の UV を扱う場合に指定
Topology Unchanged .unchangedtopology 🔒
– オンにするとトポロジー (頂点接続関係) は録画開始時の状態で固定とみなされ、1 回だけ書込まれる
– 同じメッシュの変形アニメーションだけを録画する場合にファイルサイズを大幅に削減できる
Export 3D Texture Coord .abc3dtex 🧊
– オンにするとテクスチャ座標を 3D 形式 (u, v, w) のカスタム attribute として書込む
– Alembic はデフォルトで 2D テクスチャしかサポートしないため、3D テクスチャを保持したい場合にオン
Max Active Saves .maxactive 🧮
– 同時に実行可能なファイル書込みタスクの最大数
– 大量バリエーションを連続録画する際の並列度を制限してディスク I/O 負荷をコントロール
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を.abcに保存しHoudiniで合成 🎆
Particle POP → Transform POP → Alembic Out POP (Record=1, File=caches/sim_$F4.abc) → ディスク → Houdini
TouchDesigner 上でリアルタイム駆動した Particle POP の結果を Alembic Out POP で .abc に書き出し、Houdini 側で再生・コンポジット・レンダリングする典型例。Topology Unchanged をオフにしてパーティクルの生死を正確にキャプチャし、Velocity Attribute を v に設定すれば Houdini 側でモーションブラーも再現できる。
- Particle POP で動的パーティクルを生成し、必要なら Transform POP で位置調整
- Alembic Out POP の
Fileにcaches/sim_$F4.abc等のパスを指定 Include Primitivesをオフ (ポイントクラウドのみ) または用途に応じてオンVelocity Attribute=vに設定して速度属性を書出し、外部レンダラのモーションブラーに対応Record= 1 にして録画開始、Limit Length で長さ制限を設けて自動停止
Example 2: Pause+Add Frameで静止1枚を取得 📸
Box POP → Render TOP / Alembic Out POP (Pause=On, Record Pulse / Add Frame) → ディスク
TouchDesigner 上で組んだ静的ジオメトリの 1 フレームだけを .abc に固めて配布したいときの手順。Pause をオンにしておくと Record をオンにしても自動でフレームが進まないため、Add Frame ボタンを 1 回押して手動で 1 フレームだけ書込む。サムネ用・SNS 投稿用の単発スナップに便利。
- 出力したい POP ジオメトリを Alembic Out POP の入力に接続
Fileに出力パス + ファイル名を設定 (例:snapshots/scene_001.abc)PauseをオンにしてからRecordをオン (この時点ではまだフレームは書込まれない)Add Frameパルスを 1 回発火 → 現在のジオメトリ状態が 1 フレーム分書込まれるRecordをオフにして停止、ファイルが閉じられる
Example 3: Unique Suffixで連番を複数録画 🔁
入力 POP (parameter sweep) → Alembic Out POP (Unique Suffix=On, N=1, Leading Zeros=4) → caches/variant_0001.abc, _0002.abc, ...
プロシージャル POP のパラメータを順次変えながら何種類ものバリエーションを録画したいときの定石。Unique Suffix をオンにしておくと me.fileSuffix が連番値を返し、上書き事故を防ぎながら整然と複数 .abc を吐ける。Leading Zeros Digits = 4 にすると _0001, _0002, … 形式でファイルマネージャ上のソート順も自然になる。
Fileにcaches/variant_`me.fileSuffix`.abcのように me.fileSuffix を組込んだパスを設定Unique Suffixをオン、N= 1 から開始、Leading Zeros Digits= 4 で 4 桁ゼロ詰めRecord Pulseで 1 セット書き出し →variant_0001.abcが保存される- 上流の POP パラメータを次の値に変更してから再度
Record Pulse→variant_0002.abcが自動採番で保存 - DAT で sweep を駆動する場合は
Record Pulseをプログラム的にトリガしてバッチ録画を自動化
関連オペレータ 🔗
類似機能OP 🔍
- Alembic In POP — 書き出した .abc を逆方向に取込む対の OP。Out で書いた結果を In で再生確認できる
組み合わせ推奨OP 🔄
- Transform POP — 書き出し前のジオメトリ位置・回転・スケール調整
- Math POP — 頂点属性の正規化・スケーリングを書き出し前に適用
- Attribute POP — 書き出したい属性のリネーム・整理・絞り込み
前処理・後処理POP 🎯
Info POP情報 📊
Alembic 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パラメータに拡張子.abcが含まれているか確認 (拡張子なしでは書き出し失敗)Recordが 1 になっているか、またはRecord Pulseが発火されたか確認Pauseがオンになっていないか確認 (オン時は Record オンでもフレームは書込まれない)- 出力ディレクトリの書込み権限と空き容量を OS 側で確認
❌ Problem: ファイルが毎回上書きされて連番にならない
✅ Solution:
Unique Suffixをオンにしてme.fileSuffixをファイル名に組込むFile例:caches/sim_`me.fileSuffix`.abcNで開始インデックス、Leading Zeros Digitsで桁数を調整- ファイル名に
$F(現在フレーム番号) を使う方法もあるが、複数回の Record をまとめると衝突する
❌ Problem: クック時間が極端に長くフレーム落ちが発生する
✅ Solution:
Max Active Savesを下げて並列書込みタスク数を制限- Common Page の
Delete Input Attributesで書き出す属性をP N Cd等に絞り込みファイルサイズと I/O を削減 Topology Unchangedをオン (トポロジーが静的な場合) にして 1 回だけ書込ませる- 上流でMath POP等を使ってポイント数を間引いてから書き出す
❌ Problem: Houdini / Maya で開くとトポロジーエラーになる
✅ Solution:
- パーティクル等トポロジーが変化するデータで
Topology Unchangedをオンにしていないか確認 (動的トポロジーでは必ずオフ) Include Primitivesがオフだとポイントクラウドのみが書込まれる。メッシュとして読みたい場合はオンTex Coord Attributeが外部 DCC の想定属性名 (uv等) と一致しているか確認Ids Attributeを設定しないとパーティクル ID 追跡ができず、外部 DCC で点が乱れて見える場合がある
参考資料 📚
その他 🔗
- TouchDesigner Wiki — POP 概要
- TouchDesigner Wiki — Category:POPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group
公式リソース 📖
- TouchDesigner公式ドキュメント – Alembic Out POP
- Attribute – TouchDesigner 属性概念ページ
- Alembic In POP – 書き出した .abc を取込む対の関連 OP
- Transform POP – 書き出し前のジオメトリ調整に組合せる関連 OP

