インカメラ VFX のプロダクション テストは、Unreal Engine と LED ボリュームを使用した走行中の車両の撮影、マルチカメラの設定、撮影の合間に素早く変更できるマルチユーザー設定を特徴とする、バーチャル プロダクション サンプルです。 このサンプルは映画制作集団の Bullitt と共同で制作されました。 チームは、4 日間かけてロサンゼルスにある Nant Studios の LED ステージでインカメラの最終ピクセルを制作しました。
このサンプルの内容を確認または変更すると、以下について学習することができます。
制作中のシーンで複数のアーティストが同時に共同作業できるようにバーチャル プロダクション プロジェクトを構成します。
マルチユーザーによる GPU ライトマスを使用して、1 台のコンピュータでライティングをベイクし、セッション内のすべてのコンピュータに共有してライティングの変更を迅速に行うことができます。
マルチスクリーンの nDisplay クラスタで mGPU を使用してインナー フラスタムをレンダリングします。
各シーンに合わせて思いどおりの見た目にするために、nDisplay のレンダリングに色補正と OCIO プロファイルを適用します。
制作のニーズに合わせてリモートコントロール Web アプリケーションの UI をビルドし、撮影現場でタブレットから素早く変更することができます。
プロジェクトのパフォーマンスを向上させるために CVars を適用します。
このガイドは、最終結果を得るためにプロジェクトにおいて制作チームが Unreal Engine の機能をどのように使用したかを説明します。 作品のデザインする際、このプロジェクトを参考にしてください。 インカメラ VFX の基礎の学習は、「インカメラ VFX のクイック スタート ガイド」を参照してください。 この作品のメイキング映像は、「Unreal Engine のスポットライト」を参照してください。
ステージ設定とハードウェア
以下のボリュームをレンダリングするために、各ノードに 2 つの LED パネルを割り当てた 4 つの nDisplay ノードを使用しました。
ウォール: 5 枚の LED パネルで合計 15312 x 2112 の解像度。
天井: 3 枚の LED パネルで合計解像度 4160 x 5280。
この実際の制作サンプルは、CPU 負荷と GPU 負荷の両方が高いので、この大きな LED ボリュームにカメラで撮影可能な解像度でレンダリングすることができます。 以下の図は、プロダクションに寄与するすべてのデバイスとステージ上のデバイスの接続を示しています。 撮影時の各機器の役割については、「インカメラ VFX の概要」を参照してください。 インカメラ VFX 撮影に推奨されるハードウェアについては、「インカメラ VFX 推奨ハードウェア」を参照してください。
はじめに
LED ボリュームがなくても 1 台のコンピュータでシーンを見ることができるように、プロジェクトにはプロダクションで使用される実際のステージのトポロジを表す nDisplay 構成 に加えてシンプルな nDisplay 構成が含まれます。 このセクションではシンプルな nDisplay コンフィグを使用して 1 台のコンピュータでシーンをレンダリングし、マルチユーザー セッションで変更を加える方法をご紹介します。
以下の手順に従って、コンピュータ上にマルチユーザー セッションのnDisplay レンダラを使って Unreal Editor のインスタンスとUnreal Engine のインスタンスを起動してください。
Fab からインカメラ VFX のプロダクション テスト サンプルにアクセスし、ライブラリに追加をクリックして、プロジェクト ファイルを Epic Games Launcher に表示します。
または、Launcher 版 Fab または UE の Fab プラグインを使用してサンプル プロジェクトを検索できます。
Epic Games Launcher から、[Unreal Engine] > [ライブラリ] > [Fab ライブラリ] の順に移動して、プロジェクトにアクセスします。
サンプル プロジェクトは、互換性のあるバージョンのエンジンをインストールした場合にのみ Fab ライブラリに表示されます。
プロジェクトを作成をクリックし、画面に表示される手順に従ってサンプルをダウンロードし、新規プロジェクトを開始します。
Fab のサンプル コンテンツにアクセスする方法の詳細については、「サンプルとチュートリアル」を参照してください。
コンピュータ上の「Unreal Engine」フォルダに移動し、Engine\Binaries\Win64\SwitchboardListener.exe を実行して SwitchboardListener をコンピュータで起動します。 リスナーのウィンドウは起動時に自動で最小化し、nDisplay デバイスでの問題を回避します。 このアプリケーションは OS のタスクバーにあります。
次はフルパスの例です。
C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\Win64\SwitchboardListener.exe「Unreal Engine」フォルダで、Engine\Plugins\VirtualProduction\Switchboard\Source\Switchboard\Switchboard.bat を実行し、コンピュータで Switchboard を起動します。 初めて Switchboard を起動する場合、アプリケーション ウィンドウが開く前に必要な依存関係がインストールされます。
次はフルパスの例です。
C:\Program Files\Epic Games\UE_4.27\Engine\Plugins\VirtualProduction\Switchboard\Source\Switchboard\Switchboard.bat新しい Switchboard 構成を作成する
初めて Switchboard を起動する場合、Switchboard を起動すると新しい Switchboard 構成を追加ウィンドウが表示されます。
Switchboard を起動したことがある場合、ウィンドウの左上の[構成] > [新規構成] をクリックし、新しい Switchboard 構成を追加ウィンドウを開きます。
新しい Switchboard 構成を追加ウィンドウで、次の手順を実行します。
構成パスに Switchboard 構成ファイルを保存する名前と場所を設定します。
uProject にインカメラ VFX プロダクション テストのサンプル プロジェクト
ファイル、TheOrigin.uprojectの場所を設定します。Engine Dir が Unreal Engine の「Engine」フォルダを指していることを確認します。
OKをクリックして Switchboard 構成を作成します。
レベルを CaveEntrance_NantStudiosSimple に設定します。
Switchboard に nDisplay デバイスを追加します。
デバイスを追加をクリックし、ドロップダウンから nDisplay を選択します。
[nDisplay 仕掛けを追加] ウィンドウで、閲覧をクリックし、サンプル プロジェクトのフォルダ内の Content\TheOrigin\Content\Stages\NantStudiosSimple\Config\NDC_NantStudiosSimple.uasset に移動します。
OK をクリックすると、Switchboard に nDisplay 仕掛けが 1 つ追加されたことを表示します。
Unreal デバイスを Switchboard に追加
もう一度デバイスを追加をクリックし ドロップダウンから Unreal を選択します
Unreal 仕掛けを追加ウィンドウで、ローカル コンピュータの IP アドレス を 127.0.0.1 に設定します。
OK をクリックすると、Switchboard に Unreal 仕掛けが 1 つ追加されたことを確認します。
nDisplay Render_2 デバイスのリスナーに接続ボタンをクリックし、SwitchboardListener に接続します。
nDisplay Render_2 デバイスのUnreal を起動ボタンをクリックして、マルチユーザー セッションで nDisplay レンダラを使用して Unreal を起動します。
すべてのウィンドウが自動的に最小化し、nDisplay レンダリングがフルスクリーンで表示されます。 表示が暗い場合がありますが、後のステップで変更します。
最小化された [Switchboard] ウィンドウを開いて、Unreal デバイスの [リスナーに接続] ボタンをクリックし、SwitchboardListener に接続します。
Unreal デバイスの Unreal を起動ボタンをクリックして、マルチユーザー セッションで Unreal Editor のインスタンスを起動します。
エディタで、ツールバー のレベル スナップショット エディタを開くをクリックします。
レベル スナップショット エディタで、CaveEntrance_NantStudiosSimple_SetupA レベル スナップショットをダブルクリックし、レベル スナップショットを復元をクリックします。
Unreal Editor の [World Outliner] パネルで、nDisplay Root アクタ NDC_NantStudios_Simple を選択し、更新された位置を確認します。
nDisplay ビューは、Unreal Editor インスタンスで行った変更によって更新されます。
nDisplay Root アクタで InnerCamera_A を選択し、シーン内で動かしてみて、インナー フラスタムが nDisplay ビューに移動するか確認します。
この手順では 1 台のコンピュータでプロジェクトを実行する方法を紹介しました。 同様の手順で実際のステージを表す nDisplay コンフィグを変更し、独自の LED ボリュームをテストできます。
mGPU とマルチスクリーン クラスタ
プロダクションは、マルチ GPU を活用して撮影中のパフォーマンスを向上します。 すべてのビューポートのレンダリングを 1 つの GPU に依存するのではなく、2 つ目の GPU をインカメラに映るものだけをレンダリングするのに特化させることで、最も重要な部分で最高の忠実度が得られます。 プロジェクトで mGPU を使用する方法については、「nDisplay の概要」を参照してください。
Unreal Engine にはステージ モニターツールが含まれているので、すべての nDisplay クラスタ ノードの特定のイベントに関連するレポートを 1 つのアプリケーションで受け取れます。 撮影中はツールを重大ステートにすることで、撮影に影響する可能性のあるイベントが簡単にわかります。 このツールの使用方法の詳細については、「ステージ モニター」を参照してください。
リモートコントロール
リモート コントロールによって、プロダクション チームは、撮影現場にいながらタブレットで動作する Web アプリケーションからディスプレイや仮想環境を動的にコントロールすることができました。 このプロジェクトで公開した制御には、ライティング、ディスプレイのカラー グレーディング、仮想空間内のステージの位置や回転の変更が含まれます。
リモート コントロールの使用
「入門編」セクションでは、Unreal Editor インスタンスを使用してシーンに変更を加え、nDisplay レンダリングで更新をすぐに確認しました。 このセクションでは、プロジェクトのためにデザインされたリモート コントロール Web アプリケーションを使用して同様の操作を行う方法を紹介します。
以下の手順に従って、このプロジェクトのためにデザインされたリモート コントロール Web アプリケーションを表示し、nDisplay Root アクタを遠隔操作で移動します。
コンテンツ ブラウザで [TheOrigin] > [コンテンツ] > [ツール] > [RemoteControl] の順に移動し、[RCP_NantStudios] をダブルクリックしてリモート コントロール パネルでリモート コントロール プリセットを開きます。
リモート コントロール パネルにはリモート コントロール プリセットに公開されたすべてのパラメータが表示されます。 パネルの右上にある斜めの矢印のアイコンをクリックして、Web アプリケーションを起動します。
リモート コントロール パネルで Web アプリケーションを起動するオプションがない場合、Web アプリケーションが正しく構築されていることを確認してください。 コンピュータに構築するために、プロジェクト設定のリモート コントロール セクションを修正する必要がある場合があります。 Unreal Editor で出力ログをスキャンしてエラーを確認します。
開いているレベルやステージで作業するにはプロパティを再バインドする必要があるかもしれません。
リモート コントロール Web アプリケーションのステージ タブに切り替えます。
ジョイスティックを動かして nDisplay Root アクタの位置を変更します。
Web アプリケーションの設計
リモート コントロール ウェブ インターフェースは、リモート コントロールにコンパニオン Web アプリケーションを提供するプラグインです。 独自の Web アプリケーションをコードなしで作成しカスタマイズできるように、Web アプリケーションには UI ビルダーが含まれています。
リモート コントロール Web アプリケーションの UI ビルダーに切り替えるには、コントロール ボタンをデザインに切り替えて、プロジェクトの UI を変更します。 リモート コントロール プリセット アセットを保存してリモート コントロール Web アプリケーションの UI 設計への変更を保存します。
以下は、このプロダクションのために設計されたリモート コントロール Web アプリケーションの各タブで表示される制御を説明しています。
ステージ: レベル内のステージ位置と回転の制御を統合します。
ビューポート設定: グローバル ビューポート画面比率パラメータとビューポートごとの画面比率パラメータの制御を統合します。
色補正: グローバル色補正とビューポートごとの色補正パラメータの制御を統合します。
LightCard: ライト カードの制御を統合します。
スナップショット: プロジェクト内のすべてのレベル スナップショットを表示し、レベル スナップショットの作成と適用の制御を統合します。 詳細については、「レベル スナップショット」を参照してください。
カラー グレーディングと OCIO
パイプライン全体で正確で一貫した色を保持するために、アート チームとステージ チームが OpenColorIO (OCIO) を活用して色空間変換を標準化しました。 この色空間変換は、モニター、LED パネル、プロダクション カメラ間の表示の違いを考慮したものです。
OCIO コンフィギュレーションのサンプルとルックアップ テーブル (LUT) は OCIO プラグインに含まれています。 このプロジェクトには、この OCIO コンフィギュレーションを参照する OCIO コンフィギュレーション アセットの例があり、nDisplay コンフィグ アセットの両方に割り当てられています。 OCIO 構成アセットは、TheOrigin/Content/OCIO にあります。
OCIO 構成やディスプレイの色空間の作成については、「インカメラ VFX カメラの構成」を参照してください。
次の手順に従って、プロジェクトで独自の OCIO コンフィギュレーションを使用します。
コンテンツ ブラウザで右クリックし、その他 > OpenColorIOConfiguration を選択して、新しい OpenColorIO 構成アセットを作成します。
新しいアセットをダブルクリックしてエディタを開きます。
アセット エディタの「構成」セクションで、構成ファイル フィールドにディスク上の OCIO 構成ファイルのパスを設定します。
リロードと再ビルドをクリックして OCIO 構成をロードします。
OCIO 構成をロードできたら、「色空間」セクションを展開します。
使用する変換元色空間および変換先色空間を追加します。 利用できるオプションは、指定した OCIO コンフィグによって決まります。
この構成を nDisplay ビューポートに適用するには、nDisplay 構成アセットが含まれるレベルを開き、アクタの詳細パネルで OCIO を検索します。 ビューポートの OCIO を有効化がオンになっていることを確認します。
すべてのビューポートのカラー構成を展開:
使用するコンフィグ アセットを指定します。
変換元色空間および変換先色空間を設定します。
次の手順では、プロジェクトに独自の OCIO コンフィギュレーションを追加する方法を説明しています。 ビューポートごとに OCIO コンフィギュレーションを設定し、インナー フラスタムを個別に設定することもできます。 詳細については、「nDisplay のカラー マネジメント」を参照してください。
GPU ライトマスとマルチユーザー
プロダクション チームは新しい GPU ライトマス機能を使用してシーンのライティングをベイクすることで、マルチ GPU およびマルチユーザー環境でのライティングの変更にかかる時間を最小限に抑えました。 ライトのベイクはマルチ GPU の 1 台のワークステーションで行い、マルチユーザー セッションを通してネットワーク上に配信されました。 つまり、クラスタを閉じて再起動する必要なく、シーンは素早くベイクされLED ウォールにリロードされたということです。
以下の手順に従って、GPU ライトマスを使用してシーンのライティングをベイクします。
ツールバーで、ビルドの横の矢印をクリックし、ドロップダウンから GPU ライトマスを選択します。
GPU ライトマス ウィンドウで、ライティングをビルドをクリックしてベイクを開始します。
ライティングのビルドが終了したら、メイン メニューから [ファイル] > [すべて保存] を選択し、マルチユーザー セッションで他のコンピュータに変更を送信します。
ライトマス ベイクの変更可能な設定の詳細については、「GPU ライトマス」を参照してください。
マルチユーザー セッションを通した GPU ライトマス ベイクの転送は、実験的な機能です。 大きな BuildData を生成するシーンでは、転送時に問題が発生する可能性があります。 問題が起こった場合、以下の操作を行ってください。
更新したレベルと BuildData をソース コントロールにチェックします。
ソース コントロールを通して、変更をレンダー ノードに同期し、更新したライトマップを配布します。
レベルスナップショット
プロダクション チームは、レベル スナップショットを使用して、各シーンのレベル内のアクタの構成を保存しました。 レベル スナップショットが作成されると、チームは、特定の撮影のために設定したシーンを後で復元することができるようになりました。 レベル スナップショットは nDisplay Root アクタへの変更も記録するので、インナー フラスタムと色補正への変更も保存して、いつでも nDisplay のレンダリングに適用することができます。
以下のセクションでは、プロジェクトに含まれるフィルタとプリセットの使用方法について説明します。 独自のフィルターの作成やツールのその他の機能について学ぶ場合は、「レベル スナップショット」を参照してください。
レベル スナップショットでフィルタリング
プロジェクトには、レベル スナップショットの変更内のアクタをクラスでフィルタリングすることができる、ブループリント レベル スナップショット フィルターの例が含まれています。 フィルター LSF_FilterByClassは、TheOrigin/Content/Tools/LevelSnapshotFilters にあります。 このセクションでは、このフィルタをプロジェクトで使用する方法を説明します。
次の手順に従って、レベル スナップショットの変更をフィルタリングし、プロジェクトに適用します。
Unreal Editor のコンテンツ ブラウザで、[TheOrigin] > [コンテンツ] > [StageLevels] > [NantStudiosSimple] > [StageLevels] に移動し、「CaveEntrance_NantStudiosSimple」をダブルクリックしてレベルを開きます。
ツールバーで、[レベル スナップショット] ボタンの横の矢印をクリックし、ドロップダウンからレベル スナップショット エディタを開くを選択します。
レベル CaveEntrance_NantStudiosSimple には、既に作成した 2 つのレベル スナップショットがあります。 CaveEntrance_NantStudiosSimple_SetupA をダブルクリックし、レベル スナップショットに保存されているアクタがレベルの現在の状態とどのように異なるかを確認します。
フィルター グループをクリックします。
フィルターを追加をクリックし、ドロップダウンから[ブループリント フィルター] > [クラス別 LSF フィルター] を選択します。
フィルター グループでクラス別 LSF フィルターをクリックします。
クラスの横にある「デフォルト」セクションで、ドロップダウンをクリックし、 Light Card を検索します。
結果を更新ボタンをクリックして、フィルターの変更を適用します。
これで、Light Card アクタへの変更のみが表示されます。 フィルターをオフにするには、フィルターを右クリックしてフィルターを無視を選択します。
結果を更新をクリックすると、リストに nDisplay Root アクタが再表示されます。
レベル スナップショットでプリセットを使用
レベル スナップショット プリセットを使うと、ブループリント フィルタと C++ フィルタを使ってロジックを設定しプリセットとして保存できます。 後からプリセットをロードしてこのロジックをまた使用することができます。 プロジェクトには、TheOrigin/Content/Tools/LevelSnapshotPresets にレベル スナップショット プリセットの例が含まれています。
このプリセットは、クラスごとのフィルターの複数のインスタンスをORブーリアンで文字列処理し、選択したクラスのいずれかに一致するアクタだけを表示します。 プリセットで使用されるクラスは、LightCards、Stages、Cameras、SyncTestBall、ColorCorrectRegion、PostProcessVolume です。
次の手順に従って、プロジェクトでレベル スナップショット プリセットを使用します。
コンテンツ ブラウザで、[TheOrigin] > [コンテンツ] > [ステージ レベル] > [NantStudiosSimple] > [ステージ レベル] に移動し、CaveEntrance_NantStudiosSimple をダブルクリックしてレベルを開きます。
ツールバーで、[レベル スナップショット] ボタンの横の矢印をクリックし、ドロップダウンからレベル スナップショット エディタを開くを選択します。
レベル CaveEntrance_NantStudiosSimple には、既に作成した 2 つのレベル スナップショットがあります。 フィルターをロード/保存をクリックし、ExampleStagePresetを選択します。
CaveEntrance_NantStudiosSimple_SetupA をダブルクリックし、レベル スナップショットに保存されているアクタがレベルの現在の状態とどのように異なるかを確認します。
レベル スナップショットを開くと、プリセットからロードしたフィルタに適合するアクタのみが表示されます。
プロジェクト構造
インカメラ VFX のプロダクション テストは、バーチャル プロダクションのための Unreal プロジェクトの構成方法を見るのにとても良い例です。 次のフォルダはプロジェクトのコンテンツの全体の構成を定義し、関連するカテゴリに分けます。
アセット
このフォルダには通常、キャラクター、環境、FX を作成するためのすべてのアセットが含まれます。 レベル アセットはここには含まれません。 以下は、このサンプル プロジェクトにおけるアセットの分類方法です。
アトラス
Decals (デカール)
FX
IES
Landscape (ランドスケープ)
マテリアル
MS_Presets
Props
岩
散乱
空
テクスチャ
草木
環境
このプロジェクトには撮影時の 3 つの環境が含まれています。
CaveEntrance
CavePath
SpaceJunkyard
環境構造
ソース コントロールでは、.umap などのバイナリ アセットのみをチェックアウトできるため、同時に環境で作業する各アーティストは、それぞれのレベルで作業する必要があります。 これを解決するには、環境をアクタの種類に基づいて複数のサブレベルに分割します。
例えば、ライティング アーティストはライティング サブレベルで、FX アーティストは FX サブレベルで作業します。 環境を領域ごとに分割した複数の GEO レベルがあり、それぞれを別のアーティストが担当することも一般的です。 使われるサブレベルの数や種類はプロダクションのニーズに応じます。
次のフォルダはこのプロジェクトの各環境に使われたものです。
LevelSnapshots: レベルに関連するレベル スナップショット アセット
サブレベル: このプロジェクトでは、各レベルはコースティクス、FX、Geo、ライティングのサブレベルに分けられました。
レベル アセット: レベル アセットは {LevelName}_{Descriptor} 構造に従います。 パーシスタントレベルには、サブレベルのコンテナとして機能する _P サフィックスが与えられます。 このレベル アセット開くと、すべてのサブレベルで構成される環境全体が表示されます。
OCIO
このフォルダには OpenColorIO コンフィギュレーション アセットが含まれます。 このプロジェクトには ExampleOCIO というアセットがあります。 プロジェクトでの OCIO の使用の詳細については、こちらの「カラー グレーディングと OCIO」セクションを参照してください。
ステージ レベル
フォルダには環境とステージ アクタの両方を持つすべてのレベル アセットが含まれます。 nDisplay を使ってレンダリングしたい場合にこのアセットを開いてください。 ステージ レベルはレベル アセットで使用されるステージによって分類されます。 このサンプル プロジェクトでは、ステージに合わせるため次の構成を使用しています。
NantStudios
CaveEntrance_NantStudios
CavePath_NantStudios
SpaceJunkyard_NantStudios
NantStudiosSimple
CaveEntrance_NantStudiosSimple
CavePath_NantStudiosSimple
SpaceJunkyard_NantStudiosSimple
ステージ
このフォルダには、LED ボリュームのトポロジを表す nDisplay コンフィギュレーションが含まれます。 プロダクションでは、Nant Studios の 1 つのステージですべての撮影を行いました。 1 台のデスクトップ パソコンで正面ウォールをレンダリングできるように、よりシンプルなバージョンのステージも用意されました。
NantStudios
構成: LED ボリュームのトポロジとそのレンダリング方法を定義するステージの nDisplay 構成アセット。
LEDメッシュ: nDisplay 構成アセットで使用される LED パネル解像度のスタティック メッシュとマテリアル。
LiveLinkPresets: あらかじめ作成された、LiveLink 用の構成で、起動時に LiveLink ソースを nDisplay ノードにロードするために必要です。 デフォルト プリセットは、[プロジェクト設定] > [Live Link] > [デフォルト Live Link プリセット] で指定されています。エディタ環境で異なるソースを素早くリロードするために使用することもできます。
NantStudios_Stage: nDisplay Root アクタ、ICVFX Camera、ライト カードなど、ステージを表現するアクタのみを含むレベル アセット。
シンプルな Nant Studios
構成: LED ボリュームのトポロジとそのレンダリング方法を定義するステージの nDisplay 構成アセット。 トポロジは Nant Studios のコンフィギュレーションと同様に見えますが、2 つの正面のウォールのみにレンダリングが設定されています。
NantStudiosSimple_Stage: nDisplay Root アクタ、ICVFX カメラ、ライト カードなど、ステージを表現するアクタのみを含むレベル アセット。
ツール
このフォルダにはカスタム ブループリント制御、レベル スナップショット フィルタとプリセット、リモート コントロール プリセットが含まれます。 以下は、各ツールについての説明です。
CaveMaterialControl: シーン内のオブジェクトで使用されるさまざまなマテリアル パラメータ コレクションのためのブループリント コントローラー。 コースティック スピード、光筋強度、岩のグローバル カラー シフトなどの制御が含まれます。
HierarchicalInstanceConverter
HolePunch: 洞窟のジオメトリに穴を作成するために使用される球形のアクタ。 これは撮影当日追加の光筋を作成するために使われました。
InnerFrustumCamera: LiveLinkComponent を持つ CineCameraActor。 このブループリントは、ユーザーがインスタンス化した LiveLinkComponent をシーン アクタに手動で追加する必要をなくすことでカメラ トラッキングを簡略化します。
LevelSnapshotFilters: レベル スナップショットのためのカスタム ブループリント フィルター
LevelSnapshotPresets: レベル スナップショットのためのフィルター グループのプリセット
RemoteControl: リモート コントロール プリセット
SyncTestBall: このツールは同期のテストに使用する、跳ねる赤いボールを作成します。 ボールを 2 つのウォールのつなぎ目に表示されるようにシーンに配置します。 同期が正常に機能していないと、つなぎ目の部分でボールが引き裂けて見えます。
CVars
ステージで nDisplay を使ってレンダリングしながらパフォーマンスを向上させるために、プロダクション チームは以下の表にある CVars を使用して設定を調整しました。 Switchboard の nDisplay セッション中に CVars を設定してクラスタに適用することができます。
以下の手順でSwitchboard で Cvars を設定します。
Switchboard を開きます。
nDisplay Monitor タブの Console: テキスト ボックスに、CVar と必要な値 (必要に応じて) を入力します。
実行をクリックします。
以下は、インカメラ VFX のプロダクション テストで使用した値です。 プロジェクトの内容や希望する見た目によって、使用する値を変更してください。
| CVars | 値 | 説明 |
|---|---|---|
| 該当なし | EXR の再生をCPUとGPUで切り替えます。 GPU が有効な場合、Unreal Engine 4 は大きな非圧縮の EXR ファイルを構造化したバッファに直接ロードし、GPU でプロセスすることができます。 |
| Ray Tracing (レイトレーシング) | ||
| 0 | すべてのレイトレーシング エフェクトを強制的にオンまたはオフにします。 値のオプションは以下のとおりです。
この Cvars を 0 に設定すると、デフォルトで有効なすべての付加的なレイ トレーシング機能が無効になります。 レイ トレーシングが必要である GPU ライトマスを使用する場合でも GPU で高速化したライト ベイクを使用できます。 この CVars はレイ トレーシングを有効にした場合、どの程度のパフォーマンスが必要かを調べるのにも有用です。 |
| 0.2 | レイ トレーシングの反射が可視化可能な最大ラフネスを (デフォルト = -1 (ポストプロセス ボリュームによって決定する最大ラフネス)) に設定します。 これによりラフネス値が 0.2 未満のマテリアルのみにレイ トレーシングされた反射があることになります。 |
| 500 | レイ トレーシングされた反射の光線に対する最大レイ トレース距離を設定します。 レイ ショートニングを使用した場合、スカイボックスは RT 反射パスでサンプリングされず、後でローカル反射キャプチャと一緒にコンポジットされます。 負の値はこの最適化を無効にします (デフォルト = -1 (無限の光線))。 -1 以外の値を使用すると、シーン内で行われるレイ トレーシングの量が減ります。 |
| 0 | 反射したマテリアルをシェーディング前に並び替えるかどうか決定します。 オプションは次のとおりです。
|
| 2 | ノイズ除去のオプション (デフォルト = 1) |
| 0 | 自分のレベルのレイ トレーシングによる反射のみを無効にします。 これはレイ トレーシングされた反射のコストを払わずにレイトレースによるシャドウやその他のレイ トレーシング機能を使いたい場合に有用です。 オプションは次のとおりです。
|
| 0 | レイ トレーシング エフェクトにランドスケープを含めます。(デフォルト = 1 (レイ トレーシングで有効なランドスケープ)) 最終的な見た目にあまり影響せず、無効にすることでパフォーマンスが向上できたので、レイ トレーシングされた反射が必要なレベルを最適化するためにランドスケープ レイ トレーシングを無効にしました。 |
| 50 | 反射がレイ トレースされるスクリーン比率 (デフォルト = 100) です。 シーンに非常に光沢のあるきれいな反射がない場合、この値を減らしてパフォーマンスを向上させることができます。 |
| 解像度をアップスケール | ||
| 75 | 低解像度でレンダリングして、より良いパフォーマンスのためにアップスケールします (ブレンド可能なポスト プロセス設定を併用)。 75 は低いエイリアシングとパフォーマンスに適した値です。「TestImage を表示」を使って検証します。 割合では、>0 と <=100 を使用します。より大きな数字も使用できますが (スーパーサンプリング)、ダウンサンプリングの品質は改善可能です。 0 未満の数字は 100 と同様に扱われます。 |
| 1 | テンポラル AA に使用するアルゴリズム オプションは次のとおりです。
|
| 1 | テンポラル AA でプライマリ スクリーン パーセンテージを実行するかどうか指定します。 オプションは次のとおりです。
|
| SSGI | ||
| 0 | スクリーン空間 GI を有効または無効にするかどうか指定します。 オプションは次のとおりです。
|
| 1 | 半分の解像度で SSGI を実行するかどうか指定します。 オプションは次のとおりです。
|
| 1 | 1 から 4 までの (デフォルトは 4)、SSGI で撮影した光線の数を制御する質の設定。 |
| ボリュメトリック フォグ | ||
| 6 | ボクセル グリッドのセルの XY サイズ (ピクセル単位)。 低い値ほどボリュメトリック フォグの質が向上しますが、パフォーマンスに影響します。 |
| 96 | Z 軸で使うボリュメトリック フォグのセルの数。 高い値では正確さが増しノイズが減りますが、パフォーマンスに影響します。 |
| 0 | ボリュメトリック フォグの機能を有効にするかどうか指定します。 オプション
|
| レンダリング | ||
| 0 | この CVar は、ベイクされているものとされていないもの、およびパフォーマンスへの影響を理解するために直接ライティングを素早く無効にするのに役立ちます。 オプションは次のとおりです。
|
| 150 | 近距離のクリッピング平面を設定 (cm 単位) レンダリング カメラの正面にあるジオメトリを素早く削除したい場合、この CVar で近距離のクリッピング平面を変更できます。 |
| 0 | テクスチャ ストリーミングを有効にするかどうかを指定します。これはランタイムで変更できます。 オプション
|
| 3600 | -1: デフォルトのテクスチャ プール サイズ、それ以外の場合、値は MB 単位のサイズ 最初に設定したプールサイズが小さすぎる場合で、しかもハードウェアが大きなテクスチャ プール サイズを使用できる場合、この CVars は、高いミップマップをロードするためにランタイム時にテクスチャ プール サイズを拡大するのに使用できます。 |
| 1 | タイル グリッド上にオブジェクトを散乱してカリングするためにラスタライザを使用するかどうか指定します。 オプション
|
| 5 | 強制する LOD レベル、-1 は無効。 特定の LOD を強制的にシーンに適用することでどれだけパフォーマンスや品質を向上できるかをテストするのに有用です。 |