December 7, 2018

【連載】第4回:UE4のシーケンサーを使用した映像制作~ワークフロー編~

作成 株式会社ジェットスタジオ 赤崎弘幸

■シーケンサーを利用したワークフロー

今回はUE4のシーケンサーを中心に、映像作りのワークフローを考えてみたいと思います。シーケンサーを使用すれば、カットの編集から、ライティング、レンダリング、ポストエフェクトまでをワンストップで行うことができます。この利点を最大限活かすべく、UE4上で映像が完成しその後の編集ツールへは移行しないことを目標としてワークフローを考えてみました。私がプリレンダリングにて制作する際の典型例と比較して、UE4を使った場合は下記fig01のようになります。
fig01_SequenceWorkFlow.jpg

fig01. プリレン(上段)とUE4使用時(下段)のワークフローを比較。

大きな違いはDCCツールで作成したアニメーションデータを連番画像ではなくFBX経由で移行している点、そして何よりライティング含めた後半の作業が全てリアルタイムに確認できる点です。
通常このツールをまたぐファイル出力の部分は1回で終わることはほとんどなく、レイアウトやラフアニメーションから始まり、揺れモノのシミュレーションなども含めいくつかの行程を繰り返し徐々に更新されていきます。アニメーション出力の部分だけにフォーカスしてみると動画ファイルなのかFBXファイルなのかの違いだけで、さほど手間は削減されていないようにも見えます。しかし、UE4によりライティングやポストエフェクトが大幅に高速化されているため、アニメーション作業に使える時間を多く確保することができます。

DCCツール側でのアニメーション作業は、カットごとに適宜シーンファイルを分けて作成します。複数カットの要素をひとつのシーンにすべて含めて作成することもできますが、登場人物や環境がカットごとに違う場合、作業者を分担する場合、また処理負荷などの観点から適宜分ける判断をします。これらは最終的にシーケンサー上で編集され一連の映像となります。(fig02)
fig02_AnimationScene.jpg

fig02. バラバラに作成されたカットを合わせてシーケンサーで編集が行われます。
fig03_DCCtoolAnimation.jpg

fig03. もちろん1シーン内に複数カットのアニメーションを含めてしまうのも可。画像は3dsMaxのもの。

カットごとにキャラクターやカメラのアニメーションをFBX出力したら、UE4にてLevel Sequenceに配置していきます。カット(UE4内ではShotという表記)ごとにLevel Sequenceアクターを複数作成し、それらを繋げるためのSequenceMasterも同じくLevel Sequenceアクターで作成します。Add Master Sequence(fig04)から一括で作成してしまうのが便利です。
fig04_AddMasterSequence.jpg

fig04. Cinematics > Add Master SequenceからLevel Sequenceのセットをまとめて作成可能。

編集後の映像では違和感なく繋がっているカットも、各カットで個別にレイアウトやアニメーション、ライティングを微調整していることがほとんどです。この点はシーケンサーのサンプルプロジェクトを見てみると非常に分かりやすいでしょう。(fig05)サンプルはEpic Games Launcherのラーニングタブから入手可能です。
fig05_SequencerSample.jpg

fig05. カットの切り替わりをPerspective Viewから観察してみると、ライトやキャラクターの位置が個々に調整されていることが分かります。

キャラクターやカメラ、ライトなどをシーケンサーに登録していきます。登録したものは全てSpawnableにしておくと良いでしょう。(コンテンツブラウザからドラッグ&ドロップすれば自動的にSpawnになっています。)SpawnableにするとそのアクターがLevelではなくLevel Sequenceの一部として扱われることとなり、他のLevel Sequenceからは表示されなくなります。
fig06_SpawnedActor.jpg

fig06. Spawnableのアクター。各カット固有の細かいライティングなど、他カットへの影響を気にすることなく自由に調整することができます。
※テストシーケンスの背景には「Infinity Blade: Grass Lands」をお借りしました。

■フレームと尺の関係

プリレンダリングの映像制作ではフレームレートが事前に決まった状態で制作を開始します。アニメーションキーや尺も全てフレーム単位で表すことが多くなります。あくまで解釈の違いですが、例えば30fpsでアニメーションを作成する場合、キーフレーム1つはすなわち1/30秒の尺となります。しかしフレームレートが変動するゲームエンジンにおいてはキーフレームはあくまでアニメーション補完のためのポイントでしかなく長さはゼロです。この点を注意しておかないと、シーケンサーにアニメーションを読み込んだ際に尺が1Fずつズレてしまう可能性があります。
fig07_FrameRange.jpg

fig07. キーフレーム5つ分の尺の違い。
fig08_30frame.jpg

fig08. ちょうど1秒間のアニメーションが必要で、キーフレームを30個作成しFBX出力した例。読み込み後1F短い29Fぶんの尺になっている点に注意。

■Media Trackを使用して動画ファイルを埋め込む

3DCG映像を作成する際、最初から3Dで作業を開始するのではなく、たいていの場合は絵コンテやビデオコンテがまず作られます。今回もこのケースを想定してUE4のシーケンサーにあらかじめビデオコンテを配置した状態のものを作成してみます。UE4.20からシーケンサーに新しく追加された「Media Track」により、直感的に動画(連番画像)を同期させることが可能になりました。fig09はシーケンサーに同期されたMediaTextureをポストプロセスマテリアルで画面上に映し出したところです。マテリアルを経由する手間はありますが、以前より気軽に連番画像を扱えるようになったのではないでしょうか。
fig09_VconSequence.jpg

fig09. MediaTrackを使用して、カットごとにビデオコンテの連番画像ファイルを配置した状態。

制作中、カットごとに進捗が大きく異なることは珍しくありません。このようにまずはビデオコンテを配置した状態から始めてTakeを上げながら3Dへと置き換えていけば、常に映像の全体像を把握しつつ少しずつ完成へと近づけていくことができます。(fig10)
fig10_VconTo3D.jpg

fig10. ビデオコンテで仮組みしたカットの構成要素を3Dに置き換えていきます。

シーケンサーが追加されてから、UE4の映像制作はかなり直観的に行えるようになってきました。特に難しい手順を踏まなくてもアニメーションデータをシーケンス上に並べていくだけで簡単な映像は作れてしまいます。AfterEffectsやPremiereなどを使用していた人たちにも馴染みやすいUI設計も嬉しいポイントのひとつです。4.20でも多くの項目が更新されたように現在もアップーデートが進んでおり、さらなる進化が期待できます。

冒頭に紹介した通り、リアルタイムレンダリングの特性を活かし後半の工程をワンストップで行える点は特に大きなメリットです。レンダリングしないと結果がわかりにくいライティングやポストエフェクトのトライ&エラーを大幅に高速化することが可能になります。デメリットがあるとすれば、出力データが画像ではなく3Dデータになるため仕様や制約が多く複雑になる点でしょう。ただしプロジェクト序盤にルールをしっかりと決めてしまえば、カット量産のプロセスに入ってからは大きな問題にはなりません。スピードと量が重視されるプロジェクトなら力を発揮することは間違い無いと思います。

次回も同じくシーケンサーを使って、映像制作に使われる技法を再現してみたいと思います。

---

ジェットスタジオは2001年に発足し現在まで、フルCGの映像を中心にアニメ・ゲーム・パチンコなど様々なコンテンツの3DCG制作を行ってきた会社です。詳細は公式HPFacebookページをご覧ください。

(関連記事)

【連載】第1回:映像制作におけるUE4のためのキャラクターデータ構成(モデリング編)

【連載】第2回:映像制作におけるUE4のためのキャラクターデータ構成(リギング編)

【連載】第3回:映像制作におけるUE4の活用~マテリアル設計~