
概要 📖 – Disguise との RenderStream チャンネル受信
RenderStream In CHOPは、Disguise の RenderStream セッションから float チャンネルデータを受信する CHOPです。Disguise d3 サーバとの統合用ノードで、Stream Index と Schema DAT 設定によりマルチマシン構成での同期データ受信を担います。
主な用途 🎯
- Disguise d3 サーバとの RenderStream セッション接続によるチャンネル受信
- Disguise から送られる Sequencable パラメータの float 値の取り込み
- ストリームインデックス指定による複数 RenderStream ソースの選別
- Schema DAT 経由での Disguise 側 UI パラメータの自動公開
- マルチマシン構成での同期信号タイムアウト制御による安定運用
データフロー 🔄
入力: Disguise RenderStream セッション(外部ネットワーク)
↓
同期信号待機(Timeout 制御)
↓
Stream Index 選別 + Schema DAT による型解決
↓
出力: float チャンネル群(1 サンプル長 or タイムスライス)
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
RenderStream In Page 📋
セッション制御 🎛️
Active .active ✅
– RenderStream セッションを有効化するかを切り替え
– オフの間は Disguise からの同期信号を受け付けません
Timeout .timeout ⏱️
– フレーム開始の同期信号を待機する最大時間(ミリ秒単位)
– 設定時間を超えると待機を諦めて次のフレームに進みます
ストリーム選択 🔍
Stream Index .streamindex 🔢
– このノードが同期しチャンネルを取得する対象のストリームインデックスを指定
– 複数の RenderStream ソースを扱う構成で受信元を切り替えるのに使用
Schema 定義 📁
Schema DAT .schemadat 📋
– Disguise 側で Sequencable パラメータを生成するためのスキーマ情報を保持する DAT を指定
– サポートする列は group、label、name、type、default、min、max、step
– このうち group、label、name、type は必須項目
– type 列に指定可能な値は次のとおり:
- float(float データは本ノードのチャンネルとして受信)
- image(image データは RenderStream In TOP で受信)
- text(text データは本ノードを参照する Info DAT で受信)
Common Page 🔧
Time Slice .timeslice ⏱️
Time Slice モードの強制設定:
- オン: チャンネルを「タイムスライス」モードに強制
- タイムスライス: 前回のクックフレームから現在のクックフレームまでの時間
Scope .scope 🎯
影響を受けるチャンネルの絞り込み:
- Scope 文字列: 影響を受けるチャンネルを指定する文字列
- パターンマッチング:
*や[1-10]等のパターンが使用可能
Sample Rate Match .srselect ⚡
複数の入力 CHOP のサンプルレートが異なる場合の処理方法
| 項目 | 内部名 | 説明 |
|---|---|---|
| Resample At First Input’s Rate | .first |
最初の入力のレートで他をリサンプル |
| Resample At Maximum Rate | .max |
最高サンプルレートでリサンプル |
| Resample At Minimum Rate | .min |
最低サンプルレートでリサンプル |
| Error If Rates Differ | .err |
レート不一致でエラー |
Export Method .exportmethod 📤
CHOP チャンネルをパラメータに接続する方法
| 項目 | 内部名 | 説明 |
|---|---|---|
| DAT Table by Index | .datindex |
DAT テーブルのインデックスでチャンネルとパラメータを対応付け |
| DAT Table by Name | .datname |
DAT テーブルの行名でチャンネルとパラメータを対応付け |
| Channel Name is Path:Parameter | .autoname |
チャンネル名を `path:parameter` 形式で記述し直接対応付け |
Export Root .autoexportroot 🌳
Channel Name is Path:Parameter モード時のパス基点:
- Export Root パス:
autonameモードでチャンネル名のパス部分を相対化する基点 OP のパス
Export Table .exporttable 📋
DAT Table エクスポート方式での参照 DAT:
- Export Table DAT:
datindex/datnameモード時に参照する DAT のパス
Rename from .commonrenamefrom 🔤
リネーム対象チャンネルのパターン:
- Rename from パターン: リネーム対象とするチャンネル名のパターンマッチング文字列
Rename to .commonrenameto 🔁
リネーム後の置換パターン:
- Rename to パターン: Rename from にマッチしたチャンネルの新しい名前パターン (デフォルトはリネームなし)
実践アイデア 💡
Example 1: Disguise からの float パラメータ受信 🎚️
Disguise d3 → RenderStream In CHOP → Math CHOP → 演出パラメータ駆動
- Disguise 側で Sequencable パラメータをエクスポートする RenderStream プロジェクトを構築
- TouchDesigner 側で Table DAT に group / label / name / type 列を持つスキーマ表を作成
- RenderStream In CHOP の Schema DAT パラメータに作成した Table DAT を指定
- Active をオンにして Stream Index で受信ストリームを選択
- 出力チャンネルを Math CHOP 等で正規化して演出パラメータに接続
Example 2: マルチストリーム切替によるシーン分岐 🔀
Disguise(複数ストリーム)→ RenderStream In CHOP × N → Switch CHOP → 出力
- ストリームごとに別の RenderStream In CHOP を配置し、各ノードの Stream Index を 0/1/2 のように分離
- Switch CHOP で受信したいシーンに対応するインデックスを選択し下流に流す
- Schema DAT は各シーンで必要なパラメータ構成に合わせて切り替え可能
関連オペレータ 🔗
類似機能OP 🔍
- OSC In CHOP — 汎用 OSC プロトコルによる外部ホストからのチャンネル受信
- MIDI In CHOP — MIDI コントローラからの値受信用 CHOP
- DMX In CHOP — DMX/Art-Net 経由でのチャンネル受信
組み合わせ推奨OP 🔄
- Math CHOP — 受信値のスケーリング・オフセット調整
- Filter CHOP — ネットワーク経由で揺れる値の平滑化
- Switch CHOP — Stream Index 切替による複数ソースの統合
- Null CHOP — 受信チャンネルへの参照点として下流ノードの基準にする
前処理・後処理CHOP 🎯
Info CHOP情報 📊
RenderStream In CHOPは Info CHOP による詳細情報取得に対応しています。
CHOP固有情報 🎚️
start: CHOPインターバルの開始(サンプル単位)length: CHOPのサンプル数sample_rate: フレーム毎秒のサンプルレートnum_channels: CHOPのチャンネル数time_slice: タイムスライス有効時は1、無効時は0export_sernum: Export接続の更新回数
汎用オペレータ情報 🔄
total_cooks: プロセス開始からのクック回数cook_time: 最後のクック時間(ミリ秒)cook_frame: 最後にクックされたフレーム番号warnings: 警告数errors: エラー数
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: チャンネルが受信できない
✅ Solution:
Activeがオンになっているか、Disguise 側で RenderStream セッションが開始されているか確認Stream Indexが Disguise 側で送出しているインデックスと一致しているか確認- ネットワーク経路(同一サブネット / ファイアウォール許可)が通っているか確認
❌ Problem: Disguise 側に Sequencable パラメータが表示されない
✅ Solution:
Schema DATに指定した Table DAT にgroup、label、name、typeの必須列が揃っているか確認type列の値がfloat/image/textのいずれかになっているか確認- Schema DAT を更新後に
Activeをオンオフして再ネゴシエーション
❌ Problem: 同期待ちで動作が重くなる
✅ Solution:
Timeoutを短めに設定して同期信号欠落時の待機を切り上げる- 前段にFilter CHOPを入れて値変動を平滑化
- 不要な受信ストリームは Active をオフにして負荷を削減
参考資料 📚
その他 🔗
- TouchDesigner Wiki — CHOP 概要
- TouchDesigner Wiki — Category:CHOPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

