こんにちは、電通総研金融ソリューション事業部の岡崎です。
今回はUE5のレベルシーケンスを使用してデモ動画を作る方法を紹介します。
この記事では基礎的な内容として、アクターの配置方法や移動、アニメーションの設定方法の紹介を行います。
また、複数人で共同でレベルシーケンスを制作する際にコンフリクトが起こりにくい制作の方法として、
Shot機能を使用した方法なども紹介していきます。
検証環境/ツール
- OS:Windows 11 pro
- GPU:NVIDIA GeForce RTX 4070 Ti
- Game Engine:Unreal Engine 5.2.1
実装手順
- レベルシーケンスファイルの作成
- アクターの移動やアニメーションの設定
- カメラの移動や焦点距離の設定
- Shot機能を使ったレベルシーケンスの作成
- シーケンス動画をプレイ時に再生する設定
1. レベルシーケンスファイルの作成
シーケンサーという機能は、カメラやアクターを自由に動かすことで、ゲーム中のデモ動画や映像制作の動画などを作成する際に使用する機能です。
今回はデモ動画を作る際に必要な機能を紹介します。
まずはレベルシーケンスファイルを作成します。
画面上部の動画ボタンを押して「レベルシーケンスを追加」を押します。
レベルシーケンスファイルができるので、自分は「LS_Test」と命名しました。
シーケンサーというウィンドウが出てくるので、画面下部に配置します。
(画面下部でなくてもいいですが、ViewPortの画面とシーケンサーの画面が同時に見えた方が作業がしやすいです)
シーケンサー編集画面で動画の時間を設定できます。
デフォルトではフレームレートで分割されています。用途に合わせてフレームレートから「秒」に変更などを行ってください。
今回は下記設定の箇所から「秒」の設定に変更しました。
次に、レベルシーケンス内で使用するカメラを追加します。
このカメラを使用して動画を撮影していきます。
シーケンサーエディターの上部にあるビデオカメラマークを押します。
シーケンサーエディター内のリストにに「CineCameraActor」が追加されました。
ここから撮影を開始していきます。
2. アクターの移動やアニメーションの設定
レベルシーケンスファイルとは、その名の通り、レベル(マップファイル)に対応したシーケンスファイルになります。
そのため、レベルシーケンスで何かアクターやアセットにアクセスしたい場合は、まずはそのアクターやアセットがレベル上に配置されている必要があります。
今回はレベルシーケンスの中で、サードパーソンテンプレートの中に入っているキャラクターを移動させたりアニメーションを付与したりしていきます。
まずはレベル上にサードパーソンテンプレートのキャラクターのアクターブループリントを配置します。
シーケンサーエディターの左側にあるトラック追加ボタンから、「シーケンサへのアクタ」を選びレベル上に配置したアクターブループリントを選択して、リストに表示させます。
これでレベルシーケンス上でアクターにアクセスができるようになります。
リストに表示された「ThirdPersonCharactor」をクリックした後にキーボードの「S」を押すことでキーフレームを打つことができます。
今回私は、1秒経った所にカーソルを持ってきて「S」を押し、キーフレームを打ちました。
キャプチャでオレンジの丸がついた部分がキーフレームを打った箇所になります。
秒数のカーソルを3秒のところへ移動させます。
キャラクターを移動させたいポイントまで移動させて、再び「S」を押してキーフレームを作成します。
左下のシーケンスエディターの再生ボタンを押すことで、キャラクターが移動しているのを確認できます。
ちなみにキーフレームのオレンジ色の丸にも意味があり、
このキーフレームの種類は動き始めと動き終わりをゆっくりにして、滑らかに移動するように設定されているキーフレームになります。
緩やかではなく、一次関数的に動くためには、キーフレーム上で右クリックを行い、リニアという種類のキーフレームを選択します。緑色の三角のキーフレームに変更されるので、場合によって使い分けてみてください。
キーフレームの詳細についてはUEの公式サイトを参照してください。
次に、キャラクターにアニメーションを追加していきます。
シーケンスエディターの左側のリストから「ThirdPersonCharactor」をクリックして、右側のプラスボタンから
「アニメーション>任意のアニメーション(今回はMF_Walk_Fwd)」を選択します。
シーケンスエディターに「MF_Walk_Fwd」というラベルが追加されます。
このラベルが教示されている間だけアニメーションが再生されるので、キャラクターが移動している部分にラベルを移動して長さも調節します。
再生ボタンを押すと、キャラクターが移動している時だけ、歩きのアニメーションが再生されるのが確認できます。
歩いている時以外は、「MM_idle」のモーションを追加してみます。
これで歩く前のタイミングは待機のモーションになります。
さらに、待機モーションと歩行モーションを下記キャプチャのように重ねることで、2つの動きを自然な形でブレンドしてくれます。
次はカメラの動きや調整などを行っていきます。
3. カメラの移動や焦点距離の設定
シーケンサーエディターで「CineCameraActor」を選択します。
リスト上の「CineCameraActor」の右側にあるビデオカメラマークを押下します。
これで、撮影するカメラがどのような画角で撮影をしているのか見ることができます。
次に時間軸のカーソルを0秒のところへ移動します。
次にUEの基本操作と同じようにカメラの視点を動かして、撮影したい画角を決めます。
画角を決めたら先ほどと同じように、「S」を押下してキーフレームを作成します。
シーケンサーエディターのリストに「Transform」というカラムが作成され、オレンジ色のキーフレームが作成されたことを確認します。
次に任意の場所まで時間軸のカーソルを移動して、カメラの画角の位置も変更します。
先ほどと同じように「S」を押すことで、カメラの位置と画角をキーフレームに保存できます。
シーケンサーエディターのプレイボタンを押すことで、カメラの位置が時間軸に沿って変更されているのが確認できます。
カメラの位置や向きだけではなく、被写体深度や画角も決めることができます。
カメラで撮影する時に必要になってくる項目は下記になります。
・CurrentAperture=F値(どのくらいボケ感を出すか)
・CurrentFocalLength=視野角(焦点距離を選んでどの範囲の映像を撮影するか)
・マニュアル焦点距離(ピントをどこに合わせるか)
難しい説明は省きますが、基本的にF値を小さくすると、物体にピントがあった際に背景はボケさせる演出などを作ることができます。
これにより、映像の効果として、その物体に集中して注意を向けることができます。
今回は「CurrentAperture」の数値をデフォルトのまま「2.8」としておきます。この数値は感覚としてボケ感がよく出る数値になります。
今回は手前にあるキャラクターの手にピントを合わせて、他の部分をボケさせて、手に集中してもらう演出を作ります。
「マニュアル焦点距離」を、カメラから手までの長さ(センチメートル)に変更します。
ある程度ピントが合う位置が見つけられたらそこでキーフレームを打ちます。
今回は「70」を設定しました。
これにより、手に集中する演出が出来ました。
今回は変更をしませんでしたが「CurrentFocalLength」を変更することで画面の広さ(視野角)を変更できます。
デフォルトでは「35」となっており、数値を下げると広角に、数値を上げるとズームになります。
キーフレームを使って手が出てきたタイミングでピントを合わせてみます。
gif画像では画質が悪く分かりづらいですが、手元が映った瞬間に、手元にピントがあう実装をしています。
これでカメラの設定に関する紹介を終わります。
4. Shot機能を使ったレベルシーケンスの作成
最後にShot機能を使ったレベルシーケンスについて説明をします。
Shot機能を使うことで、ひとつのレベルシーケンスを複数のShotシーケンス(子要素)で構成することができます。
これにより、Shotシーケンス同士の入れ替えや修正が容易になる他、いくつかパターンを持たせて比較検討などをすることが可能になります。
今回私たちは、プロジェクトを複数人で作成していたので、
レベルシーケンスをShotとして分けることで、作業を分担しやすくコンフリクトが起こりにくくなることをメリットとして機能を使用しました。
Shot機能を使用するためには、画面上部の動画ボタンから「ショット付きレベルシーケンスを追加」を選択します。
設定画面で、親要素に当たるマスターシーケンスの名前や、保存するフォルダの場所、Shotの数などを設定することができます。
こちらは後から変更も可能です。
今回私は、「LS_TestWithShots」という名前でマスターシーケンスを作成して、「NumberOfShots」で「5」を記入して
5つのShotsで形成されるレベルシーケンスを作成しました。
保存先には下記キャプチャのように親のレベルシーケンスファイルとShotsが入ったフォルダが生成されます。
マスターシーケンスである「LS_TestWithShots」を開くと、5つのShotシーケンスを確認することができます。
それぞれのShotを選択することで、本記事で紹介したレベルシーケンスと同様に編集できます。
Shot間の接続部分は、アクターやカメラコンポーネントの位置を同じにすることで、シームレスにShotの繋ぎ目を感じさせることなく次のShotに移動することができます。
またマスターシーケンス上では、それぞれのShotの長さを変更することもできます。
ドラッグすることでShotの入れ替えも可能です。
この機能を使うことで、ひとつのレベルシーケンスファイルで管理するよりも柔軟に編集が可能になります。
レベルシーケンスの基礎的な使い方の紹介は以上になります。
おわりに
今回はUE5のレベルシーケンスを使用して、簡単な動画作成の手順を紹介しました。
カメラの動きやアクターの動きを直感的に作成できるので、本格的な動画制作から、3D空間を移動する際の簡単なイメージ共有用資料などまで、さまざまな用途で使用することができそうだと感じました。
また、MetaHumanや高画質なアセットなどを使うことで、簡単に現実と見紛うほどのフォトリアルな動画撮影も撮影可能だったことに大変驚きました。
シーケンスエディター上ではまだまだ使用したことのない機能がたくさんあるので、今後も色々と試していきたいと思います。
最後までご覧くださいまして、ありがとうございました!
現在、電通総研はweb3領域のグループ横断組織を立ち上げ、Web3およびメタバース領域のR&Dを行っております(カテゴリー「3DCG」の記事はこちら)。 もし本領域にご興味のある方や、一緒にチャレンジしていきたい方は、ぜひお気軽にご連絡ください!
私たちと同じチームで働いてくれる仲間を、是非お待ちしております!
電通総研採用ページ
参考
- https://dev.epicgames.com/documentation/ja-jp/unreal-engine/sequences-shots-and-takes-in-unreal-engine?application_version=5.2
- https://mononoco.com/creative/ue/ue5-rngw-12
- https://historia.co.jp/archives/20117/
執筆:@okazaki.wataru、レビュー:Ishizawa Kento (@kent)
(Shodoで執筆されました)