『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) 【UNREAL FEST EXTREME 2021 SUMMER】

3.1K Views

May 24, 21

スライド概要

講演アーカイブ:
https://www.youtube.com/watch?v=69AlWCzUSRI&list=PLr_Cbd4sUDTwkjs-dreE91hRpk28ykqie&index=9

講演内容:
アニメ作品にUE4をどうして使うのか。大量に発生する3D背景動画、ジャングルというオブジェクトが多いロケーション、霧やライティングなどで益々見づらくなる設定に対し、UE4で最適なアプローチを探れた理由を解説いたします。事前に該当話数をご視聴いただけるとより理解が深まります。
https://www.youtube.com/watch?v=iFUIY3-qrco 本編冒頭映像)

講演者:
柳野 啓一郎 (株式会社アクタス/STUDIOカチューシャ 3DCGIディレクター・特技演出)
足立 真 (株式会社アクタス/STUDIOカチューシャ テクニカルディレクター)

UNREAL FEST EXTREME 2021 SUMMER公式サイト配信ページ:
https://unrealengine.jp/unrealfest/timetable/non-game-actus-studiokatyusha.html.
#ue4fest

profile-image

エピック ゲームズ ジャパン

@EpicGamesJapan

スライド一覧

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

シェア

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

各ページのテキスト
1.

『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) 株式会社アクタス STUDIOカチューシャ 3DCGI監督 柳野啓一郎 © GIRLS und PANZER Finale Projekt テクニカルディレクター 足立真 #ue4fest #garupan

2.

アジェンダ 1. 2. 3. 4. 5. 6. 7. 登壇者紹介 作品紹介 会社紹介 概要解説 技術解説 まとめと課題 告知、人材募集 #ue4fest #garupan

3.

登壇者紹介 #ue4fest #garupan

4.

登壇者紹介 Facebook 3DCGI監督 テクニカルディレクター 柳野啓一郎 足立真 『ガールズ&パンツァー』、『ガールズ&パンツァー (これが本当のアンツィオ戦です!)』、『ガールズ& パンツァー 劇場版』、『ガールズ&パンツァー 最終 章』3DCGI監督、特技演出、アニメーション、リグそ の他。技術と演出を統合し、アニメで表現が難しい面 白い映像を作れるように日々努力しております。 ゴンゾ→グラフィニカ→スタジオカチューシャ(アクタス) ゲーム会社を経て、アニメ-ションの会社アクタスに 2019年より入社。『ガールズ&パンツァー 最終章』 第3話 において、UnrealEndineの開発とサポートを 担当。現在は、次回作へ向けて、研究・開発業務に従 事している。 スライドについての質問は、FBで投げてもらえれば、 お答え可能な事はお答えします。 #ガルパンはいいぞ #ue4fest #garupan

5.

作品紹介 #ue4fest #garupan

6.

作品紹介 ♦『ガールズ&パンツァー』(2012年~) 「戦車道は乙女のたしなみ!」 戦車を使った武道「戦車道」が華道 や茶道と並んで大和撫子のたしなみ とされている世界を舞台に、戦車道 に挑む女子高生を描いたオリジナル アニメ作品。 監督:水島努 (『SHIROBAKO』 2015年公開の『劇場版』はこだわり 抜いた音響も話題となり異例のロン グランに。 (『ストライクウィッチーズ』『フレームアームズ・ ガール』) 現在は『最終章』の第3話が劇場上 映中。 『荒野のコトブキ飛行隊』) 脚本:吉田玲子 (『けいおん!』 『ヴァイオレット・エヴァーガーデン』) キャラクター原案:島田フミカネ キャラクターデザイン・総作画監督:杉本功 音楽:浜口史郎 音響監督:岩浪美和 制作:アクタス © GIRLS und PANZER Finale Projekt #ue4fest #garupan

7.

会社紹介 #ue4fest #garupan

8.

会社紹介 ♦ 株式会社アクタス 三鷹市にオフィスを構えるアニメ制作会社。 2017年9月1日付でバンダイナムコアーツの 完全子会社となっている。 3DCGI制作を手掛けるアクタス社内3DCGス タジオ「STUDIOカチューシャ」は、2017 年10月に設立。 #ue4fest #garupan

9.

用語説明 #ue4fest #garupan

10.

用語説明 • • • • • Max UE AE DCC T撮 ・・・ ・・・ ・・・ ・・・ ・・・ 3DS Max 2017 Unreal Engine 4.19.2 AfterEffect Digital Content Creation ツール 主にオールインワンCGソフトを指す(Max,Maya等) タイミング撮 • ガルパン・・・ガールズ&パンツァー #ue4fest #garupan

11.

説明しない事 #ue4fest #garupan

12.

説明しない事 • • • • • UEの基本操作 UEの基本用語 Maxの基本操作 Maxの基本用語 アニメ業界の単語 #ue4fest #garupan

13.

受講ターゲット #ue4fest #garupan

14.

受講ターゲット • UnrealEngineの基本的な使い方を習得している方 • アニメや映像の制作に従事している方 • アニメや映像にUnrealEngineを活かしたい方 #ue4fest #garupan

15.

環境説明 #ue4fest #garupan

16.

環境説明 • Windows10 • 3DS Max 2017 • UnrealEngine 4.19(第2話も4.19で開発) • Visual Studio 2019(Plugin開発) • スプレッドシート(タスク管理) • TortoiseSVN(社内開発用) • Git(Pluginのソースコードの管理) ※ UnrealEngineは、基本的にエンジン改造を行っていないが、一部C++で ノードを作成して、Pluginとして追加している #ue4fest #garupan

17.

概要解説 #ue4fest #garupan

18.

⚠警告⚠ #ue4fest #garupan

19.

⚠警告⚠ 以降、最終章「第3話」の ネタバレ が含まれます #ue4fest #garupan

20.

概要解説 最終章3話で、3Dがどのように進化したか、UEをどう使ったかご説明します • 2話までのおさらい(ガルパンの3D技術革新) • UEフロー解説 • 3話 3D概要解説 過去に行った講演 Unreal Engine 4でより複雑な演出を実現『ガールズ&パンツァー 最終章 https://cgworld.jp/feature/201911-255-ue4gp.html 『ガールズ&パンツァー 最終章』第2話、安易にゲームエンジンを使うのは危険!|CGWCCレポート(4) https://cgworld.jp/feature/201911-cgwcc-gp.html #ue4fest #garupan

21.

2話までの おさらい #ue4fest #garupan

22.

ガルパンの3D 技術革新 #ue4fest #garupan

23.

© GIRLS und PANZER Finale Projekt #ue4fest #garupan

24.

ガルパンの3D技術革新 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

25.

ガルパンの3D技術革新(戦車の形と動き) #ue4fest #garupan

26.

ガルパンの3D技術革新(キャラとエフェクト) #ue4fest #garupan

27.

ガルパンの3D技術革新(3DBG) ⇑ 本講演の内容 #ue4fest #garupan

28.

UEフロー解説 #ue4fest #garupan

29.

UE以前(または未使用カット) ♦ 『ガルパン』におけるカット作業のざっくりとした流れ © GIRLS und PANZER Finale Projekt #ue4fest #garupan

30.

UE以降 UEフロー解説 (全体図) #ue4fest #garupan

31.

UEフロー解説 (3DSMAX工程 拡大) #ue4fest #garupan

32.

UEフロー解説 (UE工程 拡大) #ue4fest #garupan

33.

UEフロー解説 (AE工程 拡大) #ue4fest #garupan

34.

UEフロー解説(動画・動画版を是非ご覧ください) #ue4fest #garupan

35.

UEフロー解説(動画) #ue4fest #garupan

36.

UEフロー解説(動画) #ue4fest #garupan

37.

UEフロー解説(動画) #ue4fest #garupan

38.

UEフロー解説(動画) #ue4fest #garupan

39.

UEフロー解説(動画) #ue4fest #garupan

40.

UEフロー解説(動画) #ue4fest #garupan

41.

3話 3D概要解説 #ue4fest #garupan

42.

3話概要解説(俯瞰図) ※赤枠部分を後ほど詳しく技術解説致します #ue4fest #garupan

43.

3話概要解説 ここからスタート #ue4fest #garupan

44.

3話概要解説 #ue4fest #garupan

45.

3話概要解説 #ue4fest #garupan

46.

3話概要解説(省略) #ue4fest #garupan

47.

3話概要解説(省略) #ue4fest #garupan

48.

3話概要解説(省略) #ue4fest #garupan

49.

急な おしらせ 『CGWORLD』274号 (6月号) 「アニメCGの現場」Vol.91 5月9日 より発売中! こちらに「UE以外」の箇所についても、 インタビューが掲載されています (発行:株式会社ボーンデジタル) #ue4fest #garupan

50.

すいません… 時間が無い… #ue4fest #garupan

51.

3話 3D概要解説 (UE4fest本題) #ue4fest #garupan

52.

3話概要解説(ue4fest本題) #ue4fest #garupan

53.

3話概要解説(ue4fest本題) #ue4fest #garupan

54.

3話概要解説(ue4fest本題) ※赤枠部分を後ほど詳しく技術解説致します #ue4fest #garupan

55.

3話概要解説(ue4fest本題) ※赤枠部分を後ほど詳しく技術解説致します #ue4fest #garupan

56.

3話概要解説(ue4fest本題) 動画版で動画で解説 ※赤枠部分を後ほど詳しく技術解説致します #ue4fest #garupan

57.

3話概要解説(ue4fest本題) ※赤枠部分を後ほど詳しく技術解説致します #ue4fest #garupan

58.

3話概要解説(ue4fest本題) 動画版で動画で解説 ※赤枠部分を後ほど詳しく技術解説致します #ue4fest #garupan

59.

3話概要解説(ue4fest本題) 動画版で動画で解説 #ue4fest #garupan

60.

3話概要解説(ue4fest本題) 動画版で動画で解説 #ue4fest #garupan

61.

3話概要解説(ue4fest本題) 動画版で動画で解説 #ue4fest #garupan

62.

3話概要解説(ue4fest本題) 動画版で動画で解説 #ue4fest #garupan

63.

3話概要解説(ue4fest本題) ※赤枠部分を後ほど詳しく技術解説致します #ue4fest #garupan

64.

3話概要解説(ue4fest本題) 動画版で動画で解説 ※赤枠部分を後ほど詳しく技術解説致します #ue4fest #garupan

65.

3話概要解説(ue4fest本題) ※赤枠部分を後ほど詳しく技術解説致します #ue4fest #garupan

66.

3話概要解説(ue4fest本題) ※赤枠部分を後ほど詳しく技術解説致します #ue4fest #garupan

67.

3話概要解説(ue4fest本題) ※赤枠部分を後ほど詳しく技術解説致します #ue4fest #garupan

68.

3話概要解説(ue4fest本題) 動画版で動画で解説 ※赤枠部分を後ほど詳しく技術解説致します #ue4fest #garupan

69.

3話概要解説(ue4fest本題) #ue4fest #garupan

70.

以上、 ふまえた上で… #ue4fest #garupan

71.

技術解説 #ue4fest #garupan

72.

UEの作業について ♦ 今回話す内容 • 前置き • 作業の流れ • 開発方針 • 背景レイアウト同期 • UEでのルック作成 • レシピファイル • 作画の貼り込み • 運用・サポート #ue4fest #garupan

73.

前置き #ue4fest #garupan

74.

第2話が終わった当初は、多くの課題が残る状況であった • UEの2話担当者との引き継ぎ • 開発途上のプロジェクトとマニュアル • 立ち上がったばかりのスタジオ ※在籍スタッフも少数で、スタジオ単体では、ラインを回せない • スタッフの学習コスト ※他業界のスタッフのラーニングコスト、用語の違い、常識の違い というように、最初から課題が山積みの状況からの出発だった #ue4fest #garupan

75.

ここから・・・ 一つ一つ課題をクリアしていき、完成までに至った。 当初の開発タスクも、20個程を予定していたが、細かい物も含めて、 100個近くに達した。 今回の講演でお話する内容は、時間をかけて行った検証や開発の中 で、アニメーターの作業に焦点を当てた内容にまとめている。 #ue4fest #garupan

76.

UEプロジェクトの開発方針 #ue4fest #garupan

77.

UEプロジェクトの開発方針 エンジニアしかプロジェクトのコアな部分を変更できないという状況 にはしたくなった為、なるべくC++を使用せず、ブループリントでの 実装を優先した。 どうしてもノードで実装されていない機能については、C++を書き、 Pluginとして追加した。 #ue4fest #garupan

78.

背景レイアウト同期 #ue4fest #garupan

79.

背景レイアウト同期 ♦ レイアウト アニメ制作の工程の一つで、絵コンテと原画の間に挟まる作業とな る。 絵コンテから1カットの背景の構図やキャラクターの動き、カメラ ワークの配置を決定する「カットの設計図」のことで、レイアウト モーションとも呼ばれる。 『ガルパン』の3Dカットでは、Maxでレイアウトを作成しており、 MaxのレイアウトをUEに持って行き、背景を付けて色味をFixさせる 作業が発生する。 #ue4fest #garupan

80.

背景レイアウト同期 ♦ 第2話での作業 Maxのトランスフォームを目コピで、6時間かけてUEのActorに入力 し、レイアウトを配置していた。 問題として、この作業に多くの時間がかかっており、また作業のやり 直しを行い難い状況であった。 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

81.

背景レイアウト同期 そもそも、MaxからUEにレイアウトを持って来る上での課題 • 座標系の違う(Zアップ /Yアップ) • 単位の違い(インチ/メートルを変換) 上記の課題があり、座標は変換しなければ、持って行けない #ue4fest #garupan

82.

背景レイアウト同期 ♦ 第3話での作業 MaxのトランスフォームをCSVに書き出し、UEでDataTableにインポート して、Blutility(ブループリント)でツールを作成し、ボタン一つで自動配 置している。およそ5分程の作業になった。 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

83.

背景レイアウト同期 ♦ CSVファイルのフォーマット ヘッダ名 使用用途 値の例 ObjectName Maxシーンのオブジェクト名。 Maxの仕様上ユニークになっている。 "JT_dc1_root_011" AssetName MaxとUEで共通アセットを認識する為の名前。UEには、準備と して、この名前でアセットが用意されている。 "JT_dc1" Postion Maxのオブジェクトの座標。 CSVに書き出した時点で、UE座標に変換済み。 "(X=1.000000,Y=1.000000,Z=1.000000)" Scale Maxのオブジェクトの拡大・縮小。 CSVに書き出した時点で、UE座標に変換済み。 "(X=1.000000,Y=0.999999,Z=1.000000)" Rotation Maxのオブジェクトの回転。 CSVに書き出した時点で、UE座標に変換済み。 "(X=1.000000,Y=1.000000,Z=1.000000)" AnimationFlag ボーン入りのアセットかのフラグ(※ 後述)。0か1が入る。 0 #ue4fest #garupan

84.

背景レイアウト同期 MaxとUEでは、レンダリングの座標系の変換は、以下の通り。 • Position X = x*2.54、Y=-y*2.54、Z=z*2.54 • Rotation X = x、Y= -y、Z= -z • Scale X = x、Y= y、Z= z ※ 2.54は、インチとメートルの変換 #ue4fest #garupan

85.

背景レイアウト同期 ♦ データテーブルに使用した構造体のフォーマット © GIRLS und PANZER Finale Projekt #ue4fest #garupan

86.

背景レイアウト同期 データテーブルから取得したデータを使って、アセットを配置する ブループリント(次のページを参照) 注意 • • • 関数の引数は、LayoutObject型(前のページ参照) 上部の処理で、トランスフォームを使用しない理由は後述する 回転にVector型を使用しているのはT撮作業開始後に、Rotator型のフォーマットを知った為、 そのままリリースした(※ 後述するレシピファイルにフォーマットの一覧を記載) #ue4fest #garupan

87.

背景レイアウト同期 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

88.

背景レイアウト同期 ♦ レベルへの配置 データテーブルからSpawnするオブ ジェクトは、管理上使いやすくする 為、直接レベルには置かず、 レベルに配置してあるブループリント にアタッチする形にしている。 BP_LayoutContainer・・・StaticMeshのブループリントをアタッチする BP_LayoutContainerAnim・・・SkeletalMeshのブループリントをアタッチする © GIRLS und PANZER Finale Projekt #ue4fest #garupan

89.

背景レイアウト同期 ♦ 配置後のレベル 配置するアセットはブループリント となっており、 『BPA_JT_as3_[JT_as3_root_003]』 のように、Maxのオブジェクト名を ラベルにも入れ、配置後にMaxの シーンと見比べてレイアウトを座標 の数値で確認できるようにしてい る。 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

90.

背景レイアウト同期 ♦ レイアウトにおいてのStaticMesh とSkeletalMeshの違いについて SkeletalMeshは、戦車と衝突し葉っ ぱが揺れる木に使用している。 ・ StaticMeshは、骨なしのアニメー ションしないオブジェクト ・ SkeletalMeshは、骨ありのアニ メーションをするオブジェクト © GIRLS und PANZER Finale Projekt #ue4fest #garupan

91.

背景レイアウト同期 ♦ レイアウト配置する際の問題 アニメーションする木を配置する際に、 問題が発生した。 アニメーションにオフセットが 入っていた為、二重にオフセットが 入ってしまった。 アニメーションする木は、単位行列に して、CSVのトランスフォームを使用 せずにspawnしている。 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

92.

UEでのルック作成 #ue4fest #garupan

93.

UEでのルック作成 ♦ ルック 映像の見栄えのことを指す。 「ルックを作成する」とは、見た目を作る作業の事である。 『最終章』の第2話ではAEでこの作業を行い、第3話ではUEで作業を 行った。 #ue4fest #garupan

94.

UEでのルック作成 ♦ 第2話での作業 色調整がされていないUEの背景レイアウトのレンダリングの画像を AEで6時間かけて色を直したものをルックのベースカラーとした。 ※ AEでMedianフィルタなどをかけてベースの絵を加工する時間が6時間程かかった © GIRLS und PANZER Finale Projekt #ue4fest #garupan

95.

UEでのルック作成 ♦ 第3話での作業 UEで、「カラーグレーディング」「ポストプロセス」「ディレクショナルラ イト」を使用して、ルックのベースカラー素材を作成し、リアルタイムで色 味のチェックを可能にしている。 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

96.

UEでのルック作成 ShowFlagの設定について以下のフラグ以外は、Offにしている • PostProcessMaterial • Tonemapper • ColorGrading TonemapperとColorGradingは、ピュアカラーが 出せなくなる為、ルックのベースカラー素材以外 では使用していない #ue4fest © GIRLS und PANZER Finale Projekt #garupan

97.

UEでのルック作成 ルック作成の為に作成したポストプロセスのマテリアルは6つ。 PPM_ChangeColor 全体的に色の調整を行う PPM_ChangeColor_Ground PPM_ChangeColorを地面だけに適用させる PPM_Gradient 勾配 PPM_GradientB 勾配 PPM_Kuwahara Kuwaharaフィルタ PPM_Median Medianフィルタ #ue4fest #garupan

98.

UEでのルック作成 ♦ PPM_ChangeColorマテリアルの結果(左はポストプロセス前) © GIRLS und PANZER Finale Projekt #ue4fest #garupan

99.

UEでのルック作成 ♦ PPM_ChangeColor_Groundマテリアルの結果 (左はポストプロセス前) © GIRLS und PANZER Finale Projekt #ue4fest #garupan

100.

UEでのルック作成 ♦ PPM_Gradientマテリアルの結果(左はポストプロセス前) © GIRLS und PANZER Finale Projekt #ue4fest #garupan

101.

UEでのルック作成 ♦ PPM_GradientBマテリアルの結果(左はポストプロセス前) © GIRLS und PANZER Finale Projekt #ue4fest #garupan

102.

UEでのルック作成 ♦ PPM_Kuwaharaマテリアルの結果(左はポストプロセス前) © GIRLS und PANZER Finale Projekt #ue4fest #garupan

103.

UEでのルック作成 ♦ PPM_Medianマテリアルの結果(左はポストプロセス前) © GIRLS und PANZER Finale Projekt #ue4fest #garupan

104.

UEでのルック作成 ♦ 経過と結果画像(画像は色を調整済) © GIRLS und PANZER Finale Projekt #ue4fest #garupan

105.

UEでのルック作成 ♦ ルックの開発中の問題 • Kuwaharaフィルタが画面の解像度依存 • ルックの作成が難しい #ue4fest #garupan

106.

UEでのルック作成 ♦『Kuwaharaフィルタが画面の解像度依存』問題 Kuwaharaフィルタが画面の解像度に依存した作りになってしまい、 解像度によりレンダリング結果が異なってしまった。 修正するには、カスタムノードを大きく修正する必要があった。 #ue4fest #garupan

107.

UEでのルック作成 検証と修正で多くの時間かかる事が分かっていた為、ワークアラウン ドで対応。 ビューポートのウインドウを指定サイズに変更するツールを作成し て、作業をフォローした。 ※ ビューポートのウインドウを指定サイズに変更する方法は次のページ #ue4fest #garupan

108.

UEでのルック作成 ♦ ビューポートのウィンドウサイズの 変更の仕方 GEditorの中にある LevelViewportClients から、タイトル から任意のSWindowを見つける。 SWindow::Resizeを実行する。 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

109.

UEでのルック作成 ♦『ルックの作成が難しい』問題 ディレクショナルライトがルックの作成に大きく影響を与えており、 また、各パラメータ影響しあっている状態であった。 その為、一つパラメータを変更しただけで、ライトで調整した見た目 が変わってしまい、アニメーターにとってルック作成の作業が難し かった。 また、UEという新しいツールに不馴れという事も重なり、カット毎に 色がバラバラになってしまう事が多かった。 #ue4fest #garupan

110.

UEでのルック作成 そこで、ルックの色を数字化したレシピファイル(※後述)を作って共 有するワークフローを考えた。 既に監督OKをもらっているカットで、同じようなレイアウトモーショ ンのカットであれば、そのカットのルックの色を共通して使用出来る ようにした。 そのまま使用できなくとも、少しの調整で、ルックを作成する事が可 能なワークフローにしている。 #ue4fest #garupan

111.

レシピファイル #ue4fest #garupan

112.

レシピファイル ♦ レシピファイル ルックの色データをデータテーブルで管理し、マテリアルインスタン スやブループリントに色データを読み込ませる事で、ルックを再現す る仕組みやルックの色データのデータテーブルを指す。 #ue4fest #garupan

113.

レシピファイル ♦ 管理しているパラメータ データテーブルで、下記のパラメータ を管理している。 • • • • • ポストプロセスのマテリアル ディレクショナルライト カラーグレーディング アンチエイリアス 履帯跡の色 ※ 保存と読込は、ツールを使って行う為、アニメーター がこのデータテーブルの内容を意識する必要は無い。 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

114.

レシピファイル ♦ マテリアルインスタンスへのアクセス マテリアルインスタンスは、MaterialnstanceConstant型にして、 EditorScritingの 『GetMaterialInstanceScalarParameterValueノード』や 『SetMaterialInstanceScalarParameterValueノード』を 使用してアクセスができる。 © GIRLS und PANZER Finale Projekt ノード アクセス可能なマテリアルパラメータ Get/SetMaterialInstanceScalarParameterValue 1次元の小数点のパラメータ Get/SetMaterialInstanceVectorParameterValue 2次元~4次元小数点のパラメータ(Color、LinearColor等) Get/SetMaterialInstanceTextureParameterValue Textureパラメータ #ue4fest #garupan

115.

レシピファイル ♦ 1次元の小数点のパラメータの設定と取得のノードの例 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

116.

レシピファイル ♦ 2次元~4次元小数点のパラメータの設定と取得のノードの例 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

117.

レシピファイル ♦ データテーブルの変換フォーマット CSVからデータテーブルにインポート可能な変数型のフォーマット。フォー マットが正しくないと、正しくデータテーブルにインポートされない。 変数型 テキストのフォーマット string型 "test" Int型 "1" float型 "1.000000" bool型 "True" or “False” Vector4型 "(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000)" Rotator型 "(Pitch=1.000000,Yaw=1.000000,Roll=1.000000)" LinearColor型 "(R=1.000000,G=1.000000,B=1.000000,A=1.000000)" Enum型 "FXAA" (『FXAA』『TemporalAA』『MSAA』というデータで持っていた場合に、 FXAAにしたい場合) #ue4fest #garupan

118.

レシピファイル ♦ ルックの開発中の問題 • マテリアルインスタンスエディタを開いていた際に更新されない • ディレクショナルライトのRotationの数字が元に戻らない #ue4fest #garupan

119.

レシピファイル ♦ 『マテリアルインスタンスエディタを開いていた際に更新されない」問題 マテリアルインスタンスエディタを開いていた際に、 SetMaterialInstanceScalarParameterValueでパラメータを更新しても反映 されず、再度、マテリアルインスタンスエディタを開き直す必要があった。 #ue4fest #garupan

120.

レシピファイル 解決策として、 UMaterialEditingLibrary::RebuildMaterialInstanceEditorsを呼び出せ ば、マテリアルインスタンスエディタが更新される事が分かった。 残念ながら、RebuildMaterialInstanceEditorsは、ノード化されていな い為、C++から呼び出す必要がある。 また、UpdateMaterialInstanceを呼ぶ事で、マテリアルインスタンスに Dirtyフラグ(アスタリスクが付いた状態)を立てられる為、 RebuildMaterialInstanceEditorsと合わせて呼ぶとなお良し。 UpdateMaterialInstanceは、ノード化されている。 #ue4fest #garupan

121.

レシピファイル ♦ 『ディレクショナルライトのRotationの数字が元に戻らない」問題 レシピファイルに書き出していた、ディレクショナルライトのRotationの数 字が元に戻せない事が分かった。 例えば、ディレクショナルライトのGetActorRotationでRotetarを取得し、 別のディレクショナルライトにSetActorRotationで設定しても、同じ数値に ならない角度が出てきた。 GetActorRotationするトランスフォーム 同じにならない? SetActorRotationしたトランスフォーム © GIRLS und PANZER Finale Projekt #ue4fest #garupan

122.

レシピファイル 原因として、エディタで回転に入力される角度は、Get/SetActorRotation した際に「クォータニオンに変換される」または、「クォータニオンに変換 している」為、 同じ角度を再現するが、変換された値(別の数値)が返ってきてしまう。 先にも説明した通り、ディレクショナルライトのルック作成時の影響は大き い為、その数字が一致しない事で、アニメーターを混乱させてしまった。 #ue4fest #garupan

123.

作画貼り込み #ue4fest #garupan

124.

作画貼り込み 貼り込み素材とは、2Dワークスとも呼ばれる作業の事で、作画で作成 された素材を指す。 この素材を貼り合わせる事を、「作画を貼り込む」と言う。 CGと作画を組み合わせたハイブリットアニメには、3Dでレンダリン グされたCGの素材に、貼り込み素材を入れて絵を作るという工程が発 生し、この作業はコンポジット作業で行われる。 #ue4fest #garupan

125.

作画貼り込み ♦ 素材の並べ方 素材の使用の仕方としては、例として コンポジットの際に右図の用に並べて いる。 貼り込みマスクは、作画素材を切り抜 くのに使用している素材となる。 霧が必要なカットでは、その上に霧素 材や霧マスク素材を上から被せて、素 材を馴染ませる。 ※ 素材として、霧マスクの説明を行いましたが、今回は、 霧については説明しません © GIRLS und PANZER Finale Projekt #ue4fest #garupan

126.

作画貼り込み ♦ 貼り込みを行いたいカット © GIRLS und PANZER Finale Projekt #ue4fest #garupan

127.

作画貼り込み ♦ 貼り込み素材の作成 貼り込み素材用のマスク を、Maxで作成する。 右上のカメラは作画ガイ ドであり、作画ガイドを 貼り込み素材用のマスク と流用している。 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

128.

作画貼り込み ♦ 貼り込み素材用の マスク(二両目) © GIRLS und PANZER Finale Projekt #ue4fest #garupan

129.

作画貼り込み ♦ 作画素材 資料用にグリーンバック にしているが、実際の素 材は、背景に色が入って いない。 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

130.

作画貼り込み ♦ 戦車素材 戦車はMaxでレンダリ ングしている。こちら もグリーンバックにし ているが、実際の素材 は、背景に色が入って いない。 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

131.

作画貼り込み ♦ UEの背景素材 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

132.

作画貼り込み ♦ 貼り込みマスク この貼り込みマスクのア ニメーションは、作画ガ イドを流用したもの。 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

133.

作画貼り込み ♦ 霧マスク 霧が必要なカットのみ 使用する。 作画素材に霧を載せる 為の素材。霧マスク は、貼り込みマスク素 材がある際に霧素材の 代わりに使用する。 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

134.

作画貼り込み ♦ UEにマスクを配置した状態。 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

135.

運用・サポート #ue4fest #garupan

136.

運用・サポート 『最終章』第2話から第3話において、UEを使用したカットの数が 約8倍に膨れ上がった為、大規模な運用が必要であり、運用を支え る為のサポートも必要となった。 第2話 第3話 UEを使ったカット(新規) 29カット 231カット UEを使ったカット(バンク) 23カット 26カット 1社 9社 作業を行った会社の数 #ue4fest #garupan

137.

運用・サポート 運用するに当たり、ワークフローの以下のポイントを変更した ※ 次のページより詳細を説明 • • • • ディレクトリ構造の変更 ロジックを親クラスに集約 設定パラメータをブループリントのプロパティに集約 ファイルサーバーの同期 #ue4fest #garupan

138.

運用・サポート ♦ ディレクトリ構造の変更 運用へ向け、ディレクトリ構造を大きく変更した。また、アセットの整理を 行ったり、アニメーター向けのルールを 作成した(下に詳細) ● ● ● ● ● ● 色分け(青は編集可、黄色は配置アセット、赤は編集不 可、紫は引き継ぎカットの共有フォルダ) アニメーターの作業フォルダ(UA001_Cut)をルートの 直下に移動 StarterContentを含め、未使用アセットを除外 スプラッシュ画面の変更 ツールや背景アセットなど、各フォルダに分別 SequencerやLevelに直置きしていたブループリント は、親クラスを作成し、ロジックを親クラスに移動(※ 詳細は次のページ) ディレクトリ を変更 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

139.

運用・サポート ♦ ロジックを親クラスに集約 親クラスにロジックを集約し、レベルやシーケンスに配置するアセットは、 サブクラスとした。そうする事で、ロジックの修正に柔軟に対応できるよう にし、プロジェクトの保守性を高めた。 ※下図では、「4H_TankBP_Root」を直接、複製し別の戦車のブループリントを作成していたが、「Base_TankBP_Root」を作成し、 4H_TankBP_Rootが行っていた実行時の処理を移行して、4H_TankBP_Rootには、各戦車のパラメータを変えただけのブループリントとした。 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

140.

運用・サポート ♦設定パラメータをブループリントのプロパ ティに集約 アニメーターの作業で使用するプロパティは、ブ ループリントで公開されているプロパティのみと し、ブループリントが持っているコンポーネントを 操作しなくてもいいようにしている。 右図の場合で言うと、 Mud_BP_DynamicDeformation_Multi_Mat_Lの 「トランスフォーム」と「設定可能なパラメータ」 のみ変更し、「DefaultSceneRoot」等のコンポーネ ントの詳細を見なくても作業ができるようにしてい る。 #ue4fest © GIRLS und PANZER Finale Projekt #garupan

141.

運用・サポート ♦ファイルサーバーの同期 プロジェクトの配布は、社内と社 外のサーバーを同期させ、社内 サーバーに最新のプロジェクトを アップすることで各社に配布して いる。 協力会社には、同期された自社の サーバーからプロジェクトをロー カルPCにダウンロードして作業を 進めてもらった。 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

142.

運用・サポート ♦各社からのフィードバック T撮作業終了後に各社に作業のフィー ドバックを行った。 プラス意見が多かったが、UEの操作 の難しかった事という意見も目立ち、 アニメーターにとってまだまだ敷居が 高い事が分かった。 また、アンケート結果から、今後の課 題も見えてきた。 良い/悪い 意見 ◎ UEでのルック作成の調整が結果のレスポンスが早かっ た ◎ レンダリングが早かった ◎ マニュアルがあって助かった ◎ 第2話よりも効率がよかった ✖ UEでのルック作成の色味調整が難しかった ✖ パラメータが多すぎて、分かり難かった ✖ プロジェクト内から必要なアセットを見つけるのが大変 だった ✖ 各アセットのインポート作業が大変だった #ue4fest #garupan

143.

まとめと課題 #ue4fest #garupan

144.

まとめ 今後の礎となるワークフロー 構築完了 • • • • ディレクトリ構造、ロジック、BPの再構築 2話でのくり抜き工法を改修し、システム化 マニュアルによる新規人材教育 UEルック作成システムと1からの美術作成 • • 外部ソフト無しで、UEでルックを作成成功 今後、美術をUEベースで作れるように • UEエフェクト複数実装 • GPUパワーでよりリッチに、効率的に • 作画やMAXとのより深い融合 • レイアウト合わせ、作画合成がより高速化 © GIRLS und PANZER Finale Projekt #ue4fest #garupan

145.

課題 • システムのさらなる自動化 連番出力、マスクなど、ルーチンワークを改善したい • 他のロケーションへの対応 4話ロケーションでカット作業を楽に、映像をよりよく 明るい場所、人工物などにも応用してみたい • エフェクト、アセットの取り込み UEのメリットをフル活用していきたい DCCで重いエフェクト作業を改善したい • 色問題が未解決 © GIRLS und PANZER Finale Projekt レシピシステムでも、各担当者・会社でばらつきは出た #ue4fest #garupan

146.

© GIRLS und PANZER Finale Projekt 限界を、撃破する #ue4fest #garupan

147.

告 知 #ue4fest #garupan

148.

おしらせ 『ガールズ&パンツァー 最終章』 第3話 DOLBY ATMOS版・DTS:X版 2021年 5月28日 (金) 劇場上映! © GIRLS und PANZER Finale Projekt #ue4fest #garupan

149.

おしらせ (2回目) 『CGWORLD』274号 (6月号) 「アニメCGの現場」Vol.91 『最終章』第3話での 3Dの進化とUE4の活用について 特集ページ掲載 5月9日 より発売中! (発行:株式会社ボーンデジタル) #ue4fest #garupan

150.

人材募集 #ue4fest #garupan

151.

人材募集 • カット制作スタッフ(3DCGアニメーター) レイアウト、アニメーション、コンポジットなど一連のカット制作 ※ 歓迎スキル : 3DSMax • モデル、リグ制作スタッフ(3DCGモデラ―/リガ―) メカ、キャラクタ、背景などのモデル、リグ作成を行う ※ 歓迎スキル : 3DSMax、Maya、MODO • エフェクト制作スタッフ(エフェクトアーティスト) カットで使用する汎用エフェクトの作成を行う ※ 歓迎スキル : 3DSMax、Maya、Bleder、UnrealEngine、Unity、HLSL • UnrealEngine4技術開発スタッフ(エンジニア/テクニカルアーティスト) UnrealEngineやDCCツールのスクリプトで、ツールやAPIの作成を行う ※ 歓迎スキル : C++、Python、UnrealEngine(ブループリント)、C#、Unity、HLSL • 背景ルック制作スタッフ(3D美術制作アーティスト) UnrealEngine4やDCCツールを使用し、美術モデルやルックの作成などを行う ※ 歓迎スキル : 3DSMax、Maya、Bleder、UnrealEngine、Unity #ue4fest #garupan

152.

人材募集 このような方におすすめ(2つ以上) • • • • • • • アセットを開発して、新しいアニメのワークフローを作ってみたい アセットを活用して、レイアウト・アニメーションの腕を振るいたい ゲームエンジンで、 エフェクトアセットを開発したい ゲームエンジンで、 アニメとゲームの融合をしてみたい 中小規模のチームで、フットワーク良く提案型の仕事をしてみたい デジタルを駆使して、アニメの制作工程を管理してみたい ガルパン全話見た #ue4fest #garupan

153.

人材募集 メールもしくは郵送で以下の書類をお送りください ・ 履歴書 (顔写真貼付) ※希望職種名 及び メールアドレスの明記必須 ・ メールの場合 job@actas-inc.co.jp ・ 職務履歴書 ・ 郵送の場合 ・ ポートフォリオ <株式会社アクタス 3D事業部 > STUDIO カチューシャ ※過去に制作された作品資料 〒181-0013 ※応募書類は返却いたしませんので、マスターの送付 はご遠慮ください。 東京都三鷹市下連雀3-36-1 トリコナ4F ともに 採用担当:羽田 までお送りください #ue4fest #garupan

154.

告 知 2 #ue4fest #garupan

155.

オンラインセミナーの予告 こういう御時世なので…😷 Youtubeにて、ショートセミナー(1-3分程度) を不定期で行う予定です。 スタジオ カチューシャでは、「3DCGIをこうやって作っている」というのが分かる内容になります。 ガルパンファン 及び これから一緒にお仕事をしていただける方へ向けて、ささやかに発信したいと思います。 準備ができ次第、以下でお知らせ致します。 柳野啓一郎 🐤Twitter #ue4fest #garupan

156.

以上。 #ue4fest #garupan

157.

ご視聴 ありがとうございます #ue4fest #garupan