UE4を使った映像制作【UE4 Character Art Dive Online】

5K Views

July 26, 21

スライド概要

講演動画はこちら:
https://youtu.be/0Jsm5UN9F_U

講演作品「Chorus of the dragons」はこちら:
https://vimeo.com/537313474

講演者:
祭田 俊作 様(フリーランス)
https://twitter.com/floody104
https://floody104.wixsite.com/portfolio

本スライドは2021年7月25日に行われたオンライン勉強会「UE4 Character Art Dive Online」の講演資料となります。

イベントについてはこちら:
https://www.unrealengine.com/ja/blog/epicgamesjapan-onlinelearning-13

profile-image

Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/

シェア

埋め込む »CMSなどでJSが使えない場合

各ページのテキスト
1.

【UE4を使った映像制作】 UE4 Character Art Dive Online

2.

自己紹介 祭田俊作 フリーランスのデジタルアーティスト 去年までXRアトラクションのCG制作、ディレクションなどがメイン。 現在はXRだけでなくリアルタイムイベントや映像作品など色々やらせていただいてます。 https://twitter.com/floody104 https://floody104.wixsite.com/portfolio

3.

作品について Chorus of the dragons https://vimeo.com/537313474 自主制作として作った映像作品です。 今までUE4はキャラクターアセット制作など限られた部分でしか使用していなかったため、 一人で最後まで作品を作りきってみようと思ったのが発端。

4.

今回の内容 先程の作品をもとに ・主にキャラアセットの制作工程 ・シーケンサー設定 ・ライティング、ポストプロセス設定 ・MovieRenderQueueについて ・その他UE4での映像制作の基本的な機能、おすすめなど

5.

今回の内容 先程の作品をもとに ・主にキャラアセットの制作工程 ・シーケンサー設定 ・ライティング、ポストプロセス設定 ・MovieRenderQueueについて ・その他UE4での映像制作の基本的な機能、おすすめなど

6.

今回の内容 先程の作品をもとに ・主にキャラアセットの制作工程 ・シーケンサー設定 ・ライティング、ポストプロセス設定 ・MovieRenderQueueについて ・その他UE4での映像制作の基本的な機能、おすすめなど

7.

今回の内容 先程の作品をもとにUE4での映像制作手順の一例を紹介させていただきます。 ・キャラクターアセットの制作工程 ・シーケンサー設定 ・ライティング、ポストプロセス ・MovieRenderQueueについて ・その他UE4での映像制作に使えそうな機能、おすすめなど

8.

今回の内容 なので Mayaなどは触ったことはあるが、UE4は初心者の方 UE4で映像を作ってみたい方 におすすめの内容になっていると思います

9.

制作環境 GPU:NVIDIA GeForce RTX 2070 CPU:Intel Core i7-9750H 2.6GHz メモリ:32GB ↑のスペックのノートPCを作業、レンダリングともに使用していました。 UE4のバージョンは4.26です。

10.

まずはMayaなど使ってアセット準備

11.

キャラクターモデルの準備 メインツールはMaya、ハイモデル作成にZbrushを使用。

12.

キャラクターモデルの準備 メインツールはMaya、ハイモデル作成にZbrushを使用。

13.

キャラクターモデルの準備 メインツールはMaya、ハイモデル作成にZbrushを使用。

14.

キャラクターモデルの準備 メインツールはMaya、ハイモデル作成にZbrushを使用。

15.

キャラクターモデルの準備 巨大シャチは人工物と生物部分を混ぜたデザインにしてみたので、いくつか都市のアセット を作成し配置していきました。 (後先考えず△130万ポリゴンほどで作成したがUE4上で問題なくアニメーションできた)

16.

テクスチャ作成 テクスチャ作成にはSubstance Painterを使用しました。 各キャラUDIM形式で複数のテクスチャを用意し、UE4用のテンプレートで出力。 各テクスチャの末尾が1001、1002…となっていればOKです。

17.

リグ作成 UE4に持っていける情報は基本的にスキニングウエイトとブレンドシェイプなので、補助 ジョイントを入れつつ良い感じの変形になるように調整します。

18.

リグ作成 UE4に持っていける情報は基本的にスキニングウエイトとブレンドシェイプなので、補助 ジョイントを入れつつ良い感じの変形になるように調整します。

19.

リグ作成 ウエイト調整にはあまり時間かけたくなかったのでHeatMapでウエイトを振り、うまくいか ない部分は補助ジョイントを追加し、改めてスキニングしてみて様子を見ながら顔や指付近 だけ調整する程度にした。

20.

リグ作成 シャチの人工物エリアは2値でウエイトを振ってます。

21.

リグ作成 コントローラはHumanIKをベースに足りない部分を手動で作成することにしました。 この状態でモデル、ジョイント全てを選択してfbxでエクスポートします。 あとでSkeletal Meshとして読み込むために使用します。

22.

アニメーション作成 アニメーションを作成していきます。 作業時はイメージをつけるため背景に適当な岩のモデルを置いたりする (最終的に背景はUE4 上で全て置き換えます)

23.

アニメーション作成 アニメーションが完成したら、今度はジョイントだけをすべて選択してfbxで出力します。 他のアニメーションも同じようにfbxにしていきます。

24.

ここからはUE4に作ったアセットを持っていく…

25.

Skeletal Meshのインポート リグ作成時に用意したfbxをAdd/Importから読み込みます。 新規追加なのでSkeletonはNoneのまま。 アニメーションはこのあと追加するので、Import Animations のチェックは入っていたら外して良いです。 Material Import MethodはDo Not Create Materialを選択。 (あとで自分で作るので今回は不要としました)

26.

Skeletal Meshのインポート インポートできました。 Skeletal MeshとSkeletonとPhysics Assetの三つが作成されています。

27.

Skeletal Meshのインポート さらにアニメーション時に用意したfbxを読み込みます。 今回はSkeletonを先ほど作成したスケルトンに指定します。 これでImportすれば先ほどのスケルタルメッシュに対応した アニメーションシーケンスが作成されます。 この時、ジョイントの階層が変わっていたり名前が一致しない と読み込めないのでmaya作業時に名前変えたりしないように 注意。

28.

Skeletal Meshのインポート Animation Sequenceがインポートできました。

29.

UDIMテクスチャのインポート 次にSubstance Painterで作成したテクスチャをインポートします。 UE4でUDIMを使う際は、Project SettingsのEnable virtual texture supportをONにします。 この状態でテクスチャをインポートすると自動的にVirtual Textureとして読み込まれます。

30.

UDIMテクスチャのインポート 先ほど作成したテクスチャの1001をインポートすると、一つのテクスチャアセットに全て のテクスチャファイルが格納されているのが確認できます。

31.

UDIMテクスチャのインポート Virtual Textureとして読み込まれたテクスチャのサムネイルにはVTという表示が出ます。 また、通常のテクスチャ⇔Virtual Textureを切り替える際はテクスチャを右クリックし、 Convertをかけます。

32.

マテリアル作成 マテリアルを作成し、テクスチャを各パラメータにつなぎます。 Roughnessに関しては後から調整できるようなパラメータを追加しました。 読み込んだテクスチャは右クリック→Convert to ParameterでParam2Dに変換します。

33.

マテリアル作成 作成したマテリアルからマテリアルインスタンスを作成し、各キャラごとにテクスチャ 差し替えや必要に応じて数値調整を行います。

34.

マテリアルアサインしてみる Skeletal Meshのマテリアルスロットに作成したマテリアルインスタンスを アサインして確認。

35.

次に背景を作ります…

36.

背景制作 今回は一人で全て制作していることもあり背景はほぼMegascansを使用。 一部の建造物などは自分で作成したアセットを織り交ぜています。

37.

地面作成 今回は地面用のベースモデルと二種類の質感をブレンドしたマテリアルを用意し、色ムラ、 湿り感を表現しました。 マスクで質感を分け、マスクとテクスチャをそれぞれタイリングできるようにしています。

38.

マテリアルブレンド マスク 岩肌① 岩肌② マテリアルの構造はこんな感じ。 マスクは適当に画像を作りましたがVertexColorとか使ってUE内でペイントするのも 良いと思います。

39.

マテリアルブレンド 今回は作品内でやりませんでしたがキャラクターにも応用するとこんな感じに。

40.

Megascansモデル配置 先ほどの地面の上にMegascansの岩や崖などのモデルを配置して背景を作成します。 MegascansのマテリアルインスタンスはBase Colorを調整できるようになっているの で色味も合わせていきます。

41.

Megascansモデル配置 地面の上にざっくり配置しました。カメラの動きつける際にまた調整していきます。

42.

Megascansモデル配置 試しにLevel上にSkeletal Meshを置いてみるとこんな感じ。キャラはまだ動きません。

43.

草の配置 今回は小さめのトカゲのキャラを歩かせていますが、岩アセットだけだとスケール感が わかりにくかったためキャラの足元などに草花を配置していきます。

44.

草の配置 ① ② ③ ①ModesをSelect→Foliageに変更し、②Add Foliage TypeでFoliageモデルを追加します。 ③ポツポツと草を生やしたかったのでSingleモードで草を配置します。

45.

草の配置 さっきよりトカゲの大きさを感じられるようになり、緑がいいアクセントになりました。

46.

次にシーケンサーとカメラの設定をします…

47.

シーケンサーとアニメーション再生 Mayaで作ったキャラクターのアニメーションを再生し、 UE4でカメラワークもつけていきます。

48.

シーケンサー作成 レベル上にレベルシーケンスを作成し、シーケンサーを開きます。 新たにカメラとCammera Cutsを作成します。 (既に使用したいカメラがある場合は+Cameraからバインドし、Camera Cutsに登録)

49.

CineCamera作成 通常Camera CineCamera 通常のカメラアクタよりもレンズ設定や画角の設定項目が豊富なため 映像用のレンダリングに向いています。 今回はFilmbackを16:9 Digital Zoomにしました。 シーケンサーからカメラを追加するとデフォルトでCineCameraが作成されます。

50.

暫定的なPostProcess設定 Edit>Project Settings>Rendering> Default Settingsから、PostProcess 機能をいくつかOFFにします。 AutoExposure…絵作りがしにくいため とりあえずOFFに。 MotionBlur…こちらも作業中はOFFに しておいたほうが処理も軽いです。 どちらも後でPostProcess設定時に変更できるためこの段階ではあくまで作業しやすいよう に OFFにしています。

51.

キャラクターアニメーション設定 次はアウトライナーからシーケンス にアニメーションさせたい Skeletal Meshをドラッグします。 +Animationから先ほどインポート したAnimation Sequenceを紐づけ ます。 タイムスライダを動かすと動きを確 認できます。

52.

キャラクターアニメーション設定 アニメーションの設定はトラック上を右クリック→Propertiesから確認できます。 アニメーションの再生速度変更や逆再生なども可能です。

53.

キャラクターアニメーション設定 Animationトラックの+から更にインポートして複数のアニメーションをブレンドしたり トラックを伸ばしてアニメーションをループさせたり等もできます。

54.

キャラクターアニメーション設定 Mayaのビューポートでシャチをアニメーションするとそこそこ重ためな挙動でしたが…

55.

キャラクターアニメーション設定 UE4に持っていくとサクサク動きました。

56.

Cinematic Viewport キャラクターの位置を調整しカメラワークを 作成していきます。 ビュー上のPerspectiveタブから、 Default Viewport→Cinematic Viewport に変更し、タイムスライダを表示します。 Placed Camerasを先ほど作成したカメラに 指定し、ビューポート下段のタイムスライダ を動かしてアニメーションを確認します。

57.

カメラアニメーション キャラクターの位置を調整し、カメラワークを作成していきます。 カメラをビューポート上で動かし、シーケンサー上でキーを打っていきます。 キーを選択し右クリックするとキーフレーム補間の設定も変えられます。

58.

カメラアニメーション MayaでつけたカメラをUE4へ持っていきたい場合はカメラだけのfbxを用意し、シーケ ンサーのカメラを右クリック→Importでカメラのfbxを選択すればOKです。 その際ImportオプションでMatch by Name Onlyにチェックが入っていますが、fbx内の カメラとUE4でのカメラの名前が一致していない場合は外してください。

59.

Focus Settings Focus MethodをManualにすると手動でどこに焦点を当てるか設定できます。 Trackingにすると任意のアクターに焦点を合わせ続けることができます。

60.

Focus Settings Manualにした際、Draw Debug Focus Planeにチェックを入れるとどの辺 り にFocusが効いているか視覚的にわかりやすくなります。

61.

次はライトとフォグの設定をします

62.

ライティングとフォグ ライトはDirectional、Point、Spot LightとSkyLightを使いました。 Fogは主にExponential Height Fogを使用しています。

63.

Exponential Height Fog UE4での御用達のフォグ。 Fog Density…全体の密度 Fog Height FallOff…低い位置のフォグの濃さ Fog Inscattering Color…Fogの基本的なカラー Volumetric Fog…ONにするとライトに反応する Scattering Distribution…光の散乱量 ↑個人的によく使うパラメータ 詳しい設定はユーザーガイドを…。 https://docs.unrealengine.com/4.26/ja/BuildingWorlds /FogEffects/HeightFog/

64.

ゴッドレイ Exponential Height FogとDirectional Lightを組み合わせると上のような表現ができます。 Exponential Height FogのVolumetric FogをONにします。 Directional LightのLight Shaft Occlusionにチェックを入れ、必要に応じてLight Shaft Bloomにもチェック。Bloom Scaleに数値を入れるとBloomの強度を調整できます。

65.

ゴッドレイ Directional Light以外でもLight Shaftを出すことができます。 Spot LightやPoint Lightの場合はVolumetric Scattering Intensityの数値を上げることで 上画像のような効果が得られます。

66.

フォグの途中経過 何もなし。

67.

フォグの途中経過 Exponential Height Fog+ライトのVolumetric Fog効果。

68.

板ポリフォグ Exponential Fogとライトだけではやや 物足りないので、板ポリで作ったフォグ を配置していきます。 これにより遠近感を強調したり画面を 見やすくしていきます。

69.

板ポリフォグ まず雲っぽい透過テクスチャを用意します。

70.

板ポリフォグ 板フォグ用のマテリアルを作成します。DepthFadeノードをはさむことで モデルに突き刺して配置してもいい感じにFadeで透過してくれます

71.

板ポリフォグ 板フォグ用のマテリアルを作成します。DepthFadeノードをはさむことで モデルに突き刺して配置してもいい感じにFadeで透過してくれます

72.

フォグの調整結果 何もなし。

73.

フォグの調整結果 Exponential Height Fog+ライトのVolumetric Fog効果。

74.

フォグの調整結果 板も追加。いい感じ。

75.

フォグの調整結果 別シーンでも同じように処理しています。

76.

フォグの調整結果 別シーンでも同じように処理しています。

77.

ポストプロセスの設定を行います…

78.

PostProcess 次にポストプロセスの設定を行います。

79.

PostProcess 設定するとこんな感じになりました。

80.

PostProcess そもそもポストプロセスとは… 映像業界でいうコンポジット。 PostProcessVolumeをレベルに配置 することで画面に効果をかけられる。 PostProcessVolumeの設定は先ほど行った Project Settingsでの設定を上書きしてくれます。 おかずさんのスライドが詳しいです。 https://www.slideshare.net/EpicGamesJapan/u e4-108770894

81.

PostProcess 今回はひとまず BloomとLens Flares…ある程度効かせる AutoExposureはOFFにして、数値設定。 Color Grading…キャラごとに朝靄、朝焼け、 マジックアワーっぽい色味など決めて調整 Chromatic Aberration…色収差。少し効かせた Vignette Intensity…これもある程度効かせた Depth of Fieldもここから設定可能。 カメラで設定している場合は特に触らなくても 良さそう。こちらの設定で上書きも可能。

82.

レイトレーシング機能 まず、Project SettingsでRay TracingがONになっているのを確認します。 今回はライトをベイクしてライトマップの調整などをせず全てRTGIを使用して ライティングしてみました。学習のためやってみた側面もあるのでLightmassの GIを使用したほうがいい場面もあると思います。 動的なライティング(Movable Light)を多用 する場合はベイク不要なRay Tracing Global Illuminations(RTGI)のほうが強そうです。 今回はほとんどライト動いてませんが…

83.

レイトレーシング機能 World Settings>Lightmass>Force No Precomputed Lightingにチェックを入れているとライトマップを生成 しなくなります。 次にBuild Lighting Onlyを使用するとこのあとはRTGI のみでライティングを計算できるようになります。

84.

レイトレーシング機能 PostProcessVolumeのRendering Featuresにある Ray Tracing Global Illuminationsの設定を確認 します。 Typeは2種類あり、 Final Gather…速度重視。間接照明のバウンスは1回 (Max Bounce回数関係なし) Brute Force…画質重視。バウンス回数を上げていく と間接照明の届く範囲が広がる 今回はBrute Forceを使用、Max Bounceは2(外のライティングなので3にする恩恵はさほどなかった) Sample数は16~32くらいにした。最大は64まで設定できます。

85.

色々と調整してきた結果 それぞれのシーンで設定してライティングしたものがこんな感じ。

86.

色々と調整してきた結果 ここまでのライティングやフォグの設定、PostProcessの設定とレイトレの設定は 全て絵作りにからんでくるので並行して行いました。

87.

最後にレンダリングを行います

88.

MovieRenderQueue 4.25から導入されている機能です。4.26では出力可能パスが増えるなど強化されています。 今回はこれを使ってレンダリングし、AfterEffectsで微調整して完成としました。

89.

MovieRenderQueue まずはPluginsからMovie Render QueueをONにし、UE4を再起動します。 Object IDなど一部のパスはMovie Render Queue Additional Render Passes もONにしておく必要があります。

90.

MovieRenderQueue Window> CinematicsからMovie Render Queueを起 動します。 +Renderからレンダリングしたいシーケンスを選択。 Contents Browserからドラッグしても良いです。 Settings(Unsaved Configになっているはず)から レンダリング設定を開き調整していきます。 Outputからは保存先を設定できます。

91.

MovieRenderQueue デフォルトのレンダリング設定。 .jpg Sequenceを削除し、+Settingsから .exr Sequenceを追加します。 4.26時点では16bitのみ出力できます。 Multilayerにチェックを入れるとマルチ レイヤーのEXR出力になります。

92.

MovieRenderQueue Deferred Renderingの設定を見ていきます。 Deferred Renderer Dataにレンダリングパス用 の Materialを追加していくことができます。 デフォルトではWorld DepthとMotion Vectorの 二つが登録されています。 +からマテリアルを追加できます。

93.

MovieRenderQueue マテリアル追加時はMovieRenderQueueと名前の 付いたマテリアルを検索し追加します。 Enabledにチェックを入れないとレンダリングされ ません。 今回はAmbient Occlusionを追加しました。 今回は使用しませんでしたがObject IDを出力する 際は+SettingからObject idsを追加します。 (ReflectionsOnlyなど他にもいくつかのパスはこの 方法で出力できます)

94.

MovieRenderQueue 更にレイトレのノイズやジャギー軽減のため +SettingからAnti-aliasingを追加します。 サンプリング方法は二種類あり、 Spatial Sample Count(空間サンプリング)と Temporal Sample Count(時間サンプリング)です。 両方とも1フレームをサンプル数で分割して計 算し、最終結果の精度を上げてくれます。 基本的にはどちらか必要な方の数値を上げて レンダリングするのが良いです。

95.

MovieRenderQueue Temporal Sample Countは分割したフレームの 計算時もカメラの移動などが計算されるので、 綺麗なモーションブラーが出力されます。 今回はあまりコンポジット作業で絵作りする予定が なかったのでTemporal Sample Countを8に設定し レンダリングしました。 コンポジットでブラーを追加したり、マルチパスで 素材を色々出してコンポジットをする予定の場合は Spatial Sample Countの数値を上げてレンダリング するのが良いです。

96.

MovieRenderQueue ちなみにPostProcessでMotion BlurがONになって いる場合Temporal Sample Count数が1であっても PostProcessのモーションブラーが反映されてしま います。 逆にTemporal Sample Countが2以上に設定されて いるとPostProcessやカメラ設定でMotion Blurを 切っていてもTemporal Sample Countのブラーが 反映されます。

97.

MovieRenderQueue また、各サンプル数を8以上に設定する場合、 Override Anti Aliasingにチェックを入れて Anti Aliasing MethodをNoneにすることが 推奨されているようです。 (r.TemporalAASamplesの数値を設定している サンプル数と一致するように変更すれば併用 も可能みたいです。)

98.

MovieRenderQueue Outputから保存場所や命名規則の設定ができ ます。 シーケンサーはデフォルトでは30fpsで設定 されていますがシーケンサー上で設定を変え なくてもここで24fps出力などに設定すれば、 レンダリング結果に反映されます。

99.

MovieRenderQueue ここまで色々と設定してきましたが、毎回使う 設定はPresetsに登録しておくと便利です。 全て設定が完了したら、Render(Local)を選択。 レンダリングが始まります。

100.

MovieRenderQueue こんな感じでレンダリングされて いきます。 Anti-Aliasingで設定したサンプル 数はそのままレンダリング時間に 直結するのであまり上げすぎても 恩恵が薄いシーンなのであれば、 待ち時間が増えてしまいます。

101.

MovieRenderQueue Beauty Depth(R Channelを調整) Motion Vector AO レンダリングしたものはこんな感じ。

102.

以上、UE4を使った映像制作の作例を紹介させていただきました。 今回の内容が少しでも皆さんのお役に立てると嬉しいです。

103.

参考元 [UE4]VirtualTexturingについて https://historia.co.jp/archives/14062/ 猫でも分かるUE4のポストプロセスを使った演出・絵作り https://www.slideshare.net/EpicGamesJapan/ue4-108770894 [UE4] 映像向け機能 Movie Render Queue について https://qiita.com/EGJ-Syuya_Mukai/items/8af5b80f250d93299e54 映像勢のためのUE4レイトレ2020 https://youtu.be/Aa98zj-OQKo

104.

参考元 公式ドキュメント Exponential Height Fog https://docs.unrealengine.com/4.26/ja/BuildingWorlds/FogEffects/HeightFog/ PostProcess https://docs.unrealengine.com/4.26/ja/RenderingAndGraphics/PostProcessEffects/ シーケンサー https://docs.unrealengine.com/4.26/ja/AnimatingObjects/Sequencer/Overview/

105.

ご清聴ありがとうございました!