Choose your operating system:
Windows
macOS
Linux
Unreal Engine では、さまざまなシネマティックス ツール、レンダリング機能、ワークフローを使用して、バーチャル プロダクションがサポートされています。Slay サンプルは、Unreal Engine でのバーチャル プロダクションを検討する際に実現可能な技法、レンダリング機能、ワークフローをデモするために、Mold3D Studio によって作成されました。
このドキュメントでは、Slay サンプルの表示方法、サンプルの作成に使用されたワークフローとプロダクション技法について概説します。
前提条件
Slay サンプル コンテンツにはグラフィックが多数使用されています。Intel Core i9 Series プロセッサおよび GeForce RTX 2080 Ti、あるいは同等レベルが必要です。
プロジェクトまたはレベルを初めて開くときは、多数のアセットの初回読み込みおよびコンパイルが行われるため、ロードに少し時間がかかる場合があります。
設定
以下の手順に従って、プロジェクトに Slay サンプルをセットアップします。
Epic Games Launcher を開き、[Unreal Engine] セクションをクリックして [Learn (ラーニング)] タブを開きます。
Slay サンプルまでページを下にスクロールし、次に [Free] をクリックして保存庫にサンプルを追加します。
[Create Project (プロジェクトの作成)] をクリックして、画面に表示される手順に従って Slay サンプル コンテンツをダウンロードし、新規プロジェクトを開始します。
Unreal Editor で新規プロジェクトを開きます。
ビューポートには temple_P レベルが表示されています。
Slay シーケンスを表示する
Slay シーケンスを表示するには、メイン ツールバーの [Cinematics] ボタンをクリックして [TF_Edit] を選択します。
Slay シネマティックスの マスター シーケンス が開きます。このビューをみると、複数のショットを使用してシーケンス全体を組み立てていることが分かります。
Shot トラックの [Camera] ボタンを使って各ショットの カメラ を調べます。また、[Play] ボタンを使ってシーケンスを再生します。
Quixel Megascan アセット
Temple レベルはユニークなアセットと Quixel Megascan アセットを組み合わせて構築されました。これらのアセットは、背景のディテール、プロップ、フォリッジを提供するために Slay で使用されました。大規模な背景を作成する場合にプロジェクトで Quixel Megascan アセットを使用すると、時間とリソースを節約することができます。
Slay サンプルで使用された Quixel Megascan アセットの一部を Quixel Megascan ウェブサイトで見ることができます。以下は代表的なサンプルです。
寺院の中庭の 墓石。
レベルに配置された 場所や時代に固有のプロップ。
草 や庭などに配置されたその他のフォリッジ。
ショットごとのワークフロー
Slay シーケンスはシーケンサー と、シーケンサーの ショットごと のワークフローを使って作成されました。大きな単一のシーケンスではなくて、そのショットのみに必要なすべてのコンテンツが各ショットに含まれるようにするためのワークフローです。このセットアップをすることで、他の非線形編集ソフトウェアと同様にショットの 編集、トリム、再調整 が可能となり、シーケンス全体の修正を迅速に行うことができます。
マスター シーケンス TF_Edit では、Shot Track で調整されたすべてのショットを見ることができます。さらに、シーケンス編集と一致するように調整されたオーディオを再生する Autio トラック、フェードイン/アウトを制御する Fade トラック があります。
ショットをダブルクリックすると、コンテンツが表示されます。
Level Visibility
Slay の最初のショットは寺院の外観です。角度がユニークなので、カスタムした ランドスケープ と Shot TF0010_02 の継続期間のみ表示されるレベル用のアセットを作成する必要がありました。レベルの可視性は Level Visiblity トラック で調整し、ショット TF0010_02 (Shot 1) で確認できます。
ショット内に Level Visibility トラックを配置すると、ショットの継続期間のみ評価します。このケースでは、寺院の内部で使用する低解像度のランドスケープを含むレベルは非表示となり、その代わりに高解像度のランドスケープとその他のアセットを含むレベルが表示されます。
高解像度のランドスケープ レベルを手動でプレビューするには、Levels パネルで Terrain_TF0010 を有効にして Terrain を無効にします。
Spawnables を使用する
Spawnables とは、通常はワンシーンの間のみ存在させるためにスポーンされたアクタです。Slay シーケンスでは各ショットに固有の問題に対応するために、複数のショットで幅広く使用されています。各ショットには独自のシーケンスがあるため、ショットの期間中のみ Spawnables アクタを存在させることで、アクタの管理をしやすくしています。
Spawnable アクタの例は Shot TF0020_01 (ショット 2) で見ることができます。この例では、オリジナルのスタティックメッシュは非表示となり、キャラクターがドアを開ける時にその動きと一致するアニメーションを含む Spawnable スケルタルメッシュ のドアに置き換えられています。ショットが終了すると、ドアは自動的にスポーン不可能となります。
アーティストの連携
Slay のサンプルでは、各ショットは独自のシーケンスであり、独自のアセットです。そして、ショットにも独自のシーケンス アセットである Subscene トラック が含まれます。このようにアセットが分割されているため、複数のユーザーはファイルの競合を起こすことなく、非常に簡単に単一シーケンスやショットで同時に作業できます。また、サブシーンを複製して、同じコンテンツを再利用したり、複数のインスタンスで共有することも可能です。
Lighting と FX の両方のサブシーン トラックを見ることが可能なショットもあります。これにより、これらの分野のアーティストはメインショット シーケンスではなく、これらのシーケンス内での作業がが可能になります。このように、サブシーンはファイルの競合の制限のためだけでなく、シーケンスの整理にも役立ちます。
サブシーン セクションをダブルクリックし開くと、コンテンツが表示されます。
ショットまたはサブシーンを親シーケンスから開くと、マスター シーケンスのコンテキスト内に表示されます。つまり、単一シーケンスのみを表示しているにもかかわらず、マスター シーケンスと現在のショットのすべてのトラックが表示された状態になります。シーンの完全な視覚的コンテキストを使って、ライトの編集、視覚効果の追加、その他のアクションを行うことができます。
このコンテキスト ビューはシーケンサーの 再生オプション で [Evaluate Sub Sequences In Isolation (サブシーケンスを独立して評価)] を使って有効/無効を切り替えることができます。
カメラ アニメーション
Slay のカメラ アニメーションは、すべてシーケンサーで 作成 されました。加算カメラ アニメーションが使ってカメラの動きを強化している部分もあります。テンプレート シーケンス という形で カメラ アニメーション シーケンス が使用されています。
これらの テンプレート アニメーション のいずれかをダブルクリックすると、対応するテンプレート シーケンスが開き、使用されているアニメーションが表示されます。
ライティングとマテリアル
Slay サンプルでは、ライティング、マテリアル、エフェクトの使用が非常に重要な役目を果たします。マスター シーケンスとショット エコシステムを正しく使用することで、アーティストはライトをより効果的にし、ショットごとにマテリアルを調整していくことができます。
ライティングのワークフロー
前述 したように、ライティングとその他のワークフローはサブシーケンス内で行うことができます。この場合によく使われるライティング ワークフローは、必要な ライト アクタ を Spawnables としてシーケンスに追加します。こうすることで、ライトはショットの期間中のみ視覚化され、有効/無効を手動で切り替える必要もありません。
ショットを強化するライティング技法は他にもあります。ライト ブロッカー を使えば、メインレベルのライトからシーンの特定の領域をブロックすることができます。その後、スポーン可能なライトを使って、ショットのライティングをより直接的に制御することができます。
たとえば Shot TF0020_01 (ショット 2) の場合、カメラ ボタンを無効にしてパイロット操作を停止し、ビューポートに移って寺院の入り口を表示すると、大きな ライト ブロッカー が使用されていることが分かります。ショットに対してより制御されたライティング環境を作るためにライト ブロッカーが使用されています。
ライト ブロッカーを配置して別のライトをスポーンすることで、ショット内でライティング効果をさらに高めることができます。たとえば、スポットライトが近くの格子を通りぬけると、ドアに柔らかい影が投影されます。
特定のメッシュを隠して、光が通過してアクタを照らせるようにしなければならない場合もあります。Shot TF0080_01 では、鬼に日光を当てるために寺院の構造の一部を隠しています。
光が背景とキャラクターに与える効果を制御するために、Slay では ライト チャンネル も使われています。このケースでは、Spawnable アクタである光は Channel 2 のみに影響を与えています。同じチャンネルはその後すべてのキャラクターで有効になり、これらの光に照らされるようになります。背景のメッシュは Channel 0 のみ有効にされているため、これらの光で照らされていません。
マテリアルのワークフロー
マテリアル が パラメータ で設定されている場合、これらのパラメータをシーケンサーで参照し、マテリアル パラメータの調整をオーバーライドすることができます。Slay では、特定のショットのマテリアルを少し調整しました。前述したライティングとショットごとのワークフローと同様に、これらの編集も次のショットに固執することなく、ショットごとに行うことができます。
ショットの TF00110_01 Lighting Subsequence では、Material Element Tracks を使って、鬼の鎧のマテリアル上で ラフネス とその他のパラメータが調整されているのが分かります。マテリアル要素番号は、メッシュ上の同じマテリアル要素 ID に対応します。
[Add Parameter (+)] をクリックすると、その要素で使用可能なマテリアル パラメータのリストが表示されます。トラックとして追加するパラメータを選択します。
レンダリング設定
Slay サンプルはUnreal Engine でレンダリング可能な高品質の画像を披露するために 最終ピクセル として出力されるように作成されています。このため、ビューポートと ムービー レンダー キュー を使用してレンダリングした場合の両方において、シーンの忠実度を高めるために設定された重要なパラメータがいくつかあります。
ポストプロセス ボリューム
ポストプロセス は グローバル イルミネーション、リフレクション、シャドウ などの レイトレーシング 効果を制御するためにシーンの中で使用されます。色補正もまた、カラー グレーディングとフィルム トーンマッパ プロパティを使って適用されます。
Slay で使用中のポストプロセス プロパティを表示するには、レベルで Post Process Volume を選択します。ワールド アウトライナー の中で検索すると見つかります。
詳細パネルで Enabled プロパティをオンまたはオフにすることでポストプロセス ボリュームの効果をプレビューすることができます。ポストプロセスを使用することで、シーンがより生き生きと活発になります。
ビューポートの最適化
Slay は多数のグラフィックを使用するため、Unreal Engine で使用する場合は、スムーズで信頼性の高いパフォーマンスを確実にするためにエディタ ビューポート体験を最適化する必要があります。最適化は、DefaultEngine.ini コンフィギュレーション ファイル 内でいくつかの コンソール変数 を設定して行いました。
たとえば、以下の変数を設定しました。
r.HairStrands.Enable 1.0
r.HairStrands.DeepShadow.Resolution 512.0
r.RayTracing.Shadows.AcceptFirstHit 1.0
r.RayTracing.SkyLight.ScreenPercentage 55.0
Slay プロジェクトのインストール場所にある「Config」ファイルの中の「DefaultEngine.ini」をテキスト エディタで開くと、使用されているその他のコンソール変数を表示することができます。
ムービー レンダー キューの設定
Slay の最終ピクチャは、Unreal Engine の ムービーレンダー キュー ツール を使って出力されます。ムービー レンダー キュー は、高品質の放射状モーション ブラーを生成できる時間サブサンプリング機能など、高品質なレンダリングを生成するための複数の機能をサポートしています。さらに、Slay でコンソール変数を使ってレンダリング プロセスにおけるグラフィックの忠実度を高めます。
[Movie Render Queue] ウィンドウを開くには、シーケンサー ツールバーの[Render] ボタンをクリックします。
Slay に使用される特別なレンダリング設定は [Movie Pipeline Master Config Asset] として保存されています。このプリセットをレンダリングに適用するには、[Setting] ドロップダウン メニューをクリックして Slay_MovieRenderQueue_Preset を選択します。
使用されている設定を確認するには、Slay_MovieRenderQueue_Preset 設定テキストをクリックします。各種出力や、レンダリング プロセス中に適用される設定が含まれる Render Settings (レンダリング設定) ウィンドウが開きます。
アンチエイリアシング
画像ノイズを減らして、エッジとモーション ブラーを滑らかにするには、アンチエイリアシング の Temporal Sample Count を 19 に設定して使用します。
コンソール変数
モーション ブラー、サブサーフェス スキャタリング、レイトレーシング などの領域でのグラフィックの忠実度を高めるには、以下の コンソール変数 を使用します。
r.MotionBlurQuality 4.0
r.MotionBlurSeparable 1.0
r.DepthOfFieldQuality 4.0
r.ScreenPercentage 125.0
r.ViewDistanceScale 50.0
r.SSS.Quality 1.0
r.SSR.Quality 4.0
r.Shadow.DistanceScale 10.0
r.ShadowQuality 5.0
r.Shadow.RadiusThreshold 0.001
r.SkeletalMeshLODBias -4.0
r.RayTracing.GlobalIllumination.FireflySuppression 1.0
r.RayTracing.SkyLight.ScreenPercentage 100.0
r.RayTracing.AmbientOcclusion 1.0
r.DiffuseIndirect.Denoiser 1.0
r.RayTracing.Shadows.AcceptFirstHit 0.0
r.HairStrands.Enable 1.0
r.PathTracing.MaxBounces 2.0
r.TemporalAACurrentFrameWeight 0.3
r.RayTracing.GlobalIllumination.SamplesPerPixel 4.0
r.RayTracing.Reflections.MaxRoughness 1.0
r.RayTracing.GlobalIllumination.MaxBounces 2.0