NECTAR_Offline2 VJ解説とプロジェクト配布
まずはNectar_offline おつかれさまでした。みなさんのおかげでこの大イベントを走り抜けることができたといっても過言ではありません。
クルーのみんな、演者の四人、来てくれた皆様、本当にありがとうございました。
前置きはほどほどに、今記事は上記イベントで使用したTouchDesignerプロジェクトの解説および配布を目的とした記事になります。
皆様の学習および成長に寄与できましたら幸いです。
概要
プロジェクト本体
開発環境
TouchDesigner099 build 2023.11760
MacBook Pro M1max 32coreGPU
MacOS Sonoma 14.5
レンダリング環境
build 2023.11880
win10 ryzen5800x3D RTX4070Ti
プロジェクト解説(システム編)
主デザインとその開発経緯
今回システムを考えるにあたっての前提要素として、
・6時間の長時間稼働であること
・VRではなく現場での使用であること
・機材の置き場所の制約があること
が存在しました。
そのため、コントローラー使用量が多いLumenの使用や、PCに負荷をかける大型TDプロジェクト、30FPSを下回るフッテージの使用が憚られる状況にあったため、上記帰結として、
・手数と場所確保のための少量のコントローラー(今回はTraktorF1とLaunchPadmini)
・低負荷な2D処理の多い内部処理
・操作量の少ないボタンデザイン
が求められました。
その結果がこちらになります。
開発コンセプト
今回の開発は、当該の現場環境における制約「機材を少なく」を有利に理解し、「1個のコントローラでぜんぶ完結させて楽しよう」をテーマに始まりました。
当初はLaunchPadminiのみで操作を完結させる予定でしたが、素材量とFX割り当ての兼ね合いがあり、素材選択をLaunchPadで、そのほかマスターフェーダーやFX周りをTraktorF1とすることでまとまりました。
また、素材選択のボタンをToggleだけでなくMomentaryで配置することにより、指ではじくような楽しい操作を可能にしています。
とにかく手軽で6時間ストレスなく、また楽しい操作感になるように意識してデザインしました。
メディアプールデザイン
少ないノードで大量の素材を使用するかつ二個以上のの素材を選択したかったため、敢えてSelect TOPを使用せず、 Composite TOPにすべての素材を集約し、Level TOPで素材の使用不使用を制御しています。
この際に発生する問題点として、大量の素材を保持した際のフレームレート低下がありますが、素材をContainerでのOUTに統一し、CHOP Execute DATを使用し、MIDI in CHOP内で選択されていない素材のContainerのCookをPythonで停止することにより実現しました。
この実装は友人の神無月ユズカ氏に協力してもらい実現することができました。
また、素材のコンポジットには通常のAddモードではなく、Lighter Color(比較明合成)モードを使用し、2個以上の複数素材の同時出しを実現しています。
FXデザイン
FXについては最低限の実装のみに留めており、ラインアート3種類、ブルーム、RGBディレイ、色相反転+モノクロームモードとなっています。(LFOSYSコンテナはなぜかうまく動かなくて使わなかった)
ラインアートコンテナに関しては前回の記事での配布と内容がほぼ同じになっています。
要改善点
・UIが存在しない
・上記のためどこがどの素材か失念する可能性がある
・ストロボ非搭載のためストロボする場合高橋名人になる必要がある
プロジェクト解説(フッテージ編)
ノイズアート編
基本的には1920x1080のNoise TOPを先頭にし、EdgeやLevelのコントラストで画を調整しています。中にはDisplaceやLimitをつかった凝ったものもあります。(プロジェクト内で確認してみてください)
3Dレンダー素材編
JoinSOPなどを用いるために一度3Dに落としこみ、レンダリングをしているものも存在します。そのためFPS低下が発生する場合があるため、UIにパフォーマンスメーターを実装しています
このプロジェクトを使うために
MIDIアサイン
素材選択用として”LAUNCHPAD”という命名のコンテナを使用します。
最終的な出力名が”0”から”63”までの64個の信号にまとめています。
Toggle制御はTD内に搭載していないので、MIDIコンの機能で割り振ってください。
FXアサイン
”TRAKTORF1”コンテナを使用します。
コンテナ内のMath1にMIDIINノードをつなぎ、Select1‐4で割り当てを行うと自動でアサインされるように設計してあります。
OBSで使う際
”Syphonspoutout1”を有効化しOBSに取り込んでください。”VJSOFTOUT”という名前で送信されます。
スクリーンに投影する際
スクリーンをつないだ状態で”null8”に接続してある”open”ボタンを操作してください。パフォーマンスメーターとともに副モニターに投影されます。
閉じる際はESCキーを押下してください
”close”ボタンはパフォーマンスメーターのみ閉じます。
注意事項(必ずお読みください)
プロジェクト本体に関して
二次配布、自作発言は固く禁止します。
このプロジェクトを用いた際に発生したいかなる損害も補填しません。
フッテージに関して
基本的に有償版での動作を想定して制作しています。
動作時の警告は基本的に解像度制限超過ですので気になる際は解像度設定を手動で落としてください。
また、権利、素材関係で一部コンテナ内部を削除しておりますので任意で補填をお願いいたします。