インカメラ VFX のクイック スタート ガイド

LED ボリュームを使用してインカメラ VFX による撮影を行うためのファースト ステップ ガイドです。

Windows
MacOS
Linux

このクイック スタート ページでは、インカメラ VFX を使用して撮影するための Unreal Engine でのプロジェクトのセットアップ プロセスについて説明します。このガイドを終了すると、次について理解できるようになります。

  • nDisplay ノードの同期化されたクラスタをセットアップする。

  • インカメラ VFX 用のインナー フラスタムとアウター フラスタムをセットアップする。

  • Live Link XR を介して統合されたリアルタイム カメラ トラッキング システムをセットアップする。

  • 切り替え可能なクロマキー マーカーを含むグリーン スクリーン インナー フラスタムをセットアップする。

  • クラスタ化されたすべてのノードを起動して、セット上でテストする。

ステップ 1 - インカメラ VFX のプロジェクトをセットアップする

インカメラ VFX プロジェクトの最も簡単なセットアップ方法は、In-Camera VFX Example プロジェクトを使用することです。

  1. Epic Games Launcher を起動します。

  2. [Learn (ラーニング)] タブで、In-Camera VFX サンプル プロジェクトを特定します。

  3. このプロジェクトのページで、[Free (無料)] をクリックします。

  4. [Create Project (プロジェクトを作成する)] をクリックします。

  5. プロジェクトの保存先のコンピュータ上の場所を指定して、[Create (クリエイト)] を選択します

  6. Unreal Engine を起動して、[In-Camera VFX Example] プロジェクトを開きます。

このサンプル プロジェクトの [Content (コンテンツ)] > 「Maps」 の下に Main および EmptyStage の 2 つのレベルがあります。Unreal Engine でのインカメラ VFX について学習する場合は、Main レベルを開きます。最初に空白のセットアップを行う場合は、EmptyStage をプロジェクトのベースとして使用します。このサンプル プロジェクトおよびレベルでは、必要なプラグインが自動的に有効化されており、役立つブループリントが提供されています。また、追加設定が構成されており、サンプルのコンフィギュレーション ファイルも含まれています。

プラグイン

  • Aja または Blackmagic Media Player: SDI キャプチャ カードのサポートを提供します。

  • Camera Calibration レンズ歪みプロファイルと節点オフセットのためのツールです。

  • Color Correct Regions: 色補正とシェーディングを 1 つのボリュームに制限します。

  • ICVFX: インカメラ VFX プラグインの基本セットを有効にするプラグインです。

  • Level Snapshots: フィルタリング機能を備えた現在のレベルの便利で非破壊的なバリエーションのための代替レイアウトを保存します。

  • Live Link: モーション キャプチャ、カメラ トラッキングなどのライブ データを取り込むための Unreal Engine の API です。

  • Live Link Over nDisplay: プライマリ ノードが Live Link データを受信し、トラッキング データを効率的かつ同期された方法で再配布します。

  • Live Link XR: Vive Tracker などの XR デバイスからライブ データを取り込むための Unreal Engine の API です。

  • Multi-User Editing: 複数の編集者を共有セッションに参加させることができます。

  • Media Framework Utilities: SDI キャプチャ カード上のライブ ビデオ、タイムコード、ゲンロックに関連するユーティリティ プラグインです。

  • nDisplay: マルチ ディスプレイでレンダリングするための Unreal Engine のテクノロジーです。

  • nDisplay Support for Level Snapshots: レベルスナップショットを使用した nDisplay ルートアクタープロパティの保存と復元のサポートを有効にします。

  • OpenColorIO (OCIO): OpenColorIO のサポートを提供します。

  • OSC: リモート クライアントまたはアプリケーション間での OSC メッセージの送受信機能を提供します。

  • Remote Control API: REST API、WebSockets、C++ と介してエンジンを遠隔で制御するためのツール スイートです。

  • Remote Control Web Interface: エディタを遠隔で制御するためのリモート ウェブ インターフェースおよび UI ビルダーを提供します。

  • Switchboard: マルチユーザー セッションで Unreal、nDisplay ノード、その他のバーチャル プロダクション デバイスのインスタンスを起動するためのアプリケーションです。

  • Timed Data Monitor: 時間同期可能な入力を監視するユーティリティです。

  • Virtual Production Utilities: バーチャル プロダクションで役立つユーティリティ プラグインです。

nDisplay Root Actor

nDisplay コンフィグ アセット は nDisplay クラスタのコンピューターと LED ボリュームのトポロジーの間の関係性を定義します。NDisplay Root Actor はレベル内の nDisplay コンフィグ アセットのインスタンスであす。nDisplay コンフィグ アセットをレベルにドラッグすると作成されます。

このサンプル プロジェクトには、nDisplay コンフィグ アセットのサンプルが含まれています。コンテンツ ブラウザの nDisplayConfigs の中にあります。nDisplay ルート アクタで公開される設定の詳細については「nDisplay ルート アクタ リファレンス」を参照してください。

ステップ 2 - LED パネルのジオメトリを作成する

このセクションでは、カーブした LED ウォールの表現を作成する方法の例を紹介します。LED ボリュームはそれぞれ異なる可能性があります。そのため、ディスプレイの寸法やレイアウトに沿ってこの手順を修正してください。

この手順では、実際の LED パネルを表すジオメトリを作成する方法を示します。

この例では、2 つのメッシュを使用してカーブしたウォールが作成されます。メッシュはそれぞれ nDisplay ビューポートにマップされます。LED ステージがどのようにメッシュに分割されるのかを定義するいくつかの要素があります。

  1. 角度: 理想の最大曲率角度は、1 つのメッシュで 90 度である必要があります。1 つのメッシュでカーブが 90 度より大きくなると、視覚的な質が落ちる可能性があります。また、ひとつのビューポート (つまりメッシュ) で 179 度を超える角度をカバーすることはできません。

  2. 解像度: 単一の GPU nDisplay ビューポートでレンダリングするための上限としては、UHD (3840 x 2160) が適切です。複数の GPU を搭載するマシンの場合は、より高い表示解像度にわたる複数のビューポートを利用できます。 どちらの方法でも、各マシンおよびビューポートのレンダリングの最大解像度を単位とする刻みで、LED パネルの解像度に基づいてステージ メッシュを分割する必要があります。パネルごとの解像度の詳細については、LED の製造元にお問い合わせください。

  3. コントロール: 天井パネルのみをライティングと反射に使用し、インカメラにそれらを表示しないようにする場合は、天井パネルとサイド ウォールのコントロールを分割するのが適切なことがあります。LED パネルのモデルが異なっており、異なるカラー マネジメントが求められる場合は、このことが特によく当てはまります。 カラー マネジメントはビューポートごとに制御されるため、それらの異なるパネルを自分のメッシュに対して分割する必要があります。

そのトポロジをメッシュ (さらにビューポート) に対して分割する際の考慮事項を以下で説明します。天井とウォールなど、単一のマシンで複数のビューポートをレンダリングするのは一般的です。重要なのは、それらが単一ノード上にあり、別々のビューポートであることです。

各メッシュは、特定の順序で 2 つの UV セットを備える必要があります。1 つ目の UV セットは、nDisplay の PICP_Mesh 投影ポリシーの投影を計算するために使用します。2 つ目の UV セットは、クロマキー トラッキング マーカーが 2 つのビューポートの間でシームを越えて適切に移動できるようにするために使用します。

この例のメッシュの各正方形は、500mm × 500mm で、2.6mm ピクセル ピッチの LED パネルを表現しています。

カーブした LED ウォールのメッシュ表現。画像をクリックして拡大表示。

メッシュは、実際の LED パネルと一致する位置と向きでモデル化する必要があります。このサンプルでは、直立した状態でモデル化されています。ジオメトリは cm 単位でスケーリングできるようにモデル化する必要があります。

次の仕様で UV セットを作成します。

  • 1 つ目の UV セットは、0 ~ 1 の範囲で UV 空間全体をカバーするようにスケーリングします。この UV セットは、伸びないようにできるだけ均等に展開してください。スケーリングは均一でなくても構いません。UV のエッジの周りにパディングがないこと、UV が 0 ~ 1 の範囲を超えないことを確認します。

    First UV set for the mesh

  • 2 つ目の UV セットは、実際のハードウェア構成と同じシームで一致するように UV が整列している必要があります。また、メッシュと同じアスペクト比でなければなりません。

    Second UV set for the mesh

メッシュが作成されたら、3D モデリング ソフトウェアからジオメトリをエクスポートして、Unreal プロジェクトにインポートします。こちらのメッシュのサンプル をダウンロードし、ファイルを コンテンツ ブラウザ の「Content/nDisplayConfigs/Meshes」フォルダにドラッグし、次のセクションの手順を実行します。

メッシュが Unreal プロジェクトにインポートされたら、各メッシュで [Use Full Precision UVs (最大精度の UV を使用)] を有効にし、UV アーティファクトの発生を防止します。インポートした各メッシュに対し、以下の手順を実行します。

  1. インポートしたメッシュをダブルクリックし、スタティック メッシュ エディタで開きます。

  2. [LOD 0] の下の [Details (詳細)] パネルで、[Build Settings (ビルド設定)] を展開し、[Use Full Precision UVs] を有効にします。

    Enable Use Full Precision UVs in the Details panel

  3. [Apply Changes (変更を適用)] ボタンをクリックします。

    Apply Changes

  4. [Save (保存)] をクリックします。

  5. スタティック メッシュ エディタを閉じます

ステップ 3 - プロジェクトで LED スクリーンを定義する

プロジェクト内のスクリーンのレイアウトとジオメトリをカスタマイズして、セットに配置されているものを反映させる必要があります。これらのメッシュは、トラッキング システムとの関係において、実世界の LED ウォールと同じ物理的な位置と寸法である必要があります。セットで使用されているトラッキング システムにはゼロ ポイントがあります。これらのメッシュは、トラッキング システムに関連しているため、同じワールド座標に配置されている必要があります。トラッキング プロバイダーと協力して、ゼロ ポイントがどこにあるかを見つけ、このゼロ ポイントを基準として測定して、オフセットを特定します。

これらの例ではループバック アドレス 127.0.0.1 は使用していません。理由は、同じスイッチボード コンフィギュレーションで他の非ループバックアドレス (他のマシンに属するアドレスなど) と組み合わせて使用できないからです。ループバックは、それを唯一のアドレスとして使用し、各デバイスは Switchboard を実行するマシンに対してローカルという単純な構成のみで使用することができます。複数のマシンにループバックと非ループバックを混ぜて設定すると、接続エラーの原因となります。

エンジン内のスクリーンのレイアウトとジオメトリを変更して、カスタマイズするには、次の手順を実行します。

  1. コンテンツ ブラウザ で、「nDisplayConfigs」フォルダに移動します。

  2. フォルダ内で右クリックし、[Create Asset (アセットを作成)] メニューを開いて [nDisplay] > [nDisplay Config (nDisplay コンフィグ)] を選択します。

    nDisplay Config in the Create Asset menu

  3. 表示された [Pick a starting point for your nDisplay Config (nDisplay コンフィグの開始点を選択)] ウィンドウで、[Create New Config (新規コンフィグを作成)] を選択し、[Finish (完了)] をクリックします。

    Create New Config

  4. 新規 nDisplay コンフィグ アセットに「NDC_ICVFXQuickStart」という名前を付けます。

    Name the new nDisplay Config Asset

  5. NDC_ICVFXQuickStart アセットをダブルクリックし、nDisplay 3D コンフィグ エディタ で開きます。

    Open the new Asset in the nDisplay 3D Config Editor

  6. [Components (コンポーネント)] パネルで、nDisplayScreen コンポーネントを右クリックし、[Delete (削除)] を選択してリストからコンポーネントを削除します。

    Delete nDisplay Screen Component

  7. [Add Component (コンポーネントを追加)] をクリックし、2 つの Static Mesh コンポーネントを [Components] パネルに追加します。

    Add two Static Mesh Components

  8. 一方の Static Mesh に「CurvedWall_Left」という名前を付け、[Details] パネルで ExampleCurvedWallMesh_nDisplay_WallLeft をその Static Mesh パラメータに割り当てます。もう一方に「CurvedWall_Right」という名前を付け、ExampleCurvedWallMesh_nDisplay_WallRight をその Static Mesh パラメータに割り当てます。

    Name the Static Meshes

  9. 両方の Static Mesh コンポーネントを選択し、View Origin コンポーネントの方向に曲がるように回転させます。後の手順で投影ポリシーを設定するまで、メッシュに対する投影のプレビューは表示されません。

    Place and rotate the Static Mesh Components

  10. [Cluster (クラスタ)] パネルで [Add New (新規追加)] ボタンをクリックして、[Add New Cluster Node (新しい Cluster ノードを追加)] を選択します。

    Add New Cluster Node

    NVIDIA Quadro GPU を搭載した NVIDIA Quadro Sync II を使用している場合、項目 Cluster[Cluster] パネルで選択し、[Type (タイプ)][Nvidia (2)] に設定します。

    Set Cluster Type to Nvidia 2

  11. Cluster ノード は、ホスト コンピュータを表します。表示された [Add New Cluster Node] ウィンドウで以下を行います。

    1. [Host IP Address (ホスト IP アドレス)] をご使用のコンピュータの外部 IP アドレスに設定します。複数のマシンをセットアップする場合は、ループバック アドレスと非ループバック アドレスの両方を使用できません。そのため、後で nDisplay クラスターにコンピュータを追加する場合は、デフォルトのローカルホスト IP アドレス 127.0.0.1 の代わりにコンピュータの外部 IP アドレスを使用する必要があります。このステップでは例として IP address 192.0.2.0 を使用します。

    2. [Fullscreen (フルスクリーン)] をオンにし、同期とゲンロックを可能にします。

    3. [Add (追加)] をクリックします。

      Setting the Host IP Address

  12. Cluster ノード が作成され、このノードに新しいビューポートが割り当てられます。[Cluster] パネルでそのビューポートを選択して、[Details] パネルを開きます。

    Select the viewport in the Cluster panel

  13. [Details] パネルで、[View Origin (原点の表示)][DefaultViewPoint] に設定します。これにより、関連付けられているコンポーネントでアウター フラスタムの投影点を制御できます。

    Set View Origin to Default View Point

  14. ビューポートの [Details] パネルの [Projection Policy (投影ポリシー)] セクションで、[Type][Mesh] に設定し、リストから CurvedWall_Left メッシュを選択します。[Components] パネルに追加済みの Static Mesh コンポーネントのみがメッシュのリストに表示されます。

    Set Projection Policy Type to Mesh and select a mesh

  15. ビューポートおよび [Output Mapping (出力マッピング)] パネルに表示されるテスト シーンを確認します。

    Set the test scene

  16. もう一方のウォールのメッシュのビューポートを作成します。Cluster Node を右クリックし、[Add New Viewport (新規ビューポートを追加)] を選択します。

    Add a new viewport

  17. 表示された [Add New Viewport] で次の操作を行います。

    1. [View Origin]DefaultViewPoint に設定します。

    2. [Projection Policy][Type][Mesh] に設定します。

    3. [Projection Policy][Mesh]CurvedWall_Right に設定します。

    4. [Add (追加)] をクリックします。

    Setting up the other wall mesh viewport

  18. 2 つ目のビューポートが作成されます。また、ビューポートおよび [Output Mapping] パネルのウォールのメッシュにテスト シーンが表示されます。

    The second viewport

  19. [Components] パネルで、ICVFXCamera コンポーネントを追加します。このコンポーネントにより、インナー フラスタムのコントロールや機能が提供されます。

    Add an in-camera VFX camera component

  20. 作成された ICVFXCamera コンポーネントを選択し、[Preview Viewport (ビューポートをプレビュー)] で操作します。投影メッシュにインナー フラスタムの投影のプレビューが表示されます。

    The inner-frustum projection preview

  21. アセットを [Compile (コンパイル)] し、[Save (保存)] します。

  22. NDC_ICVFXQuickStart アセットをレベルにドラッグして nDisplay Root アクタ を作成し、クラスタ内でレベルをプレビューします。

    Creating the nDisplay Root Actor

  23. プロジェクトを 保存 します。

このセクションでは、独自の nDisplay コンフィグ アセットを作成し、以前に作成したメッシュを使用してセットアップする方法を説明しました。nDisplay コンフィグ アセットのサンプルはすでにプロジェクトに含まれており、クワッド メッシュ レイアウトを使用しています。このアセットは、コンテンツ ブラウザnDisplayConfigs/nDisplayBasicExample にあります。

ステップ 4 - Switchboard を使用してプロジェクトを起動する

この図は、nDisplay がどのようにインカメラ VFX 用のネットワーク デバイスおよびディスプレイ デバイスと連携しているかを示しています。画像を拡大するにはクリックします。

nDisplay のセットアップでは、「プライマリ」コンピュータとその他のコンピュータの「クラスタ」で構成されています。プライマリ コンピュータは、入力情報を一元的に管理および配信する場所です。また、プライマリ コンピュータは、クラスタ内のすべての PC が同期され、入力とデータを同時に受信できるようにします。nDisplay セットアップの詳細については、「nDisplay の概要」を参照してください。

Switchboard は、1 人のオペレーターで nDisplay クラスタを制御できる外部アプリケーションです。Switchboard は、高度なロギング、システム モニタリング、外部ソフトウェアとの統合などの他の機能も備えており、 Take Recorder を使用してレコーディングされるサードパーティ モーション キャプチャ ソフトウェア テイクを同時にトリガーします。

Switchboard を使用して nDisplay クラスタを起動するには、以下の手順に従います。

  1. ツールバーの [Switchboard] ボタンをクリックします。Switchboard を初めて使用する場合は、コマンド プロンプトが表示され、必須の依存関係がインストールされます。

    Launch Switchboard

  2. ツールバーで [Switchboard] ボタンの横にある矢印をクリックし、ドロップダウン メニューで [Launch SwitchboardListener] を選択します。このコンパニオン アプリケーションは、Switchboard への接続を可能にするため、クラスタ内のすべてのマシンで実行する必要があります。

    Launch Switchboard Listener

  3. プロジェクトの新しい Switchboard コンフィギュレーション を作成します。

    1. 初めて Switchboard を起動する場合、Switchboard を起動すると [Add New Switchboard Configuration (新しい Switchboard コンフィギュレーションの追加)] ウィンドウが表示されます。

    2. Switchboard を起動したことがある場合、ウィンドウの左上の [Configs (コンフィグ)] > [New Config (新規コンフィグ)] をクリックし、[Add New Switchboard Configuration] ウィンドウを開きます。

  4. [Add New Switchboard Configuration] のウィンドウ内で、以下の手順を行います。

    1. [Config Path (コンフィグ パス)]ICVFXQuickStart に設定します。

    2. [uProject] に、コンピュータ内のインカメラ VFX のサンプル プロジェクトの場所を設定します。

    3. [Engine Dir (エンジンのディレクトリ)] に、Unreal Engine 4 の場所を設定します。

    4. [OK] をクリックします。

    Add a new Switchboard config

  5. Switchboard で、[Level (レベル)]Main に設定します。

    Set Switchboard Level to Main

  6. [Add Device (デバイスの追加)] > [nDisplay] をクリックして [Add nDisplay Device (nDisplay デバイスを追加)] ウィンドウを開きます。

    Add an nDisplay device

  7. [Add nDisplay Device] ウィンドウで、[Populate (入力)] ボタンをクリックすると、プロジェクトの利用可能な nDisplay コンフィグ アセットを確認できます。前のセクションで作成した nDisplay アセットである NDC_InCameraVFXQuickStart を選択し、[OK] をクリックします。

    Add the QuickStart Asset

  8. [nDisplay Devices (nDisplay デバイス)] の下にクラスタ ノードが表示されます。

    1. [Connect to listener (リスナーに接続)] ボタンをクリックし、Switchboard Listener に接続します。

      Click Connect to listener on the new node

    2. [Start Unreal (Unreal をスタート)] ボタンをクリックして、nDisplay レンダラを使用して Unreal を起動します。

      Start Unreal button

  9. nDisplay が起動すると、コンピュータのすべてのウィンドウが最小化されて nDisplay ビューが表示されます。

    The nDisplay sample project

ステップ 5 - マルチユーザー セッションに参加する

マルチユーザー編集システムにより、強固な連携が可能になり、あらゆる変更に対応できるようになりました。同じマルチユーザー セッション内に複数のオペレーター マシンを配置することで、さまざまなタスクを実行して、リアルタイムでシーンを修正することができます。nDisplay の設定では、マルチユーザーはクラスタ ノード上の Unreal Engine のさまざまなインスタンス全体にわたる変更の同期を担い、シーンに対するクリエイティブの更新が、確実に撮影中の LED ウォールに即座に同時に表示されるようにします。

以下の手順を実行して、マルチユーザーによって Unreal Editor を nDisplay レンダラに接続します。

  1. Switchboard で、nDisplay ノードの [Stop Unreal (Unreal を停止)] ボタンをクリックします。

    Stop Unreal button

  2. [Settings (設定)] ボタンをクリックし、[Switchboard Settings (Switchboard の設定)] ウィンドウを開きます。

  3. [Multi User Server (マルチユーザー サーバー)] セクションで、次の操作を行います。

    1. [Server Name (サーバー名)]ICVFXQuickStart_MU_Server に設定します。

    2. [Auto Join (自動参加)] をオンにして、すべての Unreal インスタンスまたは nDisplay ノードが自動的に接続を試行できるようにします。

    3. [Auto Launch (自動起動)] をオンにします。これをオンにしないと、マルチユーザー サーバーの実行可能ファイル が起動しません。

      The Multi User Server settings

  4. [Settings] ウィンドウを閉じます。

  5. [Multiuser Session (マルチユーザー セッション)]ICFVXQuickStart_Session_001 に設定します。

    Set the multi user session

  6. nDisplay ノードの横の [Start Unreal] ボタンをクリックし、Unreal Engine を再起動します。

    Start Unreal button

  7. nDisplay ノードの起動が完了するまで待ってから、次の手順に進みます。

  8. エディタの ツールバー で、[Browse (ブラウズ) ボタンをクリックして [Multi-User Browser (マルチユーザー ブラウザ)] を開きます。

    Browse button in the Toolbar

  9. [Multi-User Browser] で、ICVFXQuickStart_Session_001 をダブルクリックし、nDisplay を使用して開始したマルチユーザー セッションに Unreal Editor を接続します。

    The Multi User Browser

    Unreal Editor にメモリ内の変更に関するメッセージが表示され、マルチユーザー セッションに参加できない場合は、エディタに保存されていない変更があり、nDisplay を使用して実行されている現在のプロジェクトの状態にプロジェクトが一致しないことを示しています。マルチユーザー セッションに参加するすべてのプロジェクトの状態は、正確に同じでなければなりません。これを修正するには、nDisplay の起動前に必ずプロジェクトを保存するようにしてください。

  10. [Multi-User Browser] が変更され、現在の接続先のセッションおよび各ユーザーがアクティブなレベルが表示されます。[Clients (クライアント)] カテゴリには、接続されているノードおよびエディタ インスタンスが表示されます。[History (履歴)] には、マルチユーザー セッションを介して実行されたトランザクションがリストされます。[Details (詳細)] には、[History] カテゴリ内で現在選択されているトランザクションについての詳細情報が表示されます。

    The categories of the Multi User Browser

  11. エディタで行った変更が、nDisplay ノードに送信されます。NDC_ICVFXQuickStartDefault View Point コンポーネントを移動し、nDisplay ビューの更新をエディタ内の変更とともに確認します。

    Changes to view origin in Unreal Editor transmitting over multi-user to nDisplay render

ステップ 6 - カメラ トラッキングに Live Link を使用する

Live Link は、カメラ、ライト、トランスフォーム、基本的なプロパティなどのライブ データを取り込むための Unreal Engine のフレームワークです。インカメラ VFX では、Live Link はトラッキングされたカメラ情報の配信で重要な役割を果たし、nDisplay と連携してトラッキング情報を各クラスタ ノードに送信することができます。Unreal Engine では、Vicon、Stype、Mo-Sys、Ncam などの多くのカメラトラッキング パートナーや、その他のプロフェッショナルなトラッキング ソリューションを Live Link によってサポートしています。Live Link では、Live Link ソースとして Vive トラッカーや Vive コントローラー などの XR デバイスもサポートされています。

この手順では、Live Link ソースを利用できるようにしておくことが重要です。このガイドでは、トラッキング用の VR ヘッドセットおよびコントローラーを使用できるように Live Link XR をプロジェクトに設定する方法について説明します。他の Live Link ソースを有効にする場合にも、同様の手順を使用できます。詳細については、「Live Link XR」を参照してください。

nDisplay を使用して Live Link XR 経由でカメラのインナー フラスタムをトラッキングするには、次の手順を実行します。

  1. Unreal Editor の メインメニュー で、[Window (ウィンドウ)] > [Live Link (ライブリンク)] を選択して、[Live Link] パネルを開きます。

    The editor with Live Link highlighted in the Window dropdown

  2. [Live Link] パネルで、[Add Source (ソースを追加)] ボタンをクリックします。ドロップダウンで、[Live Link XR Source (Live Link XR ソース)] を選択します。

  3. 表示された [Connection Settings (接続設定)] パネルで、[Track Controllers (コントローラーを追跡)] および [Track HMDs (HMD を追跡)] を有効にし、[Add (追加)] をクリックします。

    The connection settings

  4. Live Link XR ソースが追加されると、接続されている XR デバイスが [Subject (サブジェクト)] パネルの [XR] セクションに表示されます。

    Connected XR devices

  5. [Subject] パネルで、トラッキングに使用している XR デバイスを選択して、[Details] パネルを開きます。[Details] パネルで Rebroadcast Subject を有効にして、マルチユーザー セッションの他のコンピュータとトラッキング データを共有します。

    Live Link Subject with the property Rebroadcast Subject enabled

  6. [Presets (プリセット)] をクリックして、[Save As Preset (プリセットとして保存)] を選択します。

  7. メイン メニューから [Edit (編集)] > [Project Settings (プロジェクト設定)] を選択します。

  8. [Project Settings (プロジェクト設定)][Plugins (プラグイン)] で、[Live Link] を選択します。

  9. プロジェクトが実行されると自動的にプリセットが適用されるように、[Default Live Link Preset (デフォルトの Live Link プリセット)] に [Live Link] プリセットを追加します。

    Set the Default Live Link Preset

  10. [World Outliner (アウトライナ)][DemoDisplay3_innerFrustum] を選択し、[Details] パネルを開きます。

  11. [Add Component (コンポーネントを追加)] をクリックして [Live Link Controller (Live Link コントローラー)] を選択し、[Live Link Component Controller (Live Link コンポーネント コントローラー)] を Cine カメラ アクタに追加します。

  12. [DemoDisplay3_innerFrustum][Component (コンポーネント)] セクションで、[LiveLinkComponentController] を選択して設定を表示します。

  13. [Live Link][Subject Representation (サブジェクト表現)] パラメータを、使用する Live Link サブジェクトに設定します。この例では、Live Link サブジェクトは SteamVR Controller です。

    Set the Live Link Subject Representation

  14. [NDC_ICVFXQuickStart] の [ICVFX Camera Component (ICVFX カメラのコンポーネント)] を選択し、[Details] パネルを開きます。[Cine Camera Actor (Cine カメラ アクタ)] を [DemoDisplay3_innerFrustum] に設定します。

    Set the Cine Camera Actor

  15. XR デバイスを移動すると、エディタ内のカメラがその動きを模倣します。カメラがメッシュに向くと、nDisplay プレビュー内にインナー フラスタムも表示されます。

    Camera tracking in the sample

  16. プロジェクトを 保存 します。

  17. nDisplay クラスタを再起動し、nDisplay レンダラ内の変更を確認します。

ステップ 7 - グリーン スクリーンとクロマキーを有効にする

LED パネル上のインナー フラスタムで表示されている内容を、仮想ワールドからクロマキー マーカーを含むグリーン スクリーンに変更することができます。

Screenshot of green screen toggled on in the engine

グリーン スクリーンを表示して、クロマキー マーカーを変更するには、次の手順を実行します。

  1. [World Outliner]NDC_ICVFXQuickStart を選択します。

  2. [Details] パネルで ICVFXCamera コンポーネントを選択し、その設定を確認します。

  3. [Details] パネルで ICVFXCamera コンポーネントを選択し、その設定を確認します。

    Enable inner frustum chromakey

  4. インナー フラスタムが緑色になり、その上にトラッキング マーカーがレンダリングされます。

    Inner frustum showing tracking markers

  5. [Chromakey] セクションのパラメータを変更し、カラー、マーカーの配置、およびカスタム マーカーのアルファのテクスチャを変更します。詳細については、「nDisplay Root Actor Reference」を参照してください。

    Changing the chromakey placement

このセクションでは、インナー フラスタムのクロマキーを有効にする方法を説明しました。nDisplay コンフィグ アセットのサンプルは、クロマキーが有効な状態ですでにプロジェクトに含まれており、クワッド メッシュ レイアウトを使用しています。このアセットは、コンテンツ ブラウザnDisplayConfigs/nDisplayExample_Chromakey にあります。

ステップ 8 - ライト カードを追加する

ライト カードは、nDisplay プラグイン コンテンツに含まれています。nDisplay のライト カード制御機能を活用するには、Light Card アクタを個別のレイヤーにスポーンする必要があります。また、最適な効果を得るには、Light Card アクタが Config アクタのアウター フラスタムのビューポイントの子である必要があります。

ライト カードをプロジェクトに追加するには、次の手順を実行します。

  1. コンテンツ ブラウザ[View Options (表示オプション)] をクリックし、[Show Engine Content (エンジンのコンテンツを表示)][Show Plugin Content (プラグイン コンテンツを表示)] の両方を有効にします。

    View Options for the Content Browser

  2. [Sources (ソース)] パネルで「nDisplay Content/LightCard」フォルダを開きます。

    Open the nDisplay Content Lightcard folder

  3. ブループリント「LightCard」をレベルにドラッグします。[World Outliner]LightCard アクタを NDC_ICVFXQuickStart の親にします。

    Dragging a Lightcard into the level

    スプラインにより、ライト カードの緯度経度の位置が視覚化されます。アウター フラスタムに対してより適切な投影を行うには、nDisplay Root アクタの View Origin コンポーネントと同じ場所に Light Card アクタを配置します。

  4. メイン メニューで、[Window] > [Layers (レイヤー)] を選択し、[Layers] パネルを開きます。

    The Layers panel

  5. [Layers] パネルで右クリックし、ドロップダウンから [Create Empty Layer (空のレイヤーを作成)] を選択します。このレイヤーに「ICVFXQuickStart_LightCards」という名前を付けます。

    Create and name a Layer

  6. [World Outliner (ワールド アウトライナー)]NDC_ICVFXQuickStart を選択します。[ICVFXQuickStart_LightCards] レイヤーを右クリックし、[Add Selected Actors to Selected Layers (選択したレイヤーに選択したアクタを追加)] を選択します。

    Add Lightcard Actors to the Layer

  7. [World Outliner][DemoDisplay3_innerFrustum] を選択し、[Details] パネルを開きます。

  8. [Details] パネルの [Light Cards] で、[Array element (配列要素)][Layers] パラメータに追加します。

    Add an Array element to the Layer

  9. [Layer Array element (レイヤーの配列要素)][ICVFXQuickStart_LightCards] に設定します。

    Set the Layer Array element to your Lightcard

ライト カードの設定の詳細については、「nDisplay Root アクタの参照」を参照してください。

ステップ 9 - 複数のフラスタムを使用して撮影する

nDisplay コンフィグ アセットでは、複数のインナー フラスタムが表示される場合があります。このステップでは、2 番目の ICVFXCamera コンポーネントを NDC_ICVFXQuickStart nDisplay コンフィグ アセットに追加し、複数のフラスタムでの撮影用に設定します。

以下の手順に従って、nDisplay コンフィグ アセットに別の ICVFX Camera コンポーネントを追加します。

  1. 次の手順に進む前に、すべての nDisplay ノードを停止します。

  2. コンテンツ ブラウザ で、NDC_ICVFXQuickStart アセットをダブルクリックします。現在、[Components] パネルには ICVFXCamera コンポーネントがすでに存在します。

    Open the Camera Component

  3. [Add Component] をクリックし、別の ICVFXCamera コンポーネントを追加します。必ず、コンポーネント階層内で両方が ルート コンポーネント の子になるようにします。2 つの ICVFXCamera コンポーネントに、次の名前を付けます。

    1. ICVFXCamera_ACam

    2. ICVFXCamera_BCam

    Naming the cameras

  4. 新しい ICVFXCamera コンポーネントを選択し、複数のフラスタムの投影が表示されるようにビューポート内で操作します。

    Manipulting the multiple frustums

  5. nDisplay コンフィグ アセットを コンパイル して 保存 します。

  6. このアセットから自動的に作成される nDisplay Root アクタは、レベル内の 2 番目のカメラを使用して更新されます。

  7. [World Outliner][NDC_ICVFXQuickStart] を選択し、[Details] パネルを開きます。[Details] パネルの [In-Camera VFX] で、[Inner Frustum Priority (インナー フラスタムの優先順位)] を展開し、カメラの順位を変更します。オーバーラップが発生した場合、リストの最初の方のカメラが、もう一方の上にレンダリングされます。

    Demonstrating frustum priority

  8. ICVFXCamera コンポーネントから参照する新しい CineCamera アクタ をレベルに追加します。LiveLinkComponentController を新しい CineCamera アクタ に追加し、Live Link サブジェクト をコンポーネントに接続します。

このセクションでは、nDisplay コンフィグ アセットに対し、独自のインナー フラスタムを持つ別のカメラを追加する方法を説明しました。2 つのカメラを備えた nDisplay コンフィグ アセットのサンプルはすでにプロジェクトに含まれており、クワッド メッシュ レイアウトを使用しています。このアセットは、コンテンツ ブラウザnDisplayConfigs/nDisplayExample_multiFrustum にあります。

ステップ 10 - OpenColorIO コンフィギュレーションを適用する

このセクションでは、プラグイン コンテンツの OCIO コンフィグ ファイルから OCIO Configuration アセット を作成し、nDisplay Root アクタ のビューポートに割り当てる方法について説明します。

次の手順に従って、プロジェクトで OCIO コンフィギュレーションを使用します。

  1. [World Outliner][NDC_ICVFXQuickStart] を選択し、[Details] パネルを開きます。

  2. [Details] パネルの [OCIO] で、[Enable Viewport OCIO (ビューポートの OCIO を有効化)] をオンにします。

  3. [All Viewports Color Configuration (すべてのビューポートのカラー構成)] を展開します。

    1. [Configuration Source (コンフィギュレーション ソース)][ExampleOCIO] に設定します。

    2. [Source Color Space][Utility - Raw] に設定します。

    3. [Destination Color Space (変換先色空間)][Output -sRGB Monitor (出力 -sRGB モニター)] に設定します。

Set the destination color space settings

次の手順では、プロジェクトに OCIO コンフィギュレーションを追加する方法を説明しています。ビューポートごとに OCIO コンフィギュレーションを設定し、インナー フラスタムを個別に設定することもできます。実行方法の詳細については、「nDisplay のカラー マネジメント」を参照してください。

ステップ 11 - シーンをリモートで制御する

Remote Control Web Interface は、Remote Control API を利用する、カスタマイズ可能な Web アプリケーションです。このセクションでは、リモート コントロール プリセット を作成し、Web ブラウザ インターフェースからレベルに変更を加える方法について説明します。

次の手順に従って、独自のリモート コントロール プリセットおよびリモート コントロール Web アプリケーションを作成します。

  1. コンテンツ ブラウザ で右クリックして [Miscellaneous (その他)] > [Remote Control Preset (リモート コントロール プリセット)] を選択し、新しい Remote Control Preset アセットを作成します。

    Create a new Remote Control Preset

  2. [Remote Control Preset] アセットをダブルクリックして、[Remote Control Panel (リモート コントロール パネル)] を開きます。

    The Remote Control Panel

  3. [Remote Control Panel] で、[Edit Mode (編集モード)] を有効にし、[Details] パネルのプロパティの横にある閉じた目と開いた目のボタンを表示します。

  4. [World Outliner]WebControlMannequinStatic アクタを選択し、[Details] パネルを開きます。

  5. [Details] パネルの [Transform (トランスフォーム)] セクションで、[Expose (公開)] ボタンをクリックして Location プロパティと Rotation プロパティを Remote Control API に公開します。

    Expose the Locaton and Rotation properties to the Remote Control API

  6. [Remote Control Panel] で、[Control Panel (コントロール パネル)] ウィンドウの [Default Group (デフォルト グループ)] の横にある [Edit (編集)] ボタンをクリックし、このプロパティのグループに「Mannequin Transforms」という名前を付けます。

    Name the group

  7. [Remote Control Panel][Launch Web App (Web アプリを起動)] ボタンをクリックし、Remote Control Web Application に接続する Web ブラウザを起動します。ローカル コンピュータでは、127.0.0.1:7000 でこの Web アプリにアクセスできます。

    Launch the web browser to connect to the Remote Control Web Application

  8. [Remote Control Web Application] で、[Control (コントロール)] の切り替えを [Design (デザイン)] モードに切り替えます。

    Toggle between Control and Design

  9. [Properties (プロパティ)] タブを選択します。

  10. 空白のキャンバスに、Relative Location をクリックしてドラッグします。インターフェースにプロパティが追加されると、[Properties (プロパティ)] タブ内のプロパティの横に青色の円が表示されます。

    Click and drg the Relative Location widget

  11. 同じキャンバスに、Relative Rotation をクリックしてドラッグします。

  12. キャンバスで Relative Location ウィジェット を選択し、その設定を開きます。

  13. Relative Location のウィジェットの設定で、[Widget (ウィジェット)][Joystick (ジョイスティック)] に設定し、ウィジェットの外観を変更します。

    Set the widget to joystick

  14. Relative Rotation ウィジェット を選択し、その設定を選択します。

  15. Relative Rotation のウィジェットの設定で、[Widget][Sliders (スライダ)] に設定します。

  16. Design モードから Control モードに切り替えて、インターフェースをロックします。

  17. エディタのビューポートが表示された状態で、UI コントロールを操作し、レベルにどのような影響を与えているかを確認します。

    Manipulating the Remote Control UI to affect your level

ステップ 12 - 応用編

このガイドでは、LED スクリーンでのディスプレイのセットアップ、複数のコンピュータでのプロジェクトの起動、プロジェクトへのカメラ トラッキングの組み込みについて説明しました。追加の nDisplay コンフィグ アセットのサンプルがプロジェクト内の「nDisplayConfigs」フォルダに含まれています。このサンプルは、複数ノードや mGPU など、他のコンフィギュレーションでクラスタを設定する方法を説明しています。

マルチディスプレイ構成では、ソフトウェア レベルとハードウェア レベルの両方で同期機能が必要になります。生成されたコンテンツは、シミュレーションのための同一のタイミング情報を使用してすべての PC で同時に生成される必要があるだけでなく、ディスプレイ スワップ (ビデオ カード バッファ中での次の映像のための現在の映像の置換) を正しいタイミングで実行して、ディスプレイで「ティアリング」アーティファクトが発生しないようにする必要もあります。複数台のディスプレイでのシームレスな表示を作成するためのディスプレイの同期とマシンでゲンロックを設定する方法については、「nDisplay での同期」を参照してください。

ディスプレイの同期に加えて、エンジンのタイムコードとフレーム生成は、カメラからの入力と一致させる必要があります。すべての機器間でタイムコードを同期し、エンジンをゲンロックする手順については、「タイムコードとゲンロック」を参照してください。

撮影中にシーンやディスプレイをコントロールするには、次のインカメラ VFX のハウツー ガイドもご利用いただけます。

このガイドでは、インカメラ VFX プロジェクトの基本を紹介しました。実際のプロダクション プロジェクトの例については、「インカメラ VFX のプロダクション テスト」を参照してください。

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