見出し画像

Replicator COMPで一括ファイル変換

PLATEAUで公開されているOBJデータをポイントクラウド用のEXRファイルにするための一括のファイル変換をReplicator COMPで作りました。

この例に限らず、ファイル変換やファイル書き出しをバッチ処理的にTouchDesignerでやってしまいたい場合に便利だと思うので記事を書いておきます。

OBJからEXRへの変換

まずは普通にOBJからEXRへの処理を作ります。まず、OBJの読み込みをFile In SOPで行い、頂点を増やしたいのでさらにSprinkle SOPを繋ぎます。これで任意の頂点数にできます。

次にこのSOPをTOPに変換したいのですが、直接変換はできないのでSOP→SOP to CHOP→CHOP to TOPと、CHOPを間に挟んで対応します。

TOPに変換したらあとはMovie File OUT TOPでOpen EXR形式で保存するだけです。

画像1

この流れをReplicator COMPで処理したい回数分、つまりPLATEAUからダウンロードしてきたOBJファイルの数だけ実行するように組み立てます。

従ってこれらはBase COMPの中に入れて複製しやすくします。

Folder DATのデータをコピーする実行ボタンを制作

Replicator COMPはテーブルの列の数を監視し、変化するとその数だけ処理が走ります。なのでこのテーブルが処理したいOBJファイルの一覧になっていると理想です。が、これだとtoeファイル起動時や間違えた設定の際でもいちいちReplicator COMPが処理を開始してしまうため、若干面倒です。

なのでフォルダ一覧は直接Replicator COMPに監視させず、通常は空で、処理したいときにテーブルリストが読み込まれ、処理が終わるとまた空になるTable DATを作ります。

そしてさらにその処理を実行させるための実行ボタンを作成します。実行ボタン側にはTable DATへデータをコピーするスクリプトを記述しておきます。

画像2

外部パラメータを設定する

外部パラメータと、先ほど作ったMASTERになる処理を繋ぎます。

File In SOPのファイルパス、Sprinkle SOPの頂点数、Movie File Out TOPの出力ファイル名などです。

画像3

Replicator COMPに処理を記述する

Replicator COMPには3つの処理を記述します。

1つ目はテーブルの見るパスの変更です。これは自分自身のdigitsを使ってターブルの何列目を見るべきかを設定させます。File In SOPのとMovie File Out TOP両方に変更をかけます。

2つ目は保存の開始です。Movie File Out TOPのRecordをONにすると画像出力されるのでそうなるように書いておきます。

3つ目は全てのファイルの数だけの処理を行ったあとに参照しているTable DATの中身を削除して、Replicator COMPによる複製処理=バッチ処理を終了させます。

これでバッチ処理的にフォルダ内のOBJ全てに対してEXRファイルへの変換を行い、指定したフォルダに保存する処理が書けました。

画像4

ここから先は

13字

¥ 100

この記事が気に入ったらサポートをしてみませんか?