UE5ぷちコン 映像編4thに参加した雑記と忘備録

雑記

youtu.be

「鋼鉄の闘士達」というタイトルでUE5ぷちコン 映像編4thへ応募しました!

初のぷちコン受賞(映像編)で、大変光栄な「おかず賞」いただくことができました! 審査発表会ではレンズフレアエフェクトや足元の火花といった細かいポイントまでおかずさんから言及していただけたのがとてもうれしかったです!参加して良かったと強く感じました!

ぷちコンゲーム編や今回のぷちコン映像編でも応募後に毎度感じるのですが、「ああ、私の作品より労力が多いor映像制作センスを感じる」と思うものがずいぶん多く、今回選んでいただけたのはTrypticonでありカーバンクルさんに以前制作いただいたメカの魅力と、奇跡的に今回制作した諸々がハマってくれたおかげだと思います。(彼への感謝は景品の山分けに替えさせていただきました。今後も応募と努力も続ける所存ですが、どんどん凄い作品出てくるので入賞はもうないのでは…!)

今回特に舌を巻いたのはモーションキャプチャやバーチャルカメラをふんだんに利用した作品、LivelinkでMetahumanにイキイキとした表情をつけた作品、クロマキー合成(しかも小学生の方の作品!)を活用している作品など、まだ私が仕入れていない技術が映像編では光っていたので、今後ますますそれらの技術をモノにした凄い作品が登場すると思います。

そういった刺激物を定期的に摂取して「アンリアル完全に理解した」という驕りや勘違いを破壊して置いていかれないために、次回以降のぷちコンも見逃せませんね!!!

機能の忘備録

以下、今回の作品で活用したUE機能やプラグインなど振り返りメモです。 制作時のUEバージョンは5.10でした。

シーケンサーのSubsequences Track機能

今回映像を主眼に置いた作品を提出するためシーケンサー機能を活用しており、特にマスターシーケンスとサブシーケンスの構成を参考に活用させてもらいました。

これはシーケンサー中に別のシーケンサーを登録出来る機能で、もちろん一つのシーケンサー上で作業していて問題ないのですが、 シーケンサー上で扱うアセットが増えてくると目的のトラックまでスクロールするのが面倒になってくるので アセットごと、もしくはカメラのカットごとでサブシーケンスに分けて作業すると効率がやや上がります。(トラックをフォルダに入れて格納・展開でも良いので、そこは好みです)

また、余談ですが公式ドキュメントでは複数人作業時の利用を想定しています。例えばキャラやカメラの画作り担当用とセリフなど字幕担当用としてレベルシーケンスファイルを分けることでファイルの競合が避けられ、仮にソースコントロールを導入していてUE上でどちらかが作業してレベルシーケンスファイルがチェックアウト状態になっても、ファイルが分かれているためもう片方も担当範囲の作業を進めることが可能なため、これが規模の大きな制作時ありがたい機能だったりします。 docs.unrealengine.com

カメラやポストプロセス、エフェクト(発生の制御と、カットごとカメラに映り込む丁度よい構図に移動したり)は マスターシーケンス制御、登場するそれぞれ2体のメカ制御用のサブシーケンスと、サウンド用サブシーケンスをマスターに登録しています。

シーケンスがマスターかサブか特に定義する必要はなく、どのシーケンサー内にもサブシーケンスを登録できるので臨機応変な運用が可能です。(ただしAのサブシーケンスにBを登録して、更にB内のサブシーケンスにAを登録するといった、循環参照的配置をするとUEがクラッシュすることがあるのでそれだけ注意)

2体のメカをそれぞれサブシーケンス制御とした理由として、シーケンサーからコントロールリグの制御をすると前述のように行が増えてしまいシーケンサー上のスクロールが煩雑なのと、どちらのメカを制御しているのか混同してしまうのを危惧してのことでした。

サウンドのサブシーケンスも似たような理由で行が増えがちだったのと、本来はメカ側のイベントトリガーキーで音を再生していたのですが音ズレがひどく、最終的にサブシーケンスに登録する方法に落ち着きました。

コントロールリグは制御する部位ごとトラックが増えるので上下にスクロールが多くなる

シネマティックビューポート

シーケンサー作業時のビューポートはシネマティックビューポートをおすすめします。

コンポジションオーバレイを表示することができ、ビューポートに3分割グリッドや照準点など表示することができるので構図を決めやすくなります。ここはいい感じの構図にまとめたいよね、というカットでは特に見せたいものを3分割グリッド交点に乗せる、というよくある手法を参考にカメラの構図や動きを決めました。

シーケンサーのピン留め

シーケンサーエディタ左のトラック上で右クリックして、「ピン留め済み」にチェックすることで下にスクロールしても上部に表示したままにできます。 私の環境ではカメラカットやサブシーケンスのトラックなどを固定して、今どのカットか一目瞭然にしたり、いつでもサブシーケンスを弄れるようにしていました。 UE4ではピン留めはトラック一つだけか、まとめてピン留めしたいならトラックを一旦フォルダに入れてそのフォルダをピン留めする必要ありましたが、UE5ではトラック個別に切り替え可能になり、更に便利になっていました…!

コントロールリグ

今回コントロールリグの機能を学習したかったので、コントロールリグのセットアップを行い、シーケンサー上でそのコントロールトラックに位置や回転のトランスフォームを指定してアニメーションさせました。

docs.unrealengine.com

BPキャラクターでコントロールリグ制御する

今回のメカは以前制作していた自作のキャラクターBPを利用しており、そのままではシーケンサー上でコントロールリグとして制御できないですが、 その場合BPを開いてコンポーネントタブでControlRigコンポーネントを追加し、Control Rig Classにセットアップ済みのコントロールリグを指定すればシーケンサー上でも扱うことが可能です。

パーツ組み換え可能なキャラクターとアニメーション(余談)

コントロールリグの話題から少し逸れますが、この自作のキャラクターBPは胴体、左腕、右腕、脚部それぞれ4つのスケルタルメッシュ(+武器やバックパックなど追加装備のスタティックメッシュ)が組み合わさっており、パーツ組み換え可能です。

そちらの詳細説明は省きますが、Set Leader Pose CompornentというノードをConstruction Script側などで指定することで4つのスケルタルメッシュそれぞれに同じABPやアニメーションを当てなくとも、脚部だけアニメーションBPなどでアニメーションさせれば他のパーツも同じアニメーションをするようになっています。(また、パーツの接合部に仕込んだソケット位置に胴体や両腕が合うように別途設定している)

Set Leader Pose Compornentの一例

docs.unrealengine.com (ドキュメントでは「Master Pose Component」という、古いノード名のままなのに注意)

上記機能はBPキャラクターをコントロールリグで扱う場合も同じように利用できたので楽でした。 シーケンサー上で脚部スケルタルメッシュのコントロールにだけアニメーションを指定すれば、他の胴体や両腕もBP側のSet Leader Pose Compornentの働きで追従し、アニメーションしてくれます。

また、例えば各パーツを組み換えても一応シーケンサー上で動いてくれます。 武器やエフェクトの細かい位置はシーケンサー側で別途位置調整するか、適切な位置で再生されるようソケットにアタッチさせるなど処理を組む必要がありますが、今回は時間が無いのでやっていないです。

試しに武器腕パーツに置き換えて再生したラストのカット

セットアップやアセン(宗派による呼び方配慮)といったロボメカゲーのカスタマイズ性(あるいは自身のスキンをカスタマイズできる要素)がありつつカットシーンを制作する場合、かなり手軽に出来ることがわかりました。(1,2回ハングしたりコントロールリグの制御用ギズモが表示されなかったり、まだ若干挙動に不安な面は有りましたが…!)

こんな編集画面

利用したプラグインやサンプル紹介

Chameleon PostProcess

marketplace-website-node-launcher-prod.ol.epicgames.com

監視カメラ風エフェクトやカラーグレーディングに利用しています。 シーケンサー上でオンオフやポストプロセスのエフェクト強度を細かく設定できますので、 ブラウン管風フィルタや魚眼で監視カメラ映像っぽく、爆発時に映像が荒れてグリッチノイズが乗る表現もこのエフェクトをオンオフしたり各種パラメータの強度を変えて表現しています。

終盤もそのままだとやや味気ないので、爆発炎上して熱く、焦燥感のある雰囲気作りのため赤めでコントラストの強いカラーグレーディングのプリセットを指定しました。

Custom Lens Flare VFX

marketplace-website-node-launcher-prod.ol.epicgames.com

メカアイのレンズフレアはこちらのアセットのエフェクトをほぼそのまま利用しています。 置いただけでカメラにいい感じで写り込んでくれるので超絶便利です。 シーケンサー上でメカに親子付けして頭部ボーンを指定しました。(別途ポイントライトも置いています) レンズフレアの大きさも置いたエフェクトのスケールをいじるだけで良いのでかなりお手軽です。

ProInstance Tools Plugin

marketplace-website-node-launcher-prod.ol.epicgames.com

以前無料コンテンツとして配布されていたツールです。 背景の闘技場全体の床や壁面、柱や屋根やコンテナの配置までProInstanceToolで時短しました。 細かい利用方法はアセットのドキュメントに目を通してもらうとして、単純にスタティックメッシュをインスタンスとして指定の数値でXYZ方向に整列してくれるだけでなく、BPの整列にも利用できるのでライト込みのBPアクターを整列させたり

以下のように一定数値内でランダム性を持たせてバラけるように配置も可能です。(今回は利用しませんでしたがスプラインに沿って整列も出来るようです)

上記ではProInstanceScatterを利用していますが結構指定したメッシュ同士が干渉してしまうので、メッシュを密集させたい場合はProInstance Grid で一定の数値内でランダム性持たせて位置や回転量を決めてあげて配置するほうが上手く行くように思います。 ProInstanceScatterはもっと間隔を開けて配置する場合に真価を発揮しそうです。

Virtual Studio サンプル

marketplace-website-node-launcher-prod.ol.epicgames.com

大型ビジョンはVirtual Studio サンプルのスクリーンを利用させてもらいました。

サンプル内にセットアップ済みのスクリーン用動画対応マテリアルがあるので、自プロジェクトへ「移行」して、 エクスプローラー側でContent/Movies/フォルダにMp4形式の動画を放り込めば再生してくれます。

映像はフリーの動画素材サイトの素材を利用させていただきました。

大空間の闘技場を用意したので、いい感じの賑やかしとして仕事してくれました。

やりきれなかったところ

以下は次回以降に活かしたいです。

  • コントロールリグの調整に難航してしまい、思うようにメカ達にアニメーションをつけられなかった(ボーン名はマネキンと同じ名前に、特に足はちゃんと繋がった親子関係にしておかないとセットアップに苦労することが分かった)
  • 銃を撃ってるのに空薬莢出てないのがつらい…(後になって気がついた)
  • 今回の映像編は最大1分と短めの尺ではあったが43秒の動画と、尺を使いきれなかった(コックピット内視点もやりたかった)。もっと贅沢にカット使うべきだったかも。

以上、おしまいです!また次回!