DMX の概要

Unreal Engine で、ライブ イベントや恒久的デジタル インスタレーション向けに使用できる DMX プラグインの概要です。

Choose your operating system:

Windows

macOS

Linux

コンテンツ

dmxoverview1.png

DMX ブループリント テンプレート

背景

最近、世界中のライブ イベントや恒久的デジタル インスタレーションで Unreal への関心や要求が高まっており、Unreal を部分的または全体的に活用して実施したものが多数みられるようになりました。Unreal は、このマーケットに進出してから日が浅く、基本的な操作に関わる機能が整っていませんでした。それにもかかわらず、Unreal は有能なグループに採用されています。それらのグループは、必要なツール/プラグインがなければ自作するという意欲にあふれ、自らの可能性を大きく広げて、目指した創造的な目標を達成しています。

ライブ エンターテインメント業界の既存のソリューションは、ハードウェアとソフトウェア プラットフォームを組み合わせたものですが、まとまりに欠け、それぞれが独自に開発されたものであり、しかも高コストです。各ツールとプロダクション パイプラインは複雑に関連し、使い勝手が悪く、全体の制作およびプロダクション プロセスを妨げることもあります。

Epic は、Art-Net および sACN バリアントを通じた、 DMX ( Digital Multiplex ) データ通信のサポートを追加することにより、この問題に対応することを決定しました。DMX は、ライブ イベント業界の多様なデバイス (ライティング フィクスチャ、レーザー、スモーク発生、可動装置など) をコントロールするため、業界全体で使用されています。

Art-Net と sACN は DMX データを Ethernet (IP) 上でまとめて送信できる、ネットワーク プロトコルです。Art-Net では単一のネットワーク ケーブルで 32,768 ユニバースに送信できます。古いプロトコルですが、多くの装備や装置でサポートされています。sACN (streaming architecture for control networks) は現在よく使われているもので、単一のネットワーク ケーブルで DMX データを 63,999 ユニバースで実行できます。

ユースケース

ここでは DMX の機能を活用するよくあるユースケースを示します。

プリビジュアリゼーションの表示

DMX プロトコルは、ブループリントのノードやフィクスチャタイプ アクタに提供される入力で使用できます。これによりライブ ショーのステージ プリビジュアリゼーションで準備時間を短縮できます。ライブ DMX 入力は、3D UE レベル内で有効なフィクスチャを動かしコントロールするために使用されます。適切なライティング属性はリアルなエフェクトに使用され、ショー デザイナーはクリエィティブ プロセスを繰り返すことができます。

デバイス コントロール

DMX プロトコル出力とブループリント ノードは DMX 対応フィクスチャやデバイスと通信するために使用できます。これにより UE からライティング コンソールやデバイスをコントロールできます。

コンテンツ トリガー

DMX プロトコル入力は、UE 内でライブ エフェクトやアニメーション シーケンスをトリガーするために使用できます。これはライティングフィクスチャコントロールのあるライブ ショーで表示するためのものです。

DMX の概要

DMX はデジタル通信ネットワークの標準で、ステージのライティングやエフェクトをコントロールするためによく使用されます。本来、調光器をコントロールするための標準方式として考えられ、DMX512 の前は、互換性のない、専用プロトコルをそれぞれに使用していました。すぐにコントローラー (ライティング コンソールなど) を、フォグ マシンや高機能のライトなど特別なエフェクト デバイスや調光器にリンクするための主要な方式になりました。

DMX の利用は劇場内部に留まらず、建築でのライティングにまで拡張され、クリスマスのイルミネーションや電子掲示板まで多岐にわたります。DMX は現在、劇場や会場での人気を反映して、ほとんどすべてのものをコントロールするために使用できます。

DMX は主にライティング デバイスのコントロールに使用されますが、DMX プロトコルで操作できるハードウェアには、他にも多くの形式があります。例えば

*特殊エフェクト ハードウェア

* 噴霧器 
* 花火 
* レーザー 
* CO2 キャノン 
* 火炎放射器 
* 紙吹雪クラッカー 
* その他 
  • モーター

  • 電源スイッチ

  • マイクロコントローラー

  • その他

DMX データ

DMX は、1 つの場所 (ソース) から異なる場所 (宛先) に送信される、デジタル情報のパッケージと考えられます。各パッケージは、受信装置で受け取り、読み取られる特定の情報を、ソースでまとめたものです。各パケットの構造は厳密に規定されています。ハードウェア レベルでの仕組みについては、「 ESTA 標準 (英語) 」を確認してください。ここで関心があるのは、含まれるデータだけです。各パッケージには 512 バイトの配列、それぞれに 0 から 255 の値が含まれます。

dmxoverview2.png

次のセクションでは、これらのパケットが送信、受信される方法を確認します。

DMX の技術的詳細

以下を利用できるように Unreal Engine の DMX プラグインが作成されています。

  1. 両方のプロトコル (Art-Net および sACN) に対して、双方向のネイティブ DMX 通信。

  2. ブループリント ノードの完全なライブラリ。

  3. コントローラー、フィクスチャタイプ、および実際のデバイスのライブラリを設計し作成するための予備 UI。

DMX が機能するために、2 つの主要コンポーネントが必要です。

  1. DMX コントローラー (DMX ソース)

  2. 少なくとも 1 台の DMX フィクスチャ (DMX プロトコルでコントロールされる各種デバイス、通常はライティングフィクスチャ)。

USB インターフェースのサポートは行っていません。

DMX コントローラー

DMX コントローラー (別名「ノード」) はシグナル ソース、DMX シグナルが作成される場所として機能します。さらに、コントローラーには、デイジーチェーンでつながったフィクスチャへデータを分配する機能もあります。DMX コントローラーには、 USB/ネットワーク インターフェース デバイス 標準 DMX コンソール という 2 種類の形態があります。

  1. USB/ネットワーク インターフェースでは、USB シグナル (IP パケット) をデイジーチェーンでつながった一連の DMX フィクスチャに送信される DMX に変換します。

    dmxoverview3.png

    イメージ ソースを表示するには、 ここをクリック してください。

  2. DMX コンソールでは、発信される DMX をユーザーが手動でトリガーできます。コンソールの機能によっては、ネットワーク パケットから DMX を受信し、ブロードキャストもできます。

    dmxoverview4.png

    イメージ ソースを表示するには、 ここをクリック してください。

DMX Fixtures

DMX フィクスチャは、受信したデータに基づいて、コマンドを受信し実行するデバイスです。つまりライトのオン、オフやデバイスの 90 度回転を実行します。単にオン/オフするだけの標準のステージ ライトから複数の軸での回転やライティング フィルタを備えた高機能のライトまで、多様な DMX フィクスチャがあります。

各フィクスチャには、ハードウェア レベルで事前定義された一連の属性/コマンドがあります。これらの属性は odes というグループにまとめられます。多くのフィクスチャは、フィクスチャが応答する利用可能な属性のパターンを、複数のモードとして事前に定義できます。

フィクスチャメーカーにより、ユーザーが異なるモード オプションを利用できます。広範なユースケースに対応するように多くの機能があり、そこからユーザーが一番重要なものを選択できます。最も簡単で最小のチャンネル カウント モード、複雑で巨大なチャンネル モード、これらの間のモードがあります。プロフェッショナルのライティング プラクティスでは、多くの場合、機能とコントロールのしやすさのバランスで中間モードが選択され、DMX チャンネル カウントの使用を抑えます。

各モードには属性セットが含まれます。属性は、受信した DMX データにどのように応答するのかをハードウェアに指示するものです。多くの場合、特定フィクスチャのすべての属性は、そのデバイスとともに提供されるフィクスチャマニュアルに説明があります。

dmxoverview5.PNG

イメージ ソースを表示するには、 ここをクリック してください。

詳細については、「 DMX フィクスチャ 」を参照してください。

ユニバース

ユニバース は、同じデータを読み取るようにつながった一連のフィクスチャで構成されます。1 つのユニバースには 512 バイトの情報が含まれ、ユニバースでのフィクスチャ数は、各フィクスチャに対応するために必要なデータ バイト数で決まります。

シグナル通信

次にコントローラーとフィクスチャが互いにどのように通信するのかを考えます。各コントローラーは 1 つまたは多数のユニバースに対応し、長い距離で、デイジーチェーンにつながれた複数のフィクスチャがそれぞれにあります。ユニバースは、アドレスの付いたフィクスチャのグループを識別するものとして考えられます。適切なフィクスチャにデータを送信するために、正しいユニバースに送信する必要もあります。

コントローラーが DMX パケットを分配するコマンドを受信すると、適切なユニバースを特定し、データのパケットを、受信して解釈する各フィクスチャが接続されたネットワークに送信します。各フィクスチャは同じデータ パケットを受信し、そのフィクスチャに対して意味があるデータをパケットが含む場合、内部コマンドを実行します。データを読み取ったら、同じ処理を繰り返すために、チェーンの次のフィクスチャに渡します。フィクスチャが適切な情報を確実に受信するために、正しいデータをリッスンする必要があります。つまりフィクスチャのアドレス設定、「パッチング」の概念を導入する必要があります。詳細は次のセクションで説明します。

次にシグナル階層とデータ利用の概要を示します。

  • コントローラーは 1 つまたは複数のユニバースに対応できます

    • 各ユニバースはデイジーチェーンでつながれた多くのフィクスチャ (全体を 512 バイトの配列で表現) を含むことができます

      • フィクスチャには、ユニバース内部で 1 つまたは複数のアドレスを割り当てることができます

        • 開始アドレス、各フィクスチャには開始アドレスがあり、受信した DMX データ パケットをフィクスチャがどのように解釈するのかを決定します (バイト配列の単一インデックス)

        • 属性、各フィクスチャには現在のモードで定義された一連の属性が含まれます。属性数 (チャンネル) を開始アドレス (以下のサンプル図を参照) に加えたアドレスまでを占めるものです。

フィクスチャ パッチング

フィクスチャパッチングの概念は、対象のフィクスチャが適切なデータを受信するために、通信チェーンでのフィクスチャの位置を仮想的に決定するために必要なものです。複数のフィクスチャで読み取られる、すべて揃ったデータ パケットを送信するので、重要なのは、パケットでの正確なバイト位置を読み取り、解釈すること、無視が必要な位置を特定することです。これを実行するには、各フィクスチャをユニバースの特定の開始アドレスに割り当てます。開始アドレスは 1 から 512 (DMX パケットの値の最大数) までのいずれかです。フィクスチャを特定の開始アドレスに割り当てることで、割り当て開始アドレスから、開始アドレスに加えて現在のモードでフィクスチャが含む属性数のアドレスの範囲を利用します。

以下の例を参照してください。

dmxoverview6.png

Fixture 2 現在のモード = 8ChannelMode ( 8 個の属性を含む)

  1. 赤 (アドレス 8)

  2. 緑 (アドレス 9)

  3. 青 (アドレス 10)

  4. ストロボ (アドレス 11)

  5. パン (アドレス 12)

  6. ティルト (アドレス 13)

  7. 調光 (アドレス 14)

  8. マクロ (アドレス 15)

開始アドレス = 8 アドレス範囲 = 8 - 15

この例で、パンするには、アドレス 12 でリッスンした 1 バイト値 (0 から 255) により、定義した回転範囲内でフィクスチャがパンする量をコントロールします。

属性の分解能

最もよく使用される属性は、シングルバイトの入力範囲 (0 から 255) で動作しますが、移動やライティングを精密にコントロールするために高い分解能が必要になることもあります。この場合は、属性は 1 バイトではなく、複数バイトの入力範囲を利用します。複数バイトの組み合わせで、特定の属性をコントロールするために大きな値を使用できます。次に属性で利用できるシグナル タイプを示します。

  1. 8 ビット属性 - 最小:0、最大:255 - 1 アドレスを占有

  2. 16 ビット属性 - 最小:0、最大:65,536 - 2 アドレスを占有

  3. 24 ビット属性 - 最小:0、最大:16,777,215 - 3 アドレスを占有

  4. 32 ビット属性 - 最小:0、最大:4,294,967,296 - 4 アドレスを占有

8 ビットを超える属性が必要な場合、その属性はユニバースで複数のアドレスを占有します。分解能により、連続した複数のアドレスを占有できます。前のリストで属性が占めるアドレスの数を確認できます。

ネットワークでの DMX 通信

前の「コントローラー」セクションで説明したとおり、DMX データは多様な方法、USB、IP パケット、コンソールの直接接続で送信できます。過去数年間で、ネットワーク通信方法は、ますます一般的になり重要になっています。ショーが大規模になり、フィクスチャの数が増加するにつれて、多くのフィクスチャを高速かつ効率的に、しかも信頼性を確保しつつ、アドレス設定する必要性が高まっています。

DMX の構造を活用しながら、チャンネルの制限を乗り越えるために、Ethernet を利用したプロトコルが開発されました。これらのプロトコルでは、複数の DMX ユニバースで、Ethernet テクノロジーを使用して、単一の Cat5 ケーブルで伝送できます。広く使用され、UE の DMX プラグインでサポートされている 2 つの主要な Ethernet ベースプロトコルがあります。Art-Net と sACN です。

Art-Net

Art-Net はライセンス料無料の通信プロトコルで、DMX512、つまり UDP 上でライティング コントロール プロトコルと Remote Device Management (RDM) プロトコルを伝送するために使用されます。「ノード」 (高機能のライティング装置) と「サーバー」 (ライティング デスクやライティング コントロール ソフトウェアが動作する一般のコンピュータ) 間の通信に使用されます。

Art-Net プロトコルの詳細については、「 Art-Net サイト (英語) 」を確認してください。

sACN

Streaming Architecture for Control Networks (sACN) は、ネットワーク上で DMX ユニバースで効率的に伝送するため ESTA により開発された、標準プロトコルです。多くの点で Art-Net と比較されるものです。優れた点の 1 つは、簡単な構成で利用できるマルチキャスト オプションがあります。sACN は多数の RGB LED をコントロールするためによく使用されるプロトコルです。

DMX のユーザー タイプ

デザイン事務所

建築事務所、AV 技術者、クリエィティブ エージェンシー (広告会社) と連携する、デザイン事務所に要求されるのは、物理空間に表示するコンテンツを生成するためにリアルタイム ソースを活用し、ライブ イベントや恒久的インスタレーションといったクリエィティブ プロジェクトにまたがるデザインです。

デザイン事務所に必要なのは、すべての関係者に正確なデザインドキュメントを作成することです。あいまいさを最小限に抑え、プロジェクトのすべての要素をよく考えられた詳細計画に従って実現します。Unreal Engine が自分たちのプロジェクトに最適のツールである理由、機能と制限、デザイン基本計画への統合方法、高レベルの基本について把握し理解する必要があります。

クリエィティブ エージェンシーとプロダクション会社

クリエィティブ エージェンシーとプロダクション会社は、基本的にプロダクションの観点で、クリエィティブな計画を策定し実行することを担当し、それを実現させます。対象プロジェクトの範囲内で Unreal Engine を使用し、コーディングします。既存の機能を活用し、プロジェクトのニーズと要件のために拡張し変更する、最前線のお客様です。特徴の機能を技術的に深く理解する必要があり、スケジュールと予算の制約の範囲内で、クリエィティブなデザイン目標を達成します。大規模なクリエィティブ エージェンシーやプロダクション会社には、デザイン事務所の側面もあります。

AV 技術スペシャリスト

AV 技術スペシャリストは、仕様作成、制作、AV システムの実行を担当し、Unreal Engine を他のツールやデバイスとともにシステムで使用する方法を詳細に理解する必要があります。提案される AV インフラストラクチャ内で統合する方法、インフラストラクチャと通信する方法、障害、冗長化、バックアップ システムに対応する方法があります。これらのシステムはすべてに対応する必要があります。多くの場合、24 時間 365 日対応し、ほとんど自動化環境で、人手の介入を最小限に抑えます。

プロトコルの統合

Art-Net と sACN プロトコルは、オリジナルのソースから統合されています。すべてのコードに Epic が対応できます。ソースからビルドすることにより、ライブラリ属性を使用しアクセスする方法を、細かくコントロールできます。さらに重要なのは、ライブラリ ソースからビルドすると、マルチプラットフォームでの使用をサポートできます。

Unreal Engine の DMX プラグインでは、DMX データを sACN および Art-Net プロトコル バリアントを通じて、送受信するためのクロスプラットフォーム サポートが含まれます。Art-Net と sACN はともに UDP ネットワーク プロトコルなので、Unreal Engine のすでにあるネットワーク メッセージング機能が、Unreal Engine アーキテクチャの上に構築された各プロトコルで利用できます。

このプラグインでは、Art-Net プロトコルの最新バージョン、Art-Net 4 が統合されています。Art-Net 4 には理論的に 32,768 ユニバース (32 キロバース) つまりポートアドレスがあります。一方 Art-Net 3 のユニバースの制限は 256 です。

Art-Net 4 プロトコルの完全な仕様については、 ここ から公式ドキュメントを確認してください。

Art-Net と比較して、sACN は新しいプロトコルで、63,999 ものユニバースを利用できます。

sACN プロトコルの公開ドキュメントについては、この リンク を参照してください。

DMX モジュレータ

DMX モジュレータは、インバウンドまたはアウトバウンドの DMX データに使用および適用できるデータ操作および変換機能です。

入力モジュレータ

入力モジュレータは [Details (詳細)] パネルの [Fixture Settings (フィクスチャ設定)] で指定されます。必要な数だけモジュレータを追加することができます。以下は、入力モジュレータ オプションのリストです。

  • None: データ操作や変換は適用されません。

  • CMY to RGB: CMY から RGB への色変換。

  • Constant Frame Delay: 指定されたフレーム数だけ発信 DMX データを遅延させます。

  • Extra Attributes: Pixel Mapping セルに追加属性を設定します。

  • RGB to CMY: RGB から CMY への色変換。

DMX Input Modulators list

DMX Input Modulators in the Fixture settings

出力モジュレータ

出力モジュレータは [ Pixel Mapping (ピクセル マッピング) ] パネルで指定されます。以下は、出力モジュレータ オプションのリストです。

  • None: データ操作や変換は適用されません。

  • CMY to RGB: ライブ入力テクスチャ RGB ピクセルに適用された CMY から RGB への色変換。

  • Extra Attributes: ライブ入力テクスチャで操作されない追加属性を設定します。

  • Extra Cell Attributes: ライブ入力テクスチャで操作されない追加属性をセルごとに設定します。

  • Pixel Mapping Frame Delay: 指定されたフレーム数だけ発信 DMX データを遅延させます。

  • RGB to CMY: ライブ入力テクスチャ RGB ピクセルに適用された RGB から CMY への色変換。

DMX Output Modulators list

DMX Output Modulators in the Pixel Mapping settings

機能ガイド

これは DMX プラグインの一部である高レベルの機能リストです。

Unreal Engine からの DMX データの送信 (Art-Net + sACN プロトコル)

  • 2 つの主要な DMX 通信プロトコル (Art-Net と sACN) が実装され、Ethernet 上で DMX を 60,000 以上のユニバースに送信します。

  • DMX は Unreal Engine から、実行時でもエディタからでも直接送信できます。

到達する DMX シグナルの受信

ユーザーはゲッター ブループリントを作成し、ユニバースのチャンネルから DMX データを受信できます。現在のフィクスチャ値データを返す DMX コンポーネントとデリゲート イベントの範囲は、到達する DMX データを使用するために利用できます。これらのイベントにフィクスチャなどのアクタを適用でき、到達データを使用して、回転、色などのコントロールを実行します。

属性名とチャンネル マッピングと DMX フィクスチャの登録

ユーザーは DMX フィクスチャを任意のチャンネル数でプロジェクトに追加できます。フィクスチャのプリセットが フィクスチャデータベース にない場合、ユーザーは独自のものを登録できます。ユーザーはチャンネル マッピングをセットアップし、独自のカスタム ブループリントで、提供されるデフォルト フィクスチャのブループリント アクタで使用される独自の属性を登録できます。

ユニバースとプロトコル割り当てと DMX コントローラーの登録

ユーザーは、DMX ユニバースの範囲を担当する、異なる DMX コントローラーを追加できます。

DMX をブループリント属性から送信

ダイナミック ブループリント ノードにより、ユーザーは事前登録したフィクスチャ属性を特定 DMX フィクスチャに対して実行できます。

バーチャル出力コンソールを使用して、エディタから DMX をコントロール

カスタム DMX コンソール ウィンドウにより、ユーザーは、ユニバース内の (一定範囲の) チャンネルをエディタから直接テストできます。

GDTF との統合

VectorWorks GDTF ファイル形式標準のサポートにより、多数のフィクスチャ タイプとその属性をインポートできます。現在、属性のインポートのみがサポートされています。 Spotlight はライブショーのプリビジュアリゼーション向けソフトウェアで、業界で広く使用されています。

次の機能のすべてが 4.26 リリースに含まれます。

属性命名システム

属性命名システムでは、インポートされた関数の命名を標準化でき、さらに簡単に、フィクスチャプロパティにアクセスし理解できます。UE 4.26 より前では、標準の命名規則がなく、ユーザーが必要な場合に機能名を入力する必要がありました。属性システムで、ユーザーがドロップダウンのプロパティ リストから簡単に選択し、DMX ライブラリを作成する必要はありません。

DMX Display Cluster プラグイン

nDisplay は DMX のレプリケーションをサポートします。プロジェクトで DMX DisplayCluster プラグインを有効にして、nDisplay クラスタ レンダリングで DMX を使用します。

The DMX Plugins

DMX DisplayCluster プラグインを有効にすると、nDisplay クラスタの プライマリ ノード で受信された DMX はすべてのクラスタ ノードにレプリケートされます。nDisplay のプライマリ ノードとは異なるプライマリ ノードを DMX の受信ノードに指定することができます。コンピュータを DMX プライマリ ノードとして割り当てるには、コンピュータで Unreal Engine 4 のインスタンスを起動するときに次のコマンド パラメータを追加します。

-dc_dmx_master

ノードを DMX のクラスタ ノードとして明示的に割り当てることもできます。DMX は、外部のソフトウェアまたはハードウェアから DMX 情報を受信しません。コンピュータを DMX クラスタ ノードとして割り当てるには、コンピュータで Unreal Engine のインスタンスを起動するときに次のコマンド パラメータを追加します。

-dc_dmx_slave

DMX シーケンサー機能

DMX はシーケンサーからコントロールできます。この機能を使って、DMX ライブラリから一定範囲のパッチをシーケンサー トラックに追加し、キーフレームが DMX を仮想または物理フィクスチャに出力するようにプログラムできます。

シーケンサー統合の詳細については、「 DMX トラック 」を参照してください。

DMX レコーディング

到達する DMX はレコーディングでき、ユーザーは物理 DMX コンソールと Unreal Engine を両方使用して、自分のショーを構築できます。

DMX リモート コントロール機能

リモート コントロールを介して DMX でエンジンのプロパティをリモート制御することができます。詳細については、「 リモート コントロール プロトコル 」を参照してください。

ピクセル マッピング

この機能では、ユーザーが指定したテクスチャのピクセルをサンプリングでき、DMX としてカラー サンプルを多様な DMX タイプに出力できます。

ユニキャスト/マルチキャスト出力

この機能では、送信先を指定するための、追加 DMX 通信方式を提供します。

DMX ライブラリ UI の拡張

フィクス チャタイプ パネル

Fixture Type (フィクス チャタイプ) パネルは、フィクスチャの詳細、モード、関数/属性を個別の列に分割され、整理しやすく見やすくなっています。

フィクスチャパッチ パネル

Fixture Patch (フィクスチャパッチ) パネルは、フィクスチャパッチの IP アドレスとユニバースへのアドレス設定をインタラクティブに行うビジュアライザーです。

DMX 出力コンソールと入力モニタリングの拡張

出力コンソールと DMX モニター ツールは DMX ライブラリの外部に移されました。

出力コンソール

簡単なフェーダ追加ツールを提供し、マクロを使用して、フェーダを簡単にテストしコントロールできます。

入力モニタリング

複数ユニバースの DMX モニター ツールでは、ユニバースからの到達 DMX をリッスンできます。

マトリクス フィクスチャ サポート

DMX を複数セルのフィクスチャに対して、ブループリント、シーケンサー、Take Recorder を通じて送受信できます。

モジュール式 DMX フィクスチャ ブループリント テンプレート

DMX 統計情報

DMX の送受信統計情報を画面に表示できます。

### DMX 入出力リフレッシュ レート

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル