インカメラ VFX は、ライブ アクションによる映像の撮影中にリアルタイム ビジュアル エフェクトを撮影するための驚くような新しい手法です。この手法では、LED ライティング、ライブ カメラ トラッキング、軸外し投影をともなったリアルタイム レンダリングの組み合わせを活用することにより、前景の出演者とバーチャルな背景をシームレスに統合します。インカメラ VFX の主な目的は、グリーン スクリーン合成の必要をなくし、最終的なピクセルをカメラ内で作成できるようにすることです。高品質なリアルタイム ビジュアル エフェクトを制作するうえでの課題の 1 つは、すべてを同時に実行するためにテクノロジーを同期することです。
Unreal Engine では、nDisplay、Live Link、マルチユーザー編集、Remote Control などの複数のシステムを使用して、この手法をサポートしています。このドキュメントでは、このワークフローに必要な機能と、インカメラ VFX 撮影用のセットを作成する際に考慮する必要のある点について説明します。
これは、没入型 LED ボリューム内のインカメラ VFX を使用しているセットの画像です。メインの LED ウォールに表示されているピクチャーインピクチャーは、カメラの視野を表示しており、カメラの インナー フラスタム レンダリングと呼ばれています。このインナー フラスタムは、現在のレンズの焦点距離を基準としたカメラの視点からの視野角 (FOV) を表しています。シーン内でカメラが移動すると、このインナー フラスタムに表示されている映像も実物のカメラに追従し、Unreal Engine 環境でカメラが視認している映像に相当するバーチャルな映像が常に表示されます。実世界のカメラを通して見ると、このシステムで視差効果が生まれ、フラットな背景板を使用するのではなく、完全なバーチャルの 3D ワールドを活用して、実世界の場所で撮影しているような感覚を覚えます。
カメラの FOV 外の LED ボリュームに表示されるコンテンツは、アウター フラスタム と呼ばれています。このアウター フラスタムは、LED パネルを実際のセットのためのダイナミックなライトと反射の光源に変換します。これは、LED パネルが仮想ワールドでセットを囲み、あたかも実世界の場所であるかのようにセットを照明で照らしているためです。カメラが動いても、アウター フラスタムは静止したままです。これにより、ライトや反射が実世界ではカメラと一緒に移動しない状況を再現します。Unreal Engine 環境内の目的の場所に各ショットのセットアップを配置して、ステージ上のシーンをライティングするためにアウター フラスタムがレンダリングする内容を決定することができます。
LED パネル
LED ステージの設計とその目的の用途は、インカメラ VFX セットアップに不可欠です。必要な LED ボリューム内のパネルの数と配置方法によって、その他のハードウェアのセットアップが決定されます。LED パネルを演者の周りに円弧状に配置することで、環境光と反射を向上させることができます。また、シーン全体の環境光と反射を担う LED シーリングを提供するのにも役立ちます。完全な仮想環境の作成を意図するプロダクションでは、正確なセット照明と反射を実現するために、少なくとも 270 度にわたって囲むことができるボリュームが必要になる場合があります。セットの大部分が実物の構築物であり、仮想ワールドはセットの窓などセットの一部にのみに必要な場合は、1 面またはカーブしたウォールの使用を検討してください。制作予算、物理的なスペースの制約、また場合によっては、製造元からのパネルを入手できるかどうかを含むその他の要因も、LED ステージの設計に影響する場合があります。
LED ボリュームは、キャビネット のクラスタで構成されています。各キャビネットは、屋外看板に使用できる 92×92 ピクセルのきわめて低い解像度から、屋内表示向けの 400×450 ピクセルの超高解像度まで、解像度は固定されています。各キャビネットの物理サイズは、製造元によって異なる場合があります。
LED プロセッサ は、複数のキャビネットを組み合わせて 1 つの画像を表示する単一のアレイを構成するハードウェアとソフトウェアです。LED プロセッサが制御するキャンバス内に、任意の構成でキャビネットを配置することができます。大型の LED ステージでは、シームレスな LED ウォールを制御する 10 台以上の LED プロセッサが配置されている場合があります。
ピクセル ピッチ は、キャビネット内のピクセルの密度を表し、その全体的な解像度と相関します。ピクセル ピッチは、通常、mm 単位で表され、各 LED ライト間の距離を表します。LED 同士の間隔が狭いほど、ピッチは小さくなり、ピクセル密度は高くなります。ピクセル密度が高いほど、解像度と品質が顕著に向上し、キャビネットごとのコストも増大します。
ピクセル ピッチの小さいキャビネットでも制作に適した製品であるとは限りません。これは、視野角、カラー シフト、色の一貫性、熱放散などの他の要因も考慮する必要があるためです。制作に最も適した製品を特定するためには、専門の LED システム インテグレータにご相談ください。
画面からの距離、ピクセル ピッチ、カメラのセンサー サイズの組み合わせで、目に見えるアーティファクトを一切表示することなく、LED ウォールからどのくらいの離れて被写体を撮影する必要があるかを判断することができます。LED を使用した撮影時に表示される視覚的なアーティファクトの 1 つに モアレ パターン があります。モアレ パターンは、ディスプレイ システムとカメラ センサーのピクセルがわずかにずれている場合によく出現する光学的アーティファクトです。モアレ パターンは、カメラのフォーカス プレーンが 3D 空間の LED パネルと一致している場合に表示される場合があります。カメラのフォーカスを LED サーフェスの前か後ろに配置して、画像の焦点を少しずらすことをお勧めします。また、モアレ パターンは、多くの場合、LED サーフェスに対して厳しい角度で表示されます。できる限り、LED サーフェスに対してカメラの角度を垂直に保つようにしてください。
ハードウェア
インカメラ VFX では、撮影セットで様々な機能を担う複数の機器が接続されている複雑なネットワークで必要です。この図は、3 つの LED パネルを使用したセットのハードウェア レイアウト例です。次の表は、セットアップにおける各種マシンの役割を示しています。インカメラ VFX での制作用に検討すべき専用のハードウェアについては、「インカメラ VFX 推奨ハードウェア」を参照してください。
機器 | 説明 |
---|---|
マスター クロック | マスター クロックはこのシステムの中核です。データの受信または記録を行うすべての機器が撮影中に同期されていることを保証します。 |
ネットワーク | すべてのマシンで、スループットが高く、セキュリティが保護された LAN を使用することを強くお勧めします。 |
nDisplay レンダリング ノード | 各レンダリング ノードは LED ボリュームの一部を制御します。つまり、各ノードには NVIDIA Quadro II Sync カードの他に NVIDIA GPU も必要になります。 |
UE プライマリ | このステーションは、通常、ステージ セットアップの構成を行う主要なオペレータのワークステーションです。また、nDisplay クラスタ、Remote Control Web アプリケーション、マルチユーザー サーバーを起動するための追加アプリケーションも実行します。 |
UE エディタ — (テクニカル アーティスト) | このワークステーションはマルチユーザー セッションで運用し、ステージ指向のオペレーターがプライマリー マシンで作業を進行させながら、アーティストがクリエイティブなリアルタイムのシーン調整を行います。 |
UE レコード | このワークステーションは、Take Recorder を使用して撮影中のカメラ、照明、小道具の変更を記録します。 |
UE コンポジット | このワークステーションは、Composure でのライブ合成をレンダリングします。このセットアップではオプションです。 |
UE VR スカウト | このワークステーションは、VR ヘッドセットを搭載しており、撮影中に環境をスカウトします。撮影中だけでなく、セットで個別にも活躍します。 |
Perforce プロキシ | Perforce プロキシは、外部の Perforce サーバーへのオンサイトの高速接続です。 |
Remote Control Web アプリ | これは、HTML、CSS、および JavaScript フレームワークで作成された Web アプリで、Web ブラウザを使用してタブレットやデバイスからシーンをリモートで操作できます。 |
カメラ トラッキング | カメラ トラッキングでは、カメラの 3D 位置を導出するために、オプティカル トラッキング、フィーチャー トラッキング、またはメカニカル トラッキングを行うことができます。このセットアップには、トラッキング会社が提供する小型の PC やサーバーを含めることができます。 |
カメラ | これは、セット上のデジタル シネマ カメラであり、カメラ トラッキング システムとペアリングすることができます。 |
ビデオ ビレッジ | ビデオの再生およびレビューを担う中心部です。 |
カメラ トラッキング
カメラ トラッキングは、カメラの位置や動きを実世界から仮想ワールドに中継するために必要です。このテクノロジを使用すると、制作カメラの正しい視点が仮想環境に対して相対的にレンダリングされます。インカメラ VFX でのカメラ トラッキングには、複数の異なる方法があります。
カメラ トラッキングの最も一般的な方法には、次のものがあります。
-
オプティカル トラッキング: オプティカル トラッキング システムでは、特殊な赤外線感度カメラを使用して、反射マーカーまたはアクティブな赤外線マーカーを追跡して、プロダクション カメラの位置を特定します。
-
フィーチャー トラッキング: フィーチャー トラッキングでは、オプティカル トラッキング システムが使用するカスタム マーカーをトラッキングするのではなく、トラッキング ソースとして実世界の物体の特定の画像パターンを識別します。
-
慣性トラッキング: 慣性計測装置 (IMU) にはジャイロスコープと加速度計が搭載されており、カメラの位置と方向を特定します。IMU は、オプティカル トラッキング システムとフィーチャー トラッキング システムの両方でよく使用されます。
インカメラ VFX では、オプティカル トラッキングと慣性トラッキングを併用するなど、カメラの位置および向きを測定するために複数のソースを使用することをお勧めします。複数のソースを使用することで、単一の技術を使用する場合よりも、全体的なカメラ トラッキング データを向上させることができます。
Live Link
Live Link は、カメラ、ライト、トランスフォーム、基本的なプロパティなどのライブ データを取り込むための Unreal Engine のフレームワークです。インカメラ VFX では、Live Link はトラッキングされたカメラ情報の配信で重要な役割を果たし、nDisplay と連携してトラッキング情報を各クラスタ ノードに送信することができます。Unreal Engine では、Vicon、Stype、Mo-Sys、Ncam などの多くのカメラトラッキング パートナーや、その他のプロフェッショナルなトラッキング ソリューションを Live Link によってサポートしています。詳細については、「Live Link Plugin」を参照してください。
Camera Calibration
CG レンダリングやライブ ビデオから正確なコンポジションを作成するには、Unreal Engine ではバーチャル カメラが必要です。バーチャル カメラは、実世界のビデオ映像の撮影に使用される物理カメラを正確にシミュレートします。バーチャル カメラの位置と向きは、物理カメラと厳密に一致している必要があります。また、どの瞬間でも各ビデオ フレームをカメラの位置と正確に同期していることを保証するため、追跡情報がビデオ フィードの正確なタイミングと一致している必要があります。
Camera Calibration プラグインでは、エディタ内のカメラおよびレンズをキャリブレーションする簡素化されたツールとワークフローを提供します。このキャリブレーション プロセスにより、バーチャル カメラを空間内の物理カメラの位置と正確に位置合わせするため、また物理カメラのレンズ歪みをモデル化するために必要なデータが生成されます。このプラグインでは、カメラとレンズのすべてのキャリブレーション データをカプセル化する Lens File アセット タイプが導入されます。
また、Camera Calibration プラグインは、キャリブレーション済みの歪みデータを取得し、CG レンダリングに正確なポストプロセス エフェクトを適用する、優れたレンズ歪みパイプラインを備えています。歪みのポストプロセス エフェクトは、 Cinecamera に直接適用でき、 ムービー レンダー キュー で使用したり、 Composure の CG レイヤーに対して使用したりできます。
このプラグインのツールとフレームワークは拡張性と柔軟性を備え、幅広いレンズとワークフローに対応しています。
詳細は、「Camera Calibration」を参照してください。
インカメラ VFX のタイムコードとゲンロック
インカメラ VFX 映像セットでは、すべての機器間できわめて正確に同期を取ることが非常に重要です。カメラ、コンピュータ、トラッキング システムなどの各機器は内部クロックを備えています。2 つの機器がまったく同じものであったとしても、内部クロックは互いに同期していません。このため、統一されていないと、結果として表示されるディスプレイにティアリングなどの問題が発生することがあります。nDisplay でゲンロックすることで、このような問題を防ぐことができます。nDisplay での同期化とゲンロックの詳細については、「nDisplay での同期」を参照してください。
ディスプレイの同期に加えて、エンジンのタイムコードとフレーム生成は、カメラからの入力と一致させる必要があります。すべての機器間でタイムコードを同期し、エンジンをゲンロックする手順については、「タイムコードとゲンロック」を参照してください。
なお、インカメラ VFX 用の環境を構築する際には、nDisplay に考慮する必要がある特定の制限があるのでご注意ください。SSGI、SSAO、SSR、ビネット、明暗順応、ブルームなどのスクリーン空間エフェクトは使用しないでください。これらはスクリーン空間で処理されるエフェクトであるため、nDisplay システム内の 2 つのクラスタ ノード間の境界線に問題が生じる可能性があります。
インカメラ VFX のマルチユーザー編集
マルチユーザー編集システムにより、強固な連携が可能になり、あらゆる変更に対応できるようになりました。プライマリ オペレーター マシンは、シーンの変更を行い、さらに nDisplay のレンダリング マシンをライブで更新します。同じマルチユーザー セッション内に複数のオペレーター マシンを配置することで、様々なタスクを実行して、リアルタイムでシーンを修正することができます。マシンの例としては、VR スカウト専用マシンや、Composure を使用したライブ合成マシンなどがあります。1 台のマシンがマルチユーザー サーバーを実行して、その他のすべてのマシンがそのサーバーに接続します。これらのマシンからのシーン変更は、サーバーから他のすべてのマシンにトランザクションとして送信されます。概念上は、エンジンで 元に戻す ことができるアクションはすべて処理され、マルチユーザー サーバを介して送信されます。
マルチユーザー編集をプロジェクトに追加する方法については、「マルチユーザー編集入門」を参照してください。ネットワークでサーバーを自動検出できない場合は、「高度なマルチユーザー ネットワーク」の手順を実行してください。
ライブ合成
ショットで最終仕上げをインカメラで行うことができない場合は、フォールバック オプションを利用できます。インナー フラスタムは、調整可能なトラッキング マーカーを含むグリーン スクリーンに簡単に変更できます。アウター フラスタムでは、引き続き Unreal Engine 環境のレンダリングを表示することができます。
カメラの FOV 内でのみグリーン スクリーンを使用することで、特定のショットに必要なグリーン スクリーンの量を最小限に抑えることができます。グリーン スクリーンが少ないということは、演者やセットにグリーンがかかってしまうことが減ります。Unreal Engine 環境からのレンダリングをアウター フラスタムに表示し続けることで、インカメラ VFX の実世界のライティングおよび反射機能を引き続き活用することができます。この両方により、合成用のグリーン スクリーン要素が改善されます。
グリーン スクリーン ショットには、ライブ合成によるメリットもあります。ライブ合成により、映像製作者や演者は、従来のグリーンの海ではなく、最終的な映像がどのようなものになるのかをしっかりと把握できます。このような合成は、編集用のプレビュー ショットとしても非常に価値があります。
Composure は、Unreal Engine のリアルタイム合成用のフレームワークです。この一連の機能を使用することで、ライブ ビデオ フィード、AR 合成、グリーン スクリーン キーイング、ガーベージ マット、色補正、レンズの歪みを映像に含めることができます。Composure は、独自のマテリアル エフェクトを拡張して作成することができる柔軟なシステムです。詳細は「Composure」を参照してください。
インカメラ VFX のリモート コントロール
インカメラ VFX の撮影では、非常に多くのマシンを使用することがあるので、セットで Web アプリからリアルタイムにシーンを制御できると役立ちます。たとえば、色補正、ライティング、演者のバーチャル位置を Web アプリから変更することができます。インカメラ VFX のサンプル プロジェクトには、サンプルのリモート コントロール プリセットと Web アプリケーションが含まれており、このテクノロジーを制作ワークフローに組み込む方法を紹介しています。リモート コントロール プリセットを使用するだけでなく、UI ビルダを使ってコントロールを自分のプロジェクトに合うようにカスタマイズすることもできます。Unreal Engine での Web リモート コントロールの詳細については、「リモート コントロール」を参照してください。
色に関する考慮事項
インカメラ VFX での撮影では、ショット間の色の一貫性を確保することが重要です。ライブ アクション カメラを覗いて最終的な映像を確認したり、アウター フラスタムを光源として表示する LED パネルでテストしたりすることをベスト プラクティスとしてお勧めします。
これらのベスト プラクティスに従って、ショット間の一貫性を確保してください。
-
すべてのカメラで同じ出力が生成されるわけではありません。撮影の間に異なるカメラを使用すると、結果として得られるキャプチャの色が異なってしまう場合があります。これを避けるために、LED ボリュームを使用した撮影を通じて同じカメラを使用してください。
-
光源として LED ボリューム上のビジュアルを使用して、ステージ上のライブ アクション アセットをテストします。LED パネルからのライトは、ステージの要素に他のライトとは異なるエフェクトをもたらす可能性があります。
-
エンジンからのコンテンツがトーン カーブを持たず、リニア sRGB 色空間で LED パネルに入力されるように、トーンマッパーが無効になっていることを確認してください。トーンマッパーを無効にするには、コンソール・コマンド ShowFlag.Tonemapper 0 を使用します。
OpenColorIO
OpenColorIO、または OCIO は映画やバーチャル プロダクションで主に使用されるカラー マネジメント システムです。OCIO により、撮影されたビデオのカラーの一貫性が、フィルム パイプライン全体で維持されます。このパイプラインには、最初のカメラでの撮影から、撮影されたメディアで作業するために必要なすべてのコンポジット アプリケーションを含め、最終レンダリングまでが含まれます。
OCIO は Unreal Engine でプラグインとして利用できます。プラグインをオンにすると、OCIO プロファイルをエディタ、または nDisplay で個別のディスプレイに適用することができます。詳細は、「nDisplay でのカラー管理」を参照してください。
ステージ モニター
ライブ環境のステージを操作するとき、Unreal Engine 4 のインスタンスを実行する複数のマシンが、互いに影響を及ぼして、連動します。オペレーターは LED ウォールのレンダリングにインスタンスを使用することがあります。それらは、エディタでシーンを変更するために使用されることも、合成するために使用されることもあります。ステージ モニターでは、UE4 のすべてのインスタンスから異なるイベントのレポートを受け取ることができ、セットアップのすでての問題をトラブルシューティングできます。
詳細は、「時間指定データ モニター」を参照してください。
時間指定データ モニター
Unreal Engine では、さまざまなデータ タイプを複数のソースから同時に取り込むことができます。例えば、バーチャル プロダクションでは SDI のカメラからキャプチャ済みのフレームを受け取ったり、Live Link を通じてトラッキング システムからカメラの位置および向きを受け取ったりすることができます。時間指定データ モニター (Timed Data Monitor) は、受信するこのような時間指定データ同士の関係性やエンジンの時間との関連性を設定・視覚化するためのソリューションです。
詳細は、「時間指定データ モニター」を参照してください。
レベル スナップショット
レべル スナップショット を使用すると、レベルの [World Outliner (アウトライナ)] の アクタ の具体的な構成を保存して、後でシーンをその状態にすばやく復元することができます。これにより、複雑なセットアップを劇的に合理化したり、さまざまなシナリオで同じレベルの複数のバリエーションの重複を予防したり、管理を回避したりできます。レベル スナップショットは、特にバーチャル プロダクションに有用です。レベル スナップショットを利用すると、テイク間で仮想環境を最初の状態にリセットすることや、ベースとなるレベルの開始点を維持しながら、ショット間で加えられた変更をショットごとに追跡することができるからです。
ソース コントロールとレベル スナップショットを組み合わせて使用して、プロジェクトのアセットとアクタの両方のバージョンを管理することをお勧めします。詳細については、「レベル スナップショット」を参照してください。
インカメラ VFX のサンプル プロジェクトとテンプレート
このページでは、インカメラ VFX に必要なテクノロジーやハードウェアの概要について説明しました。このワークフローの詳細を理解するために、インカメラ VFX プロジェクトを開始できるサンプル シーンとベース レベルを含む In-Camera VFX Example プロジェクトを用意しています。サンプル プロジェクトを別の LED ボリューム用に変更して、すべてのマシンで必要なプログラムを実行する手順については、「インカメラ VFX のクイック スタート ガイド」を参照してください。インカメラ VFX にすでに詳しい場合は、In-Camera VFX テンプレート で最初からプロジェクトを作成するためのツールとアセットの基本的なセットアップについて説明されています。
インカメラ VFX Production テスト
インカメラ VFX Production テスト は、テイク間で素早く変更するための Unreal Engine と LED Volume を使って走行車両のショット、複数カメラのセットアップ、マルチユーザーのセットアップを特徴とする、Unreal Engine マーケットプレイスから入手できるバーチャル プロダクション サンプルです。このサンプルは映画制作会社の Bullitt 社の協力で作成されました。チームは、ロサンゼルスの NantStudios の LED ステージで、4 日間にわたってカメラ内で最終的なピクセルを作成しました。
制作および使用された技術に関する情報については、In-Camera VFX Production Test を参照してください。