
概要 📖 – レーザー出力と Beyond 連携
Pangolin CHOPは、Pangolin Beyond と通信してレーザー画像フレームを送信する CHOPです。SOP / CHOP / POP を入力ソースに選択でき、ゾーン指定とサンプルレート制御で実機向けの描画品質を調整します。
主な用途 🎯
- Pangolin Beyond へのレーザー画像フレーム送信
- SOP / CHOP / POP を入力とした 2D・3D レーザー描画
- ゾーン指定によるマルチプロジェクター・マルチエリア出力
- サンプルレート制御によるレーザー描画品質の調整
- Beyond 側のレーザー出力 ON/OFF・ブラックアウト制御
データフロー 🔄
入力: SOP / CHOP / POP(点群と色情報)
↓
Pangolin CHOP(フレーム化・ゾーン振り分け・レート設定)
↓
出力: Beyond へのレーザーフレーム送信
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Pangolin Page 📋
Active .active 🔌
Beyond への送信 ON/OFF:
- Active: オフにすると Beyond への送信が止まり、Beyond 側の対応画像もクリアされます
Source .source 🎛️
レーザー描画の入力ソースを選択するメニュー
| 項目 | 内部名 | 説明 |
|---|---|---|
| SOP | .sop |
SOP をソースとして使用。位置属性に加え、頂点・点・プリミティブの色属性が描画色に反映 |
| CHOP | .chop |
CHOP をソースとして使用。x/y 必須、z/r/g/b/id オプション |
| POP | .pop |
POP をソースとして使用 |
Source Path 📍
SOP .sop 📐
– 入力に使用する SOP のパス
– Source が sop のときに参照されます
CHOP .chop 🎚️
– 入力に使用する CHOP のパス
– 入力 CHOP は点位置を表す x / y チャンネルが必須
– 追加で以下のチャンネルをサポート:
z/r/g/b(3D 座標と色)id(同一形状としてグルーピングするインデックス)
POP .pop 🔵
– 入力に使用する POP のパス
– Source が pop のときに参照されます
Zone .zone 🎯
Beyond の送信先ゾーンインデックス:
- Zone: Beyond で対応するゾーンのインデックスを指定。マルチゾーン構成での出力先を分けるために使用
Rate Mode .ratemode ⚡
Beyond 側でのレートの算出方法(CHOP 自身のレートとは別物)
| 項目 | 内部名 | 説明 |
|---|---|---|
| Percent of Projector Sample Rate | .percent |
プロジェクタのデフォルトサンプルレートに対する割合で指定(Percent パラメータと併用) |
| Sample Rate | .sample |
サンプルレートを直接数値で指定 |
Rate 設定 📊
Percent .percent 📈
– プロジェクタのデフォルトサンプルレートに対する割合(%)
– Rate Mode が percent のとき有効
Sample Rate .rate 🎚️
– Beyond に送る画像のサンプルレートを直接指定
– Rate Mode が sample のとき有効
Vertex Repeat .repeat 🔁
各点を繰り返し送る回数:
- Vertex Repeat: 画像中の各点を何回繰り返すかを指定。輝度や残光の調整に使用
Vector Frame .vector ✏️
ベクターフレーム送信モードの切替:
- Vector Frame: オンにすると Beyond 側でブランキング点付加などの追加処理を行うベクターフレームとして送信。オフにすると DAC へ追加処理なしの点群として送信
コマンドパルス 🎬
Resend Image .resend 📤
– Beyond への画像再送をトリガーするパルスパラメータ
Enable Laser Output .enableout 🟢
– Beyond のレーザー出力を有効化(Beyond の "Enable Laser Output" ボタンと同等)
Disable Laser Output .disableout 🔴
– Beyond のレーザー出力を無効化(Beyond の "Disable Laser Output" ボタンと同等)
Blackout .blackout ⚫
– Beyond にブラックアウトコマンドを送信(Beyond の "Blackout" ボタンと同等)
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: SOP ジオメトリのレーザー描画 🟢
Circle SOP → Pangolin CHOP (Source: SOP) → Beyond → レーザー出力
- Circle SOP などのジオメトリを準備し、点や色属性を設定
- Pangolin CHOP の Source を
sopに設定し、SOP パスを指定 - Zone と Rate Mode を Beyond 側の設定に合わせて調整
- Enable Laser Output で出力を有効化し、Beyond 側で投影確認
Example 2: CHOP 波形を直接レーザーへ送信 🎚️
LFO CHOP → Math CHOP (x/y 整形) → Pangolin CHOP (Source: CHOP) → Beyond
- LFO CHOP で
x/yの周期信号を生成 - Math CHOP で振幅・オフセットを調整して描画範囲に収める
- Pangolin CHOP の Source を
chopに設定し、必要に応じr/g/b/idを追加 - Vertex Repeat と Vector Frame を調整して残光・ブランキングを最適化
Example 3: ライブショーでのブラックアウト制御 ⚫
Trigger Button → Pangolin CHOP (Blackout / Disable Laser Output)
- ライブイベントで非常停止用のトリガーボタンを用意
- Pangolin CHOP の Blackout パルスを発火しレーザーを瞬時に消灯
- 復帰時は Enable Laser Output を発火して出力再開
関連オペレータ 🔗
類似機能OP 🔍
- OSC Out CHOP — 外部機器との通信プロトコル経由のチャンネル送信
- DMX Out CHOP — 舞台照明・レーザー機材を DMX 経由で制御
組み合わせ推奨OP 🔄
- Math CHOP — 送信前に座標・色を範囲変換しレーザー描画域に整形
- LFO CHOP — 周期波形を生成して動的な点群を描画
- Trigger CHOP — イベントトリガーで Enable / Disable / Blackout を発火
- Filter CHOP — 送信前にノイズを平滑化し描画品質を安定化
前処理・後処理CHOP 🎯
Info CHOP情報 📊
Pangolin 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: エラー数
Pangolin CHOP 固有情報 🎚️
num_points: Beyond に送信された画像の点数frame_rate: Beyond への送信フレームレートactive: Beyond への送信が有効なら 1、無効なら 0connected: Beyond への接続状態(1: 接続、0: 未接続)
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: Beyond に画像が送信されない
✅ Solution:
Activeパラメータがオンになっているか確認- Beyond アプリケーションが起動していて、対応する Zone が有効か確認
- Beyond のバージョンが v5.1 以上か確認(古いバージョンでは動作しない場合あり)
❌ Problem: レーザー描画が歪む / 想定範囲を外れる
✅ Solution:
- 前段の Math CHOP で
x/y座標を -1 〜 1 等の描画域に正規化 - Source を
chopにしている場合、xとy以外のチャンネルが混入していないか確認 Vector Frameを切替えて Beyond 側のブランキング処理を比較
❌ Problem: ライセンスエラーで送信できない
✅ Solution:
- TouchDesigner Non-Commercial ライセンスでは Beyond の demo 版のみ対応
- 実機運用には Commercial / Educational / Pro ライセンスが必要
- Beyond 側のライセンス認証状態も合わせて確認
参考資料 📚
その他 🔗
- TouchDesigner Wiki — CHOP 概要
- TouchDesigner Wiki — Category:CHOPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

