18.8K Views
June 28, 24
スライド概要
2024年6月28日に開催された TBS & Alche UE/UEFN Meetup 登壇時の資料です。
https://alche.connpass.com/event/322749/
いろいろやってます。
UE 5.4 で使える メディア・放送系機能 モーショングラフィックスだけじゃない!
自己紹介 すとんりばー ● Unreal Engine / C++ / Rust / Linux などが好き。 ● 趣味は読書と創作。 ● 現在(2024年4月)はフリー。 ● 2000年生まれ。 ● UE Tokyo という勉強会もやっています。 技術ブログ: strv.dev GitHub: strvert Twitter : @strvert email: [email protected] STONRIVER ( Riku Ishikawa )
きょうのはなし
UE のメディア系の機能を浅く狭く見ていく 今回は、Unreal Engine に搭載されているメディア 系機能を、独断と偏見に則って紹介していく。 UE には、ローカル動画再生、外部映像入出力、そ して放送システムまで、幅広いメディア系機能が統 合されている。 けっこうテクニカルな話が多め。 Motion Design と聞いてモーショングラフィックㇲ的な内容を期待した人、ごめんなさい……
まずは基礎から メディア再生機能
Media Framework Unreal Engine には、Media Framework という機能がある。 Media Framework は、様々なメディアソースを利用するため の機能で、例えば動画や音声などを UE 上で再生するのに使え る。 メディアソースは種類によらず、 Media Player を通して統一 された方法で再生を制御することができる。
メディアプレーヤー Media Player を通して再生することが できるメディアは、デフォルトではロー カルに存在する動画ファイルなど。 しかし、エンジンに同梱されているプラ グインを使うと、多数のメディアソース に追加で対応することができる。
プラットフォーム提供のプレイヤーサポート 多くのプラットフォームでは、OS がプレイヤーを提供してい る。こうしたプラットフォームのプレイヤーを使うと、プラッ トフォームがサポートしている形式を一通り再生できる。
Electra Player プラットフォームごとのプレイヤーを意識しない方法もある。 Electra Player は UE 内臓のプレイヤーで、クロスプラット フォームにメディアを再生してくれる。
Electra Player Electra Player に再生可能なコーデックを追加するプラグイン も多数ある。これらを使うと、主要な動画形式は概ね再生できる 印象。
Electra Player の詳細 Electra Player のコーデックサポートについての詳細は、こ ちらのブログに書いた内容を参考にしてください。
いっぱいあるのはわかったけど何を選べばいい? 今なら、プロジェクトで使う動画形式を定めて Electra Player で再生しておけば OK。プラットフォーム差も概ね考 えなくてよくなるのでうれしい。 ただし、Electra Player でも、コーデックによってはサポート しないプラットフォームがあることも。サポート状況をよく 確認してからコーデックを選択しましょう。
いっぱいあるのはわかったけど何を選べばいい? 特定プラットフォームに特化したものであれば、プラット フォームのプレイヤーを使ったほうが得なこともあるかも? どれを使うにしても表面上は Media Player を使う感覚で使え るので、使うものに合わせて機能の ON/OFF をすればよい。 ゲーム用途の場合には、 Bink Media 等も選択肢に挙がるので検討しよう。
今日の本題 メディア入出力機能
メディア入出力機能 UE はリアルタイムに映像を入出力することもできる。 映像業界でよく利用されている AJA や Blackmagic などの 製品に対応したプラグインが内蔵されている。
メディア入出力機能 こうした製品から得られる映像・音声入力も、UE では Media Framework のもとに動画などと同じメディアソース として扱うことができる。 つまり、搭載しているカードを表すメディアソースアセット を作って、それを Media Player で再生するだけで映像入力 ができる。
メディア入力機能 - DeckLink の例 たとえば、Blackmagic が提供する DeckLink シリーズとの 連携機能を利用すると、UE を汎用の映像処理装置として利 用できる。
メディア入力機能 - DeckLink の例 DeckLink は映像の入出力機能を持つ拡張カード。マシンに 搭載することで、映像入力のほか、モニタ出力とは別の映像 出力経路を利用できるようになる。
メディア入力機能 - DeckLink の例 こんな構成で利用できる。 映像を 出力する なにか IN OUT Unreal Engine on DeckLink 搭載 PC 映像を 入力され るなにか
メディア入力機能 - DeckLink の例 こんな構成だとしたら……? 人物撮影 カメラ IN OUT リアルタイム VFX, CG 合成 合成済み 映像
メディア入力機能 - DeckLink の例 バーチャルプロダクション 人物撮影 カメラ IN 合成済み 映像 リアルタイム VFX, CG 合成 https://www.unrealengine.com/ja/blog/virtual-production-all-the-way-fast-creative-filmmaking-with-mr-factory
UE では映像入力も統一されたメディアソース UE に同梱されているプラグインを有効化するだけで、 主要なメディア入出力デバイスからの入力を受け取れる。 しかも、扱い方は動画とほぼ一緒!
映像出力は? 出力も同じく、搭載したカードに合わせたアセットを使うだ けだが、出力は「再生」するものではないので、同じように はいかない。 かわりに、UE 内のカメラに紐づけることで、そのカメラから の映像を紐づけたカードから出力するといった方法で利用で きる。
今日の本当の本題 Motion Design の放送機能
Motion Design って? UE 5.4 から含まれるようになった最新の公式プラグイン!
Motion Design って? 従来なら After Effects や Davinci Resolve とかで作りた くなるような、2D/3D のモーショングラフィックスを UE 上で作れちゃう画期的機能!
Motion Design って? ……というのがよく注目される部分ですが、今日は Motion Design のメディア入出力、放送システムの側面 に注目していきます。 そんな~
Motion Design の放送機能 さっそく、放送関連機能の画面を見てみる。
Motion Design Rundown
Motion Design Broadcast
Rundown & Broadcast Rundown と Broadcast が、Motion Design の放送機能 の中核をなしている。 ざっくりいうと、 Rundown はどんな画面を出すか、ど んなテロップをいれるか等を管理する制御盤。 Broadcast が Rundown の結果として出力されている画 面を一覧したり、画面を流すデバイスを割り当てたりす るボード。
見てみよう 言葉で説明してもピンとこないと思うので、見てみま しょう! ● Rundown & Broadcast をいじってみる ● ページを見てみる
レイヤー Rundown では、画面全体を覆うようなページだけでな く、テロップやワイプのような、部分的に覆いかぶさる 要素もページとして定義する。 そして、複数のページを同時に Take In することで重ね る。
レイヤーが同じだとだめ デフォルトでは、新しいページを Take In すると前に表 示されていたページは消える。 しかし、レイヤーを分けてやると同時に表示できる! 一つのレイヤーには最大1つのページが表示できるので、 画面に同時に表示されうる要素の種類のレイヤーを用意 すると良い。
見てみよう ● サイドテロップを表示してみる
ページは同じパラメータ違いで再利用できる テロップなどは、内容が頻繁に書き換わる。 また、その日に使うテロップを用意しておいて、すぐに 切り替えられると嬉しい。これもできる!
ページは同じパラメータ違いで再利用できる ページ内のあらゆる内容を、パラメータとして Remote Control というメニューに公開しておける。
パラメータは Rundown 上でセットできる 公開したパラメータは Rundown でページ登録時に設定 できる。 パラメータ違いで同じページを登録しておくこともでき る!
見てみよう ● パラメータいじってみよう
Broadcast の出力先割り当て Broadcast で作成したすべてのチャネルには、自由に出 力先(接続先)を割り当てることができる。 Blackmagic や AJA のプラグインが有効なら、ここに搭 載しているカードも表示されるので、数クリックでチャ ンネルの内容をデバイスに出力できる。
見てみよう ● チャンネルへの Blackmagic デバイスの割り当てを見て みる。 ● Render Target へ出力するチャンネルを作ってみる。
ちなみに
本日の構成 NDI ループバック スライド用 ノートPC HDMI/SDI SDI/HDMI 頑張って持ってきたPC (DeckLink SDI Micro 搭 載) LED ディスプレイ
まとめ
まとめ わたしは Motion Design が発表されたとき、「モーショング ラフィックスまでできるようになるなんて、Unreal Engineは 何になろうとしているんだ……」と思いました。 その気持ちで触り始めてみると、モーショングラフィックスだ けでなく、ゴツい放送システムが乗っていて驚いたので、その 勢いそのままご紹介させていただきました。
注意!! Motion Design は現在、実験的機能です。UE 用語で実験的機 能とは、クラッシュしまくるよ、機能の内容定まってない、ま だ作業中だから許してね。互換性も破壊するよ! という意味 です。 実際、作業中にもクラッシュが頻発していました。不安定なの はブロードキャストに不向きすぎるので、現時点では個人レベ ルで、クラッシュしても笑っていられる範囲で遊ぶのがよさそ うです。 みなさんもたのしい遊びができたら教えて下さい!
ご清聴 ありがとうございました 質問や指摘などあれば @strvert まで