Pangolin CHOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

※当サイトにはプロモーションリンクが含まれます。

Pangolin CHOP の Beyond 連携機能を示す図

記事更新の通知はXでアナウンス٩(๑❛ᴗ❛๑)
@maru6o6をフォロー

概要 📖 – レーザー出力と 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 へのレーザーフレーム送信

Tips

初心者の方は、以下日本語書籍も手元にあると安心です。

まる。
まる。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!


パラメータ解説 ⚙️

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 Modepercent のとき有効

Sample Rate .rate 🎚️
– Beyond に送る画像のサンプルレートを直接指定
Rate Modesample のとき有効

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 → レーザー出力
  1. Circle SOP などのジオメトリを準備し、点や色属性を設定
  2. Pangolin CHOP の Source を sop に設定し、SOP パスを指定
  3. Zone と Rate Mode を Beyond 側の設定に合わせて調整
  4. Enable Laser Output で出力を有効化し、Beyond 側で投影確認

Example 2: CHOP 波形を直接レーザーへ送信 🎚️

LFO CHOP → Math CHOP (x/y 整形) → Pangolin CHOP (Source: CHOP) → Beyond
  1. LFO CHOP で x / y の周期信号を生成
  2. Math CHOP で振幅・オフセットを調整して描画範囲に収める
  3. Pangolin CHOP の Source を chop に設定し、必要に応じ r / g / b / id を追加
  4. Vertex Repeat と Vector Frame を調整して残光・ブランキングを最適化

Example 3: ライブショーでのブラックアウト制御 ⚫

Trigger Button → Pangolin CHOP (Blackout / Disable Laser Output)
  1. ライブイベントで非常停止用のトリガーボタンを用意
  2. Pangolin CHOP の Blackout パルスを発火しレーザーを瞬時に消灯
  3. 復帰時は 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、無効時は0
  • export_sernum: Export接続の更新回数

汎用オペレータ情報 🔄

  • total_cooks: プロセス開始からのクック回数
  • cook_time: 最後のクック時間(ミリ秒)
  • cook_frame: 最後にクックされたフレーム番号
  • warnings: 警告数
  • errors: エラー数

Pangolin CHOP 固有情報 🎚️

  • num_points: Beyond に送信された画像の点数
  • frame_rate: Beyond への送信フレームレート
  • active: Beyond への送信が有効なら 1、無効なら 0
  • connected: Beyond への接続状態(1: 接続、0: 未接続)

トラブルシューティング ⚠️

よくある問題と解決策 🔧

❌ Problem: Beyond に画像が送信されない
✅ Solution:

  • Active パラメータがオンになっているか確認
  • Beyond アプリケーションが起動していて、対応する Zone が有効か確認
  • Beyond のバージョンが v5.1 以上か確認(古いバージョンでは動作しない場合あり)

❌ Problem: レーザー描画が歪む / 想定範囲を外れる
✅ Solution:

  • 前段の Math CHOPx / y 座標を -1 〜 1 等の描画域に正規化
  • Source を chop にしている場合、xy 以外のチャンネルが混入していないか確認
  • Vector Frame を切替えて Beyond 側のブランキング処理を比較

❌ Problem: ライセンスエラーで送信できない
✅ Solution:

  • TouchDesigner Non-Commercial ライセンスでは Beyond の demo 版のみ対応
  • 実機運用には Commercial / Educational / Pro ライセンスが必要
  • Beyond 側のライセンス認証状態も合わせて確認

参考資料 📚

その他 🔗

公式リソース 📖

この記事はLLMと共に内容を執筆、更新しています。
最新バージョンとの項目差異など、情報の不一致を見つけた心優しい方はXもしくはInsta、メールなどよりサイト管理者までご連絡ください😎


まる。

お仕事のご依頼はDM又はメールにて。
━━━━━━━━━━━━━━━━━
Python/Touchdesigner/M5Stackをこよなく愛すフルスタックエンジニア。
専門は生理心理学、趣味はヨガやサウナ、EMS電気風呂などヘルスケア全般。
脳波や筋電、心拍を中心とした生体情報のセンシング&インタラクティブアートづくりがライフワーク。

普段はワントゥーテンという会社で空間演出エンジニアをしています。
リファラル採用お繋ぎできますので、我こそはという尖った方は経歴と希望職種添えてDMください(エンジニア以外、営業職等もOK)。
ご飯行きましょう。

↓日常垢
Instagram:@malmal0v0

まる。をフォローする
その他の記事はこちら
Math Combine POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED Select TOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Window COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Widget COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

タイトルとURLをコピーしました