Fusion

映画のオープニングムービーを作る!【3D】

Fusionの勉強のため、20th CENTURY FOXのオープニングムービーを作成してみました。

ちょいちょいっとできるかなと安易に着手したのは良いものの、調べながら時間をかけてようやく完成させることができたので備忘もかねて作成方法を解説します。

Fusionでの3Dオブジェクトの作成ライトの活用カメラワークなどで参考になるところがあれば幸いです!

ノード構成(Settingファイル)はこちらからダウンロードできますので自由にご利用ください。DaVinci Resolve 17で作成しています。

ノードが多くなってしまったので、上図のとおり①から⑥までのパートに分けて解説します。

①メインの文字とベースを作成

このパートでは、メインの文字となる「20」「th」「CENTURY」「FOX」をText3Dで作成してベースをShape3Dで作成したものと、全体を照らすライトの役割を担うAmbientLight、正面から照らすことで影を表現するためのSpotLightを配置しています。

AmbientLightに色を付けることで3Dオブジェクト全体が指定した色(オレンジっぽい色)になるようにして、3Dオブジェクト自体の設定でも同様に色を指定しています。

今回はすべてのオブジェクトを同じ色にしており、今考えれば二度手間な気もするのでオブジェクトの色はデフォルトのまま(白)にしてライトの色指定で設定するだけでも良かったかもしれません。

追加したライトが反映されていない場合は、プレビュー画面で右クリック > 3D Optionsメニューから「Lighting」「Shadows」にチェックをつけてあげればライトの効果が適用されます。

Lightingにチェックが入っていないと、配置したライトは適用されず全体的にのっぺりした感じのライティングになります。

文字を立体的にするのは、Text3Dの Extrusion Depthの値を増加させています。平面テキストから指定した値の分前面に飛び出てくるのですが、文字の大きさに応じて調整が必要です。

図はすべてExtrusion Depthの値を0.75にした場合の例です。このようにばらけてしまうので少しずつ調整して均一になるように設定しました。

これらをMerge3Dノードでマージしたのがこのパートの構成内容です。なお、以降も同様ですがここで設定したライトの効果をこのあと作成するノードにも適用したいため、Merge3Dノードの「Pass Through Lights」にチェックをつけています。

②メインオブジェクトの土台と文字間の仕切りを作成

このパートでは、①で作成した文字の土台と文字間の仕切りを作成します。

やっていることは単純明快で、それぞれShape3DCubeを使用して長方形をたくさん作って積み木のように重ねているだけです。

Merge3Dノードから上の部分で構成しているのが文字間の仕切り、Merge3Dノードから下の部分で構成しているのが文字がのっている土台です。

土台の前方にあるL字型の形のオブジェクトは、Shape3Dノードを2つ組み合わせて作成して、Duplicate3Dで複製しています。

土台は後からまとめて動かせるようにTransform3Dノードでまとめています。このパートはそんな感じです。

③ライトを作成・配置する

いよいよライトを作成・配置していきます。ライトについては以下の流れで解説していきます。

  1. オブジェクトの前方・下から照らすライトを作成
  2. 周囲に配置するライトを作成
  3. アニメーションを設定

1. オブジェクトの前方・下から照らすライトを作成

前方にあるライトは以下のステップで作成しています。

  1. Shape3DCylinderで筒状のライトを作成(light)
  2. Cylinderでライト上部の光の出口を作成(lightCap)
  3. Cylinderの中にSpotlightを入れて照らす(SpotLightCenter)

1-1. Shape3DのCylinderで筒状のライトを作成

シンプルにCylinderでオブジェクトを作成するだけでOKです。Base Subdivisions(円を構成する頂点の数)の値を大きくして筒の表面を滑らかにしておきます。

また、Capsの設定でBottomのみチェックをつけて底面を閉じます。Topはこの後別途作成しますのでチェックはつけません。

1-2. Cylinderでライト上部の光の出口を作成

②でライトから光が出ていく部分を作成します。筒にふたをするようなイメージで、薄いCylinderを作成して筒の上部にかぶせます。他のオブジェクトとは違い、光が出る部分のColorは白に設定します。

ライトにふたをする必要がありますので、このオブジェクトもCapsBottomにチェックをつけておきます。

ここではCapsBottomにチェックをつけていますが、Topにチェックをつけても構いません。後の工程でCylinderの中からライトを照らして②を貫通させるため、BottomとTop両方同時にチェックをつけないようにしてください。

両方チェックをつけると光が貫通しなくなります。

1-3. Cylinderの中にSpotlightを入れて照らす

これまでに作成したライトの中に、Spotlightを入れて②で作成したふたから外に出ていくように配置します。

ここまでできると図のように、筒の中から光が照らされたようなオブジェクトを作成することができます。SpotlightColorCone AnglePenumbra Angleなどのパラメータを調整しています。

Spotlightを入れてもライトが貫通しない場合や、そもそも図のようにならない場合には以下をチェックしてみてください。

  • プレビュー画面で右クリック > 3D Optionsメニューから「Lighting」「Shadows」にチェックがついているか?チェックがついていないとCylinderのオレンジと白しか表示されないような状態になります。
  • ②のCapsでBottomにチェックをつけた場合とTopにチェックをつけた場合で、ライトが貫通可能な方向が180度変わります。該当する場合にはふたを180度回転させてみてください。

これでライトが完成しましたので、メインオブジェクトの前方に配置して下から照らせばOKです。

ライトを作成する際は最終的に配置する場所を気にせず初期位置(x:y:z=0:0:0)で作成しました。オブジェクトを配置する場所は変化しますので一旦目的の形を作るまでは初期位置で作成し、Transform3Dでサイズの変更や配置を行ったほうが効率が良いかなと思います。

他のライトも同じように作成しています。

ちなみに、無効にしているlightConeShapeノードはライトの軌跡をよりくっきりさせるために設定したものです。最終的にはなくてもいいかなと思い非表示にしていますがお好みで有効化いただけます。

2. 周囲に配置するライトを作成

続いて周辺に配置するライトの作成方法を解説します。

  1. ライトのシェード部分を作成(rightLight)
  2. 光の出口部分を作成(rightLightCap)
  3. ライトにSpotlightを入れて照らす(SpotLightRight)
  4. ライトの関節部分を作成(Shape3D1)
  5. 光の軌跡を作成(lightLine)
  6. 支柱(lightPole)を作成してライトシェードとMerge
  7. 完成したライトをTransform3Dでサイズ変更・配置

先に作成したライトとは形状が異なるだけで基本的な考え方は共通なので、おさらいしながら見ていきます。

2-1. ライトのシェード部分を作成

Shape3DConeを使用してライトのシェード部分を作成します。

RadiusTop Radiusの値で形状を変更できるので図のように調整します。

2-2. 光の出口部分を作成

Shape3DCylinderを使用して光の出口部分を作成します。

CapsBottomにチェックをつけておきます。

2-3. ライトにSpotlightを入れて照らす

1、2で作成しMergeしたオブジェクトの中にSpotlightを入れて照らします。

2-4. ライトの関節部分を作成

ライトのシェード部分と支柱をつなぐ関節部分をShape3DSphereで作成します。

ただの球体を関節部分としてくっつけてあげる感じです。

2-5. 光の軌跡を作成

Shape3DConeを使用して作成したライトから光が出ているように見せるための軌跡を作成します。

Cylinderでも同じように作成できますが、光源から離れるにつれて少しずつ太くしたいのでConeを使用しています。

また光源から離れるにしがって軌跡を減衰させるため、Rectangleノードでマスクしています。

2-6. 支柱を作成してライトシェードとMerge

Shape3DCubeで支柱を作成して、作成したライトとMergeします。

この記事を書いているときに気づいたのですが、関節部分と支柱がずれていますね^^; 最終的なアウトプットでは気づかないレベルなので一旦そのままにしておきます笑

シェード部分と支柱部分を分けることで、ライトに動きをつけるときはシェード部分のMerge3Dノードにキーフレームを設定すれば実現できるようにしています。

ここでまたもう1点考慮漏れに気がついたのですが、Merge3D (lightShade)でRotationを設定するとシェードの関節部分ではなくオブジェクトの中心点が支点になるため思った動きと異なる結果になってしまいます。

(支柱から離れてしまっています・・・)

せっかく関節部分を支点に動くように作成したのにこれでは意図した結果にならないので、シェードのMerge3Dの後にTransform3Dを追加して、PivotがSphereの中心になるように設定してからTransform3DでRotationの値を調整するとうまく動作します。

2-7. 完成したライトをTransform3Dでサイズ変更・配置

ライトが完成したので、Transform3Dでサイズを調整して配置します。

作ったライトをうまいこと複製して配置したいと考えてDuplicate3Dでコピーしてみたものの、思うように配置することができなかったのでその他のライトは同じようなノード構成で別途作成しています。

作成したオブジェクトの上手な再利用方法はもうちょっと勉強が必要です。

3. アニメーションを設定

アニメーションの設定は、カメラで動きをつけた後の最終的なアウトプットを見ながらキーフレームを設定してライトを動かしています。

そんなにたくさんキーフレームを打っているわけでもないので、この辺りは実際の動きを見ながら自分の思うようにつけていった感じです。

長くなりましたが、これでこのパートの解説はおしまいです。

④左側のオブジェクトとライトを作成する

続いて左側のオブジェクトを作成します。

見ていただくとわかる通り、Shape3DのCubeとCylinderを組み合わせ、積み重ねて構成しているだけなのでパート②と同じです。

上にのせているライトには、パート③と同じように光の軌跡をつけています。

⑤右側のオブジェクトを作成する

パート④と同じように右側のオブジェクトも作成します。

こちらも基本的にはこれまで同様に構成していますが、Shape3Dを組み合わせて作成したオブジェクトがありますので紹介します。どちらも簡単に作成できます。

こちらのオブジェクトは、Cubeで特定の角を丸くすることができなかったのでCubeとCylinderを組み合わせることで構成しました。

こちらについても、角を丸くしたL字型のオブジェクトを作成したかったので結合部分にCylinderを使用することで実現しています。

⑥カメラワークを設定してレンダリングする

これまでに作成したオブジェクトを、20th CENTURY FOXの映画のオープニングっぽく見せるためのカメラワークを設定します。

Camera3DのTranslationやRotationにキーフレームを打って設定していくのですが、まず初めにTargetを設定してカメラを動かしても被写体をロックオンできるようにします。

Camera3Dを選択した状態でUse TargetにチェックをつけるとTargetメニューが表示されるので、カメラを向けたいところに位置調整します。

今回の構成では上図の赤丸で囲ったところにTargetを配置して、カメラが動いても被写体として捉え続けるように設定しています。これを設定しないとカメラを動かすごとに角度の調整をしなければならないので、大変です。(この設定を見つけるまでに時間がかかりました^^;)

Targetの設定ができたら、あとはオリジナルの動画を見ながらできるだけ最終的なアウトプットの完成イメージを近づけられるようにカメラを動かしていきます。

上図のようにDual Viewerで画面を2つ表示して、レンダリング後の出力と見比べながら動かすとやりやすいです。

キーフレームを打っただけの状態だとカメラの軌道がカクカクするので、Splineで滑らかにしたり、タイミングの微調整はKeyframesで調整します。

この後のノードでレターボックス(映画の上下にある黒帯)を追加して完成です!エディットページで背景写真を添えればそれっぽくなります^^

私が作成した時は、Pixabayのこちらの写真を利用させていただきました。

さいごに

完成品だけを見るとインパクトのある3Dオブジェクトですが、作成するためには地道な作業の積み重ねが必要だなと実感しました。もっと効率的にやる方法はありそうですが、Shape3Dを組み合わせる作業はしばらくいいかなという感じです笑

ライトの作り方についてはVFXstudyさんの動画を参考にさせていただきました。かなり詳しく解説してくれているYouTubeチャンネルなので勉強になります。

以上です!