はじめまして、福岡を拠点に活動しているランハンシャ、そしてランハンシャのフルCGチームRUNPU、です。
今回は、RUNPUのテクニカルエンジニアのはげくんと、その下っ端デザイナーのモゲラさんより、Mayaや3ds Maxなど、プリレンダーの3DCG制作との比較から考える。RUNPU流 Unreal Engine導入ガイド的なお話をさせていただければと思います。
RUNPUでは、ガチのフルCG映像から、リアルタイムコンテンツ、ゲームまで、幅広くお仕事をさせていただいています。
きっかけは、東 弘明監督から「Unreal Engine、チャレンジしてみようよ!」という大変ありがたいお言葉のおかげで、ここまでやってくることができました。
きっかけは、大事だと思うので、この記事も読んでくださった皆様にとって、何かきっかけになれば嬉しいです。
▲ 東監督による『VIRTUAL LOVE』MVでも担当シーンのショットワークにUnreal Engineを使用しました【VFXメイキング】逆転の発想! CGレイアウトに実写素材を合わせた画づくりとは?|EXILE×三代目 J SOUL BROTHERS from EXILE TRIBE『VIRTUAL LOVE』
2021年12月20日(月)にYouTubeで公開された、EXILEと三代目 J SOUL BROTHERS from EXILE TRIBE『VIRTUAL LOVE』MV。全編にわたり重厚な...
さて、RUNPUでは、バージョン4.21台の頃からUnreal Engine(以下、UE)を映像制作に取り入れています。
今回は、UEを映像制作用途での導入を検討している方々向けに、Mayaや3ds Maxなどを用いたプリンレンダーによる3DCG制作とのちがいや、使い始めた当初に困りがちなポイントについて、紹介したいと思います。
RUNPUでもリアルタイムコンテンツ、ゲームなども行なっているのですが、ワークフローなどの考え方が変わるので、今回は映像コンテンツの制作用途を前提にお話させていただきます。
実のところ、今でもチュートリアルなどを勉強しながらトライ&エラーをくり返す日々です。
使う度に「実は、そうだったのか!」「へぇ~!?」的な、新たな発見がありますが、基本的には「意外となんとかなるのものだ」というのが、正直なところです(笑)!
プリレンダーの3DCGソフトウェアに比べて、ファイル管理がとても効率的
CM案件などをされている方だと、「やっぱり、最初のバージョンが良かったので、それでお願いします。」と、過去のデータに戻ることがありませんか?
そうした案件では、シーンファイルなどは上書きするのではなく、履歴を残すように叩き込まれていると思うので、どんなものでも残しておく癖がついていると思います。
RUNPUもCM案件が多いので、UEを使い始めた当初は、とにかくたくさんのデータを保存しまくってました!
残さないと恐怖で、夜も寝られない……それくらい身に染みついた習慣でした(ここまでくると、調教完了ですねw)。
ところがUEの場合は、作業履歴をデータ込みで残すのではなく、バージョン管理ツールを併用することで、よりシンプルに管理することができます。
バージョン管理とは、ファイルの変更履歴を管理してくれるシステムのことです。
具体的には、GitやSubversion(SVN)、Perforceなどがあります。
UEでは、SVNとPerforce の利用が推奨されていて、ゲーム開発ではPerforceが広く利用されているみたいです。
ただし、Perforceは5アカウント以上での利用は有料になります(※2022年9月時点)。
そこでRUNPUでは、5アカウント以上で作業を行いことが多い一方で、小さな会社のため(笑)、無料のSVNを使っています。
SVNを使用するには、ざっくりと以下の手順で行います。
<STEP 1> サーバーを用意する。
<STEP 2> サーバーに接続するためのクライアント(TortoiseSVN)を用意する。
※Windowsの場合は、TortoiseSVNをDLしてインストールしてください
<STEP 3> プロジェクトのインポートと、プロジェクトのチェックアウト。
そのほか、Perforceを利用する場合や、バージョン管理についての詳しい解説は こちら などをチェックしてみると良いと思います。
プロのビデオグラファーを目指す学校、はじまる。入学生募集中。
PR:Vook School
ワークフローって、どう変わってくるの?
ワークフローに正解はなく、案件の内容によって臨機応変に考える必要があります。
現在のRUNPUにおける、UEを用いたワークフローを図にまとめたものです。
基本的な、モデリングやテクスチャリングなどの部分は、プリレンダーとはさほど変わらず、料理に喩えるならば、"鍋"ですね!
材料を入れて調理する鍋のような感じで、UEにお肉、ニンジン、玉ねぎ、ジャガイモを、ぶっ込むイメージです!
最後の、味の調整もUE上で行えるので、コンポジット工程との整合性なども考えやすくなると思います。
続いて、RUNPUのワークフローをテキストにまとめてみました。
<STEP 1> モデリングなどのアセット作成……DCC(Digital Contents Creation)ツール
<STEP 2> レイアウト……DCCツールと、UEを使い分ける
※負荷を考慮したり、インスタンス系を考えるとUEの方がやりやすいかもしれませんが、使い慣れているDCCツールでもかまいません
<STEP 3> テクスチャリング……Substance Painter
※UEでは、Substance Painterとの外部リンクが利用できるので、とてもスムーズにテクスチャリング作業が行えます。詳しくは、こちらを参照。
<STEP 4> リグ、スキン、アニメーション……DCCツール
※自分たちは、UE上でのアニメーションの付け方を知りません^^;
<STEP 5> クロスなどのシュミレーション作業……DCCツール
※UE上でも可能です。操作自体はさほど難しくはないのですが、自分たちとしては微調整がやりづらいため、DCC側で結果をボーンにベイクするか、Alembic形式でUEに読み込んでいます
<STEP 6> 3Dエフェクト……DCCツール
※DCCからVectorデータを書き出したり、Flipbookとして書き出したものを、パーティクル+Flipbook、平面+Flipbook、Niagaraなどを使って作成しています。最近では、HoudiniによるOpenVDBも使い始めました。
※ただし、OpenVDBはかなり重いデータになるため、相応のスペックのグラフィックスボードがないと使いづらいので要注意です。とは言え、下図のようにディテールに関しては多少の差が出ますが、OpenVDBにチャンネルを持たせておけばUE側でも調整することができる点は魅力です(今後のさらなる改良にも期待)。
<STEP 6> コンポジット……UE
<STEP 7> 最終レンダリング……UE
※あくまでも感覚値ですが、プリレンダーとの比較で作業コストは1/10くらい、というのは、言いすぎ(笑)?
なお、フォルダーの構成は下図の通りです(あくまでも一例として)。
ショット制作でのレベル、サブレベルの概念、シーケンサーのまとめ方
Mayaや3ds Maxなどに「reference(外部参照)」があるように、UEにも同様の概念があります。
レベル、サブレベルと呼ばれていて、その中で背景モデル、キャラモデル、ライティング、エフェクトなどをレイアウトして格納していきます。
メインのレベルはパーシスタントレベルと呼ばれていて、その中にサブレベルを放り投げていく感じの仕様になっています。
レイヤーに近い感じの使い方はできますが、レイヤーはレイヤーとしてUEにも存在しています。
ランハンシャでは、下図のようにわりと細かく分けていますが、ここまで細かくなくても大丈夫だと思います(笑)
▲ chara_Layoutがたくさんあるのは、レイアウトのパターンちがいだったりします
フルCGでMVを1か月制作で公開したいなどの要望でも、スタッフを細かく分業して、100カット分を仕上げるといった内容であっても、レベル/サブレベルを用いることで、品質も担保して仕上げられるなど、人員などのリソースを投下した分だけ相応のリターンが得られると、実感しています!
ただ、人数をかければかけるほど、勘違いなどによるヒューマンエラーのリスクも高まってくるので、確認作業などのコストも増えると思います。
それを差し引いても、プリレンダーにおけるレンダリングが不要で、最終ルックに近いクオリティで、毎回ショットを確認できるのはUE(リアルタイムCG)ならではの恩恵だと思います。
分業による制作を進めるにあたっては、ヒューマンエラーが起きづらい環境(ワークフロー)さえ構築できてしまえば、全てが上手く機能するように考えられているUEはとてもよくできたツールだと思います。
これ、プリレンダリングじゃないんです、本当にリアルタイムなんです。UEの作業ビュポートなんです! 高解像度でお見せできないのが、残念なくらい……
こういう、もののけ姫ぽいものを一度作ってみたかったんです(笑)!!
さてさて、背景制作では、朝、昼、夜とライティング違いの準備なども必要かと思います。
その際に役に立つものが、ライティング シナリオというものです。
UEでは、ライティングごとにサブレベルを準備して、ビルド(ベイク)しておくことで切り替えられるのですが、最新のUE5では、Lumenが実装されたことで、より直感的にライティングが行えるようになりました。
動的なライトなどが使いやすくなり、シームレスに切り替えられると思います。
Lumenの説明は、Unreal Engine 専門講座様のチャンネルで、とても分かりやすく解説されているので引用させてもらいます。
UE5ではデフォルトで、Lumenの設定がONになってます。
それでも、処理負荷を考えないといけない案件においては、負荷と仕上がりの綺麗なライティング計画とビルドは欠かせないのかなと思っています。
シーケンサーにおいて、After Effects(以下、AE)のコンポジション的な考えが近いと思います。
その3D版みたいな感じで、全てを一括で行えるようになっています。
主に、主要なシーケンサーの階層、構成 AEのメインコンポジションに、さらに下の階層の各素材を格納しているコンポジションがあるイメージに置き換えていただけるとわかりやすいかもしれません。
UEによる分業って、めんどくさいのでは?
RUNPUでは、主軸となるプレビズ作業は基本的にひとりで作成して、OKテイクとなったものから、ショット班で分担しています。
そこで、必要になってくるのが、ソースコントロールになります。
<STEP 1> ソースコントロールへ接続(編集タブから)
……SVNと連携をさせる。各項目を入力後に設定承認。
<STEP 2> 変更するアセットをチェックアウト
<STEP 3> チェックアウト状態となる(排他ロックがかかるので、他のメンバーは変更できない)
<STEP 4> 変更後、コンテンツの送信(サーバーに修正箇所を反映。アップロード)
<STEP 5> 変更したアセット一覧が表示される説明など入力後、サブミットボタン押下でサーバーへ送信
<STEP 6> チェックアウト状態が解除される
……といった手順になりますが、ぜひ一度、試してください。
このあたりの認識が、チームで正しく理解できているのかが、重要だと思っています。
最終的なフィニッシング、コンポジット周り
リアルタイムCGということもあり、今までMaya、3ds Maxなどを使われてきた方からすると、映像の品質についての心配もあると思います。
UE5では、Lumenよりも高品質なレンダリングが可能なパス トレーサーが実装されてます(UE4.27時代はbeta版で存在はします。)これを使ってシーケンサーからムービー レンダー キューを使用して出力しています。
記述では、プリレンダリングに近いレンダリングということです。
Lumenに比べると、ノイズ除去などで少し時間がかかるのですが、それでも書き出しが速いです。さすが、リアルタイム!!
Lumenとパストレーサー、コンテンツの内容によって、どちらも使用できるので、用途に応じて使い分けると良いと思います。
比較をしてる方がいるので、参考にどうぞ。
ムービー レンダー キューを使用すれば、レンダーパスも出力できます。
その他、下記のようなものが出せるようになっています。
今回は、Mayaや3ds Maxなどのプリレンダーの作業手順と比べながら、要点を紹介させていただきました。
基本的には、慣れてしまえばやっていることはさほどかわらないので、思いきってUnreal Engineを始めてみるのはどうですか!?
そのほかにも紹介しきれなかった利点があるのですが、様々なかたちで映像制作用途における恩恵を実感しています。
次回は、実例をベースにそうした利点を紹介できればと思っています。
映像にかぎらずコンテンツ制作業務は長時間勤務になりがちですが、UEを導入することで少しでも皆さまの身体と精神的な負担を軽減でき、その分リフレッシュなどの時間ができることを祈っています!
身体が、資本ですから!
ちなみに、、、僕はねらったライティング(CMの撮影みたいな顔きれいに見せるやつ)よりも、こういう自然なライティングの方が、好きです。共感できる方いたら、「イイね!」ください^^;
それではまた! 映像制作用途で、Unreal Engineを使いたい人はこちらもチェック!
ランハンシャ はげくん/モゲラ@
ランハンシャ はげくん システムエンジニア UEのテクニカル回りなどを主に担当してます。 ランハンシャ モゲラ アートディレクション 映像 CGのディレクションなどを主に担当しております。
コメントする