2015年9月30日

UE4 ショートフィルム Miss Daisy の制作ストーリー

作成 Francis Christophe David Samuel Alexandre Patrick & Jocelyn

プロジェクトの始まり

NAD スクールでの最後のプロジェクトとしてショート フィルムを作成することは、公式にプロジェクトが発足する数ヶ月前からアイデアとして持っていました。そのアイデアを実行しようと踏み切ったのは冬休み前。1 月のクラス開始前まで必死にあらすじを固めました。ビデオゲームを教える学校のプログラムにいると、FX/Cinema 専門の学生達ほど絵コンテやアニマティクスなどのツールを使っていないので、実践で使いこなすのは難しいことを思い知りました。

キャラクター アニメーションを始める前に、すべてのショット アングルとカットを計画しておく必要がありました。これらのステップを飛ばしてしまうと、シネマティクスの作成時に加えた変更 1 つ 1 つが、あちらこちらに影響してしまうのです。ショットをたった 1 秒長くしただけでもいろいろ修正が必要となります。マチネのトラック数が多ければなおさらです。 

そんなわけで、最初の 2 週間は、近似カメラを使って Maya にアニマティクスを作り、タイミングと合成の検証をしました。そして 1 月末には、無事アンリアルに インゲームのアニマティクス を作ることができました。作られた大量のアセットは、この時点ではプレースホルダーでした。 

最終版のアニメーションを実装し 顔の表現を統合する 時には、当然かなりのショットを修正をすることになりました。

制作の最終月は全体の仕上げを行い、 サウンド デザイン / 音楽 の初回評価をしました。アート面に関しては、若干の調整で済みました。

アニメーション

アニメーションのワークフローは非常に分かりやすいものでした。アニマティクスのカメラに基づいてキャラクターをアニメートし、ワールドの中心に相対的に Maya から UE4 にエクスポートしました。こうすると、すべてのアニメーションを正しい位置に配置できるからです。正しくスケールし、それに基づいてアニメーションを操作するために、UE4 のエクスポート機能を繰り返し使いました。

タイムライン

ほぼすべてのショットには、キャラクター独自のアニメーション シーケンスが付いています。これによりショットを合成しやすくなりました。 私達の場合はマチネを 1 つだけ使って、ストリームされるレベルのロードをコントロールするイベントと一緒に、すべてのオブジェクトとキャラクター アニメーションをそこに入れておきました。最終的にトラック数は 200 となりましたが、ランタイム時でもエンジンはスムーズに動きました。

ライティング

IntoScene

制作中、ライティングの設定は何度も変更しました。最初の頃は、暗くてどんよりした、激しい雷雨の前触れのような感じを求めていました。Miss Daisy の食堂に、ミステリアスで驚異的な雰囲気を醸し出しすためです。キャラクターがさらに漫画っぽくなるにつれて、パレット色をさらに高彩度化したくなりました。 

メッシュ ボリュームを強調して見た目をもっと定型化するため、ライティングの色は、寒暖の差を出しつつ、コントラストが大きすぎて目立つことのない色がいいと思いました。そこで、背景のライティングにはディフューズを多めにし、見た目が優しい感じでいくことにしました。これは、Lightmass ツールの Static Lighting や Level Scale 他、様々なパラメータを調整して実現しました。

バウンス ライティング

キャラクターのライティング

プロジェクトでのライティングの主な目的は、ビューアーの注意を物語の主要要素に向かせること、そしてそれはキャラクターであることがほとんどです。キャラクターはスケルタルメッシュですから、アンリアルが作り出すボリューム ライトのサンプルには特に注目してきました。このシステムは最適化の理由から、精度の高いライティングを生成しないので、いろいろな動的ライトを駆使してアーティファクトを隠しました。中でも、静的なメッシュと動的なメッシュが隣り合って存在した時に明確な差を出すのが本当に難しかったです。

結局、動的ライトを使って、くっきりした印象的なシャドウをキャラクターに追加しました。

キャラクターのライティング

背景のライティング

このプロジェクトでもう一つ難しかったことは、シネマティックスの質をは維持したまま、同レベル内で屋外と室内の背景を取り扱うことでした。なぜ難しいかというと、ショットは屋外から室内へ (異なる 2 つのレベル) 直接カットされるので、テクスチャ ストリーミングに問題が生じメッシュ ポッピングが起こってしまうのです。

ライトマップのサイズを管理して、ロード時間をスピードアップし解像度を制限しなければなりませんでした。ビデオがフレームごとにキャプチャされている場合は問題ないのですが、UE4 の威力を見せつけるためにもリアルタイムでフィルム全体をキャプチャしたかったのです。

Gobo のライティング

非表示オブジェクトから見せかけの影をキャストして、見た目に味を出したショットもあります。

屋外から食堂の中に差し込んでいる光は、指向性ライトで作成したものではありません。静的ライトを使って、外の光の跳ね返りを食堂内部にでっちあげたのです。そして、動的ライトを使ってブラインドの影をくっきりさせました。

屋根から差し込む光は同じブループリントで共有しているので、複数のライトの編集がすぐにできます!


屋根のライティング

視覚効果

まずアニメートされた映画とビデオゲームで、視覚効果がどうなっているかを研究しました。今の世代では、煙と炎用に事前にレンダリングされた視覚効果と流体シミュレーションを使って、質と深さが実現されていることが分かりました。 自分達のプロジェクトも、この品質レベルにしたいと思いました。あと、キャラクターとのコントラストが目立ちすぎないように、VFX 詳細のソフトさもある程度は保ちたいと思いました。そのため、RBG 色で構成されるライト リグをビルドして法線マップをレンダリングしました。

法線マップを使った

ライト リグ

法線マップ使用

法線マップなし

法線マップなし

そして、リファレンスをいろいろ調査しました。リファレンス バンクは過去の例から多くのことを学べるので、影響バンクと同じように重要です。リファレンスがあると制作スピードが短縮できますし、影響バンクは特定のスタイルを作りだして、どうやって外見を作るのか学習できます。

芸術面でのビジョンを定めたら、すべての調査をして、一番重要でリスクを伴うエフェクトのシミュレーションを始めました。シミュレーションは Fume FX と Realflow を使いました。シミュレーションは時間がかかります。学校での制作の場合は特に貴重な時間が奪われてしまいます。使用するシミュレーション システムをよく理解していることも重要です。シーンに作成するつもりのないエフェクトに無駄な時間を費やしてしまうかもしれないからです。アセットを再利用すると時間の節約になることが分かりました!

シミュレーションが終わったら、いよいよアンリアル エンジン 4 に統合します。UE4 は、マテリアル エディタもすごいですが、パーティクル エディタも負けていません。充実したマニュアルとチュートリアルをオンラインで利用できたからこそ、結果を出すことができました。ゲーム エンジンでシミュレーションを使えるようにするには、スプライト シートを作成しなければなりませんでした。私達はシミュレーションをフレームごとにアニメートしましたが、UE4 での設定は非常に簡単でした。スプライト シートは無料の Photoshop プラグインの Contact Sheet II を使う方法が最も簡単です。

スプライ トシート

スプライト シートは便利なように見えますが、視覚効果に伴って非常に多くのドローコールとオーバードローが生成されてしまいます。そこで別のプランとして、それぞれのカラー チャンネルに 3 つの煙のパターンで単一のテクスチャ コールのあるシンプルな煙のマテリアルを作成しました。そして、カラー チャンネルのうち 2 つを使って 3 つ目のチャンネル上に UV Distortion エフェクトを作成しました。タイリングと歪みに対する制御を追加したので、煙を使う様々な状況に応じたニュアンスを出せるようになり、少ないドローコールで豊富にエフェクトを操作できるようになりました。こうしたマテリアルのエフェクトについての情報はウェブ上で見ることができます。

UV Distortion Sheet

メッシュを使う手があることも知りました!見せかけのボリュームを作成する、広いサーフェスを覆う、見せかけのボリューム ライトを作成する時に便利な方法です。見せかけのボリューム ライトと広範囲を覆う煙に対してメッシュを使いました。

パフォーマンスの良い GPU パーティクルをできるだけ多く使いたいと思いました。ベクター フィールドを使った 50000 個ものスプライトのある特別なエフェクトを作り出すこともできました。こちらがサンプルです。

GPU パーティクル

もちろん、最適化は必要でした。視覚効果のほとんどはエレメントを取り除いたり、スプライト シートのサイズを大幅に縮小してテクスチャ ドロー コールを改善し、納得のいくパフォーマンスが出せるようにして最適化をしました。

破壊

このプロジェクトでは、破壊のすべてを行う特殊な技術を使いました。破壊アニメーションを異なるショット間で永続的にしたかったので、ビヘイビアとパフォーマンス負荷がランダムなインエディタの物理エンジンは使用しませんでした。そして、MassFX シミュレーションから 3DS に直接破壊を焼き付けるという方法に落ち着きました。次に、プロジェクト用に作ったアニメーション バンキング スクリプトでアニメーションをスキンされたメッシュ (利用はこちらから) に移しました。MassFX は、すべてのパラメータをプラグインで利用できるので、シーンの物理アニメーションをいろいろ制御できます。

アニメーションを焼き付けたら、スケルタル キャラクターと同じ要領でインポートし、アニメーションを再生するトラックをマチネに作成します。

破壊

背景

Miss Daisy の作業を開始した時、背景担当のチームは明確な目標を 2 つ掲げました。1 つ目は、リアルタイムと最適化の制限を理解しながら、視覚的に印象的な短編を制作すること。2 つ目は、背景を通じて物語性を強調すること。

物語を明確にし、キャラクター開発も進めるために、背景の物語性を強調することもチームにとっては重要でした。 わずか数分間語るだけで、アーティストはバックストーリーやおばあさんのキャラクターを視覚的に表現しやすくなります。食堂は、様々な武器を壁に掛けたりランダムに飾ることで、彼女の歪んだ危険な側面を見せつける絶好の場所なのです。 多くの種類の武器を作ることで、ショート フィルムに漫画の軽いノリを強調しつつも、おばあさんにの周りにミステリアスな雰囲気を醸し出すことができます。

背景のリファレンス

最初の 1 ヶ月はプリプロダクションに専念して、ムードボード、リファレンス ドキュメント、コンセプトをあれこれ使いながら、目指すべきアート面の方向性を決めました。 まず最初に、お馴染みの巨大な杉の森を再度定型化した背景を使うことに決めました。 壮大な木々のスケールと、植生のユニークなカラーパレットの両方の虜になりました。 もう 1 つの背景である Miss Daisy の食堂は、 1950 年代を思わせるような、典型的な古めかしい食堂に決定しました。 食堂は僻地にあるので、クロムや都会的な材質を使わない木材メインの山小屋風の建物に仕上げました。

コンセプトのリファレンス

ショート フィルムの背景は、明確なカメラ ショットに基づいて作成しました。 多様で面白い合成をするために、カメラ アングルを 1 つ 1 つ分析しました。 レベル アートはインタラクティブな処理なので、アセットとライティングに修正が加わるたびに 1 つの合成を繰り返して使いました。 それぞれのカメラ ショットには独自のライティング設定があって、それによりキャラクターまたはアクションへの注意の中心をフォーカスしやすくしたり、異なるショットを装飾することができます。

最終シーン

ランドスケープ

アンリアル エンジンはワールド マシーン (テレイン作成ツール) との互換性があるので、ランドスケープのワークフローが分かりやすいです。私達はまずビルトイン ツールでアンリアル内に基本となるランドスケープを作成しました。RAW16 フォーマットでエクスポートされたランドスケープはワールド マシーンにインポートされます。すべてのランドスケープに同じスタイルを適用するために、浸食プロセスをシミュレートするマクロを作りました。マクロは、ランドスケープ シェーダーへインポートした浸食マップとフローマップと一緒に高さマップファイルをエクスポートし、これらの領域の色をさらに制御できるようになります。

テレイン シェーダー

ランドスケープ シェーダー は山のスロープと隆起に相対的に適応して、雪、岩、草をテレインに追加します。

最適化

最適化はプロジェクトの最重要部分でした。フレームレートを 24fps 以上に保つことは非常に重要なのです。24fps より低くなると、観戦者がアーティファクトに気づき、アニメーションに集中できなくなってしまいます。ビデオゲームの場合はプレイヤーがアクション フローに集中しているため、この点はさほど気にはなりませんが、ショート フィルムは観戦者は受け身なので目に付きやすくなるのです。さらに、リアルタイムがこの種のプロジェクトの作成に効率的な方法であることを実証するためには、流動性がプリレンダリング映画と同じでなければなりません。

同じシーンで室内と屋外を処理することは、非常に難しいことでした。パフォーマンスにあまり影響がでないように、シーンを複数のストリーム レベルにカットして、必要に応じて戦略的にロードしました。スケルタルメッシュのような負荷の高いオブジェクトを非表示にするために、マチネのビザビリティ トラックを何度も使用しました。 

負荷の高いメッシュ、特に木とフォリッジは、3 つの LOD を使い切りました。外部カメラをゆっくり動かして、LOD のポッピング エフェクトが制限されるようにしました。

チーム

チームの写真

(敬称略) David Bastien Robert, Environment Artist  
Francis Bouthillier, Technical Artist 
Patrick Chamberland, Animator
Samuel Gauthier, Environment Artist and Lighting Artist 
Alexandre Grenier-Marcil, FX Artist  Christophe Lessard St-Gelais, Environment Artist
Medhat Hanbali.Music Composer
Valentino Lercher, Audio designer

Supervisors:Jocelyn Benoit, Marc-André Houde

謝辞 (敬称略)
Nadial El Mokhtari, Character Artist
Erwan Jonathan Mayel, Character Artist
Michel Quach, Character Artist
Edwin Jang, Concept Artist
Raphaël Nadeau, Concept Artist
Jahanzaib Chughtai, Rigging

NAD | UQAC