#ue4fest   #garupan
UNREAL FEST EXTREME 2021 SUMMER 

#ue4fest   #garupan
アニメとゲームエンジンの融合(ジャングル完結編)
株式会社アクタス
STUDIOカチューシャ
3DCGI監督 柳野啓一郎
テクニカルディレクター 足立真
© GIRLS und PANZER Finale Projekt
『ガールズ&パンツァー 最終章』第3話
#ue4fest   #garupan
 アジェンダ
1. 登壇者紹介
2. 作品紹介
3. 会社紹介
4. 概要解説
5. 技術解説
6. まとめと課題
7. 告知、人材募集
#ue4fest   #garupan
登壇者紹介
#ue4fest   #garupan
 登壇者紹介
『ガールズ&パンツァー』、『ガールズ&パンツァー
(これが本当のアンツィオ戦です!)』、『ガールズ&
パンツァー 劇場版』、『ガールズ&パンツァー 最終
章』3DCGI監督、特技演出、アニメーション、リグそ
の他。技術と演出を統合し、アニメで表現が難しい面
白い映像を作れるように日々努力しております。
ゴンゾ→グラフィニカ→スタジオカチューシャ(アクタス)
ゲーム会社を経て、アニメ-ションの会社アクタスに
2019年より入社。『ガールズ&パンツァー 最終章』
第3話 において、UnrealEndineの開発とサポートを
担当。現在は、次回作へ向けて、研究・開発業務に従
事している。
#ガルパンはいいぞ
柳野啓一郎 足立真
3DCGI監督 テクニカルディレクター
Facebook
スライドについての質問は、FBで投げてもらえれば、
お答え可能な事はお答えします。
#ue4fest   #garupan
作品紹介
#ue4fest   #garupan
 作品紹介
「戦車道は乙女のたしなみ!」
戦車を使った武道「戦車道」が華道
や茶道と並んで大和撫子のたしなみ
とされている世界を舞台に、戦車道
に挑む女子高生を描いたオリジナル
アニメ作品。
2015年公開の『劇場版』はこだわり
抜いた音響も話題となり異例のロン
グランに。
現在は『最終章』の第3話が劇場上
映中。
監督:水島努 (『SHIROBAKO』        
『荒野のコトブキ飛行隊』)
脚本:吉田玲子 (『けいおん!』           
『ヴァイオレット・エヴァーガーデン』)
キャラクター原案:島田フミカネ  
(『ストライクウィッチーズ』『フレームアームズ・
ガール』)
キャラクターデザイン・総作画監督:杉本功
音楽:浜口史郎
音響監督:岩浪美和
制作:アクタス
© GIRLS und PANZER Finale Projekt
♦『ガールズ&パンツァー』(2012年~)
#ue4fest   #garupan
会社紹介
#ue4fest   #garupan
 会社紹介
♦ 株式会社アクタス
三鷹市にオフィスを構えるアニメ制作会社。
2017年9月1日付でバンダイナムコアーツの
完全子会社となっている。
3DCGI制作を手掛けるアクタス社内3DCGス
タジオ「STUDIOカチューシャ」は、2017
年10月に設立。
#ue4fest   #garupan
用語説明
#ue4fest   #garupan
 用語説明
• Max ・・・ 3DS Max 2017
• UE ・・・ Unreal Engine 4.19.2
• AE ・・・ AfterEffect
• DCC ・・・ Digital Content Creation ツール 主にオールインワンCGソフトを指す(Max,Maya等)
• T撮 ・・・ タイミング撮
• ガルパン・・・ガールズ&パンツァー
#ue4fest   #garupan
説明しない事
#ue4fest   #garupan
 説明しない事
• UEの基本操作
• UEの基本用語
• Maxの基本操作
• Maxの基本用語
• アニメ業界の単語
#ue4fest   #garupan
受講ターゲット
#ue4fest   #garupan
 受講ターゲット
• UnrealEngineの基本的な使い方を習得している方
• アニメや映像の制作に従事している方
• アニメや映像にUnrealEngineを活かしたい方
#ue4fest   #garupan
環境説明
#ue4fest   #garupan
環境説明
• Windows10
• 3DS Max 2017
• UnrealEngine 4.19(第2話も4.19で開発)
• Visual Studio 2019(Plugin開発)
• スプレッドシート(タスク管理)
• TortoiseSVN(社内開発用)
• Git(Pluginのソースコードの管理)
※ UnrealEngineは、基本的にエンジン改造を行っていないが、一部C++で
ノードを作成して、Pluginとして追加している
#ue4fest   #garupan
概要解説
#ue4fest   #garupan
⚠警告⚠
#ue4fest   #garupan
⚠警告⚠
以降、最終章「第3話」の
ネタバレ
が含まれます
#ue4fest   #garupan
概要解説
過去に行った講演
Unreal Engine 4でより複雑な演出を実現『ガールズ&パンツァー 最終章
https://cgworld.jp/feature/201911-255-ue4gp.html
『ガールズ&パンツァー 最終章』第2話、安易にゲームエンジンを使うのは危険!|CGWCCレポート(4)
https://cgworld.jp/feature/201911-cgwcc-gp.html
最終章3話で、3Dがどのように進化したか、UEをどう使ったかご説明します
• 2話までのおさらい(ガルパンの3D技術革新)
• UEフロー解説
• 3話 3D概要解説
#ue4fest   #garupan
2話までの
おさらい
#ue4fest   #garupan
ガルパンの3D
技術革新
#ue4fest   #garupan
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
ガルパンの3D技術革新
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
ガルパンの3D技術革新(戦車の形と動き)
#ue4fest   #garupan
ガルパンの3D技術革新(キャラとエフェクト)
#ue4fest   #garupan
ガルパンの3D技術革新(3DBG)
⇑
本講演の内容
#ue4fest   #garupan
UEフロー解説
#ue4fest   #garupan
UE以前(または未使用カット)
♦ 『ガルパン』におけるカット作業のざっくりとした流れ
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
UEフロー解説
(全体図)
UE以降
#ue4fest   #garupan
UEフロー解説
(3DSMAX工程 拡大)
#ue4fest   #garupan
UEフロー解説
(UE工程 拡大)
#ue4fest   #garupan
UEフロー解説
(AE工程 拡大)
#ue4fest   #garupan
UEフロー解説(動画・動画版を是非ご覧ください)
#ue4fest   #garupan
UEフロー解説(動画)
#ue4fest   #garupan
UEフロー解説(動画)
#ue4fest   #garupan
UEフロー解説(動画)
#ue4fest   #garupan
UEフロー解説(動画)
#ue4fest   #garupan
UEフロー解説(動画)
#ue4fest   #garupan
UEフロー解説(動画)
#ue4fest   #garupan
3話 3D概要解説
#ue4fest   #garupan
3話概要解説(俯瞰図)
※赤枠部分を後ほど詳しく技術解説致します
#ue4fest   #garupan
3話概要解説 ここからスタート
#ue4fest   #garupan
3話概要解説
#ue4fest   #garupan
3話概要解説
#ue4fest   #garupan
3話概要解説(省略)
#ue4fest   #garupan
3話概要解説(省略)
#ue4fest   #garupan
3話概要解説(省略)
#ue4fest   #garupan
『CGWORLD』274号 (6月号)
「アニメCGの現場」Vol.91
5月9日 より発売中!
こちらに「UE以外」の箇所についても、
インタビューが掲載されています
急な おしらせ
(発行:株式会社ボーンデジタル)
#ue4fest   #garupan
すいません…
時間が無い…
#ue4fest   #garupan
3話 3D概要解説
(UE4fest本題)
#ue4fest   #garupan
3話概要解説(ue4fest本題)
#ue4fest   #garupan
3話概要解説(ue4fest本題)
#ue4fest   #garupan
3話概要解説(ue4fest本題)
※赤枠部分を後ほど詳しく技術解説致します
#ue4fest   #garupan
3話概要解説(ue4fest本題)
※赤枠部分を後ほど詳しく技術解説致します
#ue4fest   #garupan
3話概要解説(ue4fest本題)
※赤枠部分を後ほど詳しく技術解説致します
動画版で動画で解説
#ue4fest   #garupan
3話概要解説(ue4fest本題)
※赤枠部分を後ほど詳しく技術解説致します
#ue4fest   #garupan
3話概要解説(ue4fest本題)
※赤枠部分を後ほど詳しく技術解説致します
動画版で動画で解説
#ue4fest   #garupan
3話概要解説(ue4fest本題)
動画版で動画で解説
#ue4fest   #garupan
3話概要解説(ue4fest本題)
動画版で動画で解説
#ue4fest   #garupan
3話概要解説(ue4fest本題)
動画版で動画で解説
#ue4fest   #garupan
3話概要解説(ue4fest本題)
動画版で動画で解説
#ue4fest   #garupan
3話概要解説(ue4fest本題)
※赤枠部分を後ほど詳しく技術解説致します
#ue4fest   #garupan
3話概要解説(ue4fest本題)
※赤枠部分を後ほど詳しく技術解説致します
動画版で動画で解説
#ue4fest   #garupan
3話概要解説(ue4fest本題)
※赤枠部分を後ほど詳しく技術解説致します
#ue4fest   #garupan
3話概要解説(ue4fest本題)
※赤枠部分を後ほど詳しく技術解説致します
#ue4fest   #garupan
3話概要解説(ue4fest本題)
※赤枠部分を後ほど詳しく技術解説致します
#ue4fest   #garupan
3話概要解説(ue4fest本題)
※赤枠部分を後ほど詳しく技術解説致します
動画版で動画で解説
#ue4fest   #garupan
3話概要解説(ue4fest本題)
#ue4fest   #garupan
以上、
ふまえた上で…
#ue4fest   #garupan
技術解説
#ue4fest   #garupan
UEの作業について
♦ 今回話す内容
• 前置き
• 作業の流れ
• 開発方針
• 背景レイアウト同期
• UEでのルック作成
• レシピファイル
• 作画の貼り込み
• 運用・サポート
#ue4fest   #garupan
前置き
#ue4fest   #garupan
第2話が終わった当初は、多くの課題が残る状況であった
• UEの2話担当者との引き継ぎ
• 開発途上のプロジェクトとマニュアル
• 立ち上がったばかりのスタジオ
※在籍スタッフも少数で、スタジオ単体では、ラインを回せない
• スタッフの学習コスト
※他業界のスタッフのラーニングコスト、用語の違い、常識の違い
というように、最初から課題が山積みの状況からの出発だった
#ue4fest   #garupan
ここから・・・
一つ一つ課題をクリアしていき、完成までに至った。
当初の開発タスクも、20個程を予定していたが、細かい物も含めて、
100個近くに達した。
今回の講演でお話する内容は、時間をかけて行った検証や開発の中
で、アニメーターの作業に焦点を当てた内容にまとめている。
#ue4fest   #garupan
UEプロジェクトの開発方針
#ue4fest   #garupan
UEプロジェクトの開発方針
エンジニアしかプロジェクトのコアな部分を変更できないという状況
にはしたくなった為、なるべくC++を使用せず、ブループリントでの
実装を優先した。
どうしてもノードで実装されていない機能については、C++を書き、
Pluginとして追加した。
#ue4fest   #garupan
背景レイアウト同期
#ue4fest   #garupan
 背景レイアウト同期
♦ レイアウト
アニメ制作の工程の一つで、絵コンテと原画の間に挟まる作業とな
る。
絵コンテから1カットの背景の構図やキャラクターの動き、カメラ
ワークの配置を決定する「カットの設計図」のことで、レイアウト
モーションとも呼ばれる。
『ガルパン』の3Dカットでは、Maxでレイアウトを作成しており、
MaxのレイアウトをUEに持って行き、背景を付けて色味をFixさせる
作業が発生する。
#ue4fest   #garupan
 背景レイアウト同期
♦ 第2話での作業
Maxのトランスフォームを目コピで、6時間かけてUEのActorに入力
し、レイアウトを配置していた。
問題として、この作業に多くの時間がかかっており、また作業のやり
直しを行い難い状況であった。
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 背景レイアウト同期
そもそも、MaxからUEにレイアウトを持って来る上での課題
• 座標系の違う(Zアップ /Yアップ)
• 単位の違い(インチ/メートルを変換)
上記の課題があり、座標は変換しなければ、持って行けない
#ue4fest   #garupan
 背景レイアウト同期
♦ 第3話での作業
MaxのトランスフォームをCSVに書き出し、UEでDataTableにインポート
して、Blutility(ブループリント)でツールを作成し、ボタン一つで自動配
置している。およそ5分程の作業になった。
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 背景レイアウト同期
♦ 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
 背景レイアウト同期
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
 背景レイアウト同期
♦ データテーブルに使用した構造体のフォーマット
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 背景レイアウト同期
データテーブルから取得したデータを使って、アセットを配置する
ブループリント(次のページを参照)
 
  注意
• 関数の引数は、LayoutObject型(前のページ参照)
• 上部の処理で、トランスフォームを使用しない理由は後述する
• 回転にVector型を使用しているのはT撮作業開始後に、Rotator型のフォーマットを知った為、
そのままリリースした(※ 後述するレシピファイルにフォーマットの一覧を記載)
#ue4fest   #garupan
 背景レイアウト同期
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 背景レイアウト同期
♦ レベルへの配置
データテーブルからSpawnするオブ
ジェクトは、管理上使いやすくする
為、直接レベルには置かず、
レベルに配置してあるブループリント
にアタッチする形にしている。
BP_LayoutContainer・・・StaticMeshのブループリントをアタッチする
BP_LayoutContainerAnim・・・SkeletalMeshのブループリントをアタッチする
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 背景レイアウト同期
♦ 配置後のレベル
配置するアセットはブループリント
となっており、
『BPA_JT_as3_[JT_as3_root_003]』
のように、Maxのオブジェクト名を
ラベルにも入れ、配置後にMaxの
シーンと見比べてレイアウトを座標
の数値で確認できるようにしてい
る。
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 背景レイアウト同期
♦ レイアウトにおいてのStaticMesh
とSkeletalMeshの違いについて
SkeletalMeshは、戦車と衝突し葉っ
ぱが揺れる木に使用している。
・ StaticMeshは、骨なしのアニメー
ションしないオブジェクト
・ SkeletalMeshは、骨ありのアニ
メーションをするオブジェクト
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 背景レイアウト同期
♦ レイアウト配置する際の問題
アニメーションする木を配置する際に、
問題が発生した。
アニメーションにオフセットが
入っていた為、二重にオフセットが
入ってしまった。
アニメーションする木は、単位行列に
して、CSVのトランスフォームを使用
せずにspawnしている。
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
UEでのルック作成
#ue4fest   #garupan
 UEでのルック作成
♦ ルック
映像の見栄えのことを指す。
「ルックを作成する」とは、見た目を作る作業の事である。
『最終章』の第2話ではAEでこの作業を行い、第3話ではUEで作業を
行った。
#ue4fest   #garupan
 UEでのルック作成
♦ 第2話での作業
色調整がされていないUEの背景レイアウトのレンダリングの画像を
AEで6時間かけて色を直したものをルックのベースカラーとした。
※ AEでMedianフィルタなどをかけてベースの絵を加工する時間が6時間程かかった
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 UEでのルック作成
♦ 第3話での作業
UEで、「カラーグレーディング」「ポストプロセス」「ディレクショナルラ
イト」を使用して、ルックのベースカラー素材を作成し、リアルタイムで色
味のチェックを可能にしている。
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 UEでのルック作成
ShowFlagの設定について以下のフラグ以外は、Offにしている
• PostProcessMaterial
• Tonemapper
• ColorGrading
TonemapperとColorGradingは、ピュアカラーが
出せなくなる為、ルックのベースカラー素材以外
では使用していない © GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 UEでのルック作成
ルック作成の為に作成したポストプロセスのマテリアルは6つ。
PPM_ChangeColor 全体的に色の調整を行う
PPM_ChangeColor_Ground PPM_ChangeColorを地面だけに適用させる
PPM_Gradient 勾配
PPM_GradientB 勾配
PPM_Kuwahara Kuwaharaフィルタ
PPM_Median Medianフィルタ
#ue4fest   #garupan
 UEでのルック作成
♦ PPM_ChangeColorマテリアルの結果(左はポストプロセス前)
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 UEでのルック作成
♦ PPM_ChangeColor_Groundマテリアルの結果        
(左はポストプロセス前)
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 UEでのルック作成
♦ PPM_Gradientマテリアルの結果(左はポストプロセス前)
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 UEでのルック作成
♦ PPM_GradientBマテリアルの結果(左はポストプロセス前)
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 UEでのルック作成
♦ PPM_Kuwaharaマテリアルの結果(左はポストプロセス前)
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 UEでのルック作成
♦ PPM_Medianマテリアルの結果(左はポストプロセス前)
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 UEでのルック作成
♦ 経過と結果画像(画像は色を調整済)
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 UEでのルック作成
♦ ルックの開発中の問題
• Kuwaharaフィルタが画面の解像度依存
• ルックの作成が難しい
#ue4fest   #garupan
 UEでのルック作成
♦『Kuwaharaフィルタが画面の解像度依存』問題
Kuwaharaフィルタが画面の解像度に依存した作りになってしまい、
解像度によりレンダリング結果が異なってしまった。
修正するには、カスタムノードを大きく修正する必要があった。
#ue4fest   #garupan
 UEでのルック作成
検証と修正で多くの時間かかる事が分かっていた為、ワークアラウン
ドで対応。
ビューポートのウインドウを指定サイズに変更するツールを作成し
て、作業をフォローした。
※ ビューポートのウインドウを指定サイズに変更する方法は次のページ
#ue4fest   #garupan
 UEでのルック作成
♦ ビューポートのウィンドウサイズの
変更の仕方
GEditorの中にある
LevelViewportClients から、タイトル
から任意のSWindowを見つける。
SWindow::Resizeを実行する。
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 UEでのルック作成
♦『ルックの作成が難しい』問題
ディレクショナルライトがルックの作成に大きく影響を与えており、
また、各パラメータ影響しあっている状態であった。
その為、一つパラメータを変更しただけで、ライトで調整した見た目
が変わってしまい、アニメーターにとってルック作成の作業が難し
かった。
また、UEという新しいツールに不馴れという事も重なり、カット毎に
色がバラバラになってしまう事が多かった。
#ue4fest   #garupan
 UEでのルック作成
そこで、ルックの色を数字化したレシピファイル(※後述)を作って共
有するワークフローを考えた。
既に監督OKをもらっているカットで、同じようなレイアウトモーショ
ンのカットであれば、そのカットのルックの色を共通して使用出来る
ようにした。
そのまま使用できなくとも、少しの調整で、ルックを作成する事が可
能なワークフローにしている。
#ue4fest   #garupan
レシピファイル
#ue4fest   #garupan
 レシピファイル
♦ レシピファイル
ルックの色データをデータテーブルで管理し、マテリアルインスタン
スやブループリントに色データを読み込ませる事で、ルックを再現す
る仕組みやルックの色データのデータテーブルを指す。
#ue4fest   #garupan
 レシピファイル
♦ 管理しているパラメータ
データテーブルで、下記のパラメータ
を管理している。
• ポストプロセスのマテリアル
• ディレクショナルライト
• カラーグレーディング
• アンチエイリアス
• 履帯跡の色
※ 保存と読込は、ツールを使って行う為、アニメーター
がこのデータテーブルの内容を意識する必要は無い。
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 レシピファイル
ノード アクセス可能なマテリアルパラメータ
Get/SetMaterialInstanceScalarParameterValue 1次元の小数点のパラメータ
Get/SetMaterialInstanceVectorParameterValue 2次元~4次元小数点のパラメータ(Color、LinearColor等)
Get/SetMaterialInstanceTextureParameterValue Textureパラメータ
♦ マテリアルインスタンスへのアクセス
マテリアルインスタンスは、MaterialnstanceConstant型にして、
EditorScritingの
『GetMaterialInstanceScalarParameterValueノード』や
『SetMaterialInstanceScalarParameterValueノード』を
使用してアクセスができる。 © GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 レシピファイル
♦ 1次元の小数点のパラメータの設定と取得のノードの例
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 レシピファイル
♦ 2次元~4次元小数点のパラメータの設定と取得のノードの例
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 レシピファイル
♦ データテーブルの変換フォーマット
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
 レシピファイル
♦ ルックの開発中の問題
• マテリアルインスタンスエディタを開いていた際に更新されない
• ディレクショナルライトのRotationの数字が元に戻らない
#ue4fest   #garupan
 レシピファイル
♦ 『マテリアルインスタンスエディタを開いていた際に更新されない」問題
マテリアルインスタンスエディタを開いていた際に、
SetMaterialInstanceScalarParameterValueでパラメータを更新しても反映
されず、再度、マテリアルインスタンスエディタを開き直す必要があった。
#ue4fest   #garupan
 レシピファイル
解決策として、
UMaterialEditingLibrary::RebuildMaterialInstanceEditorsを呼び出せ
ば、マテリアルインスタンスエディタが更新される事が分かった。
残念ながら、RebuildMaterialInstanceEditorsは、ノード化されていな
い為、C++から呼び出す必要がある。
また、UpdateMaterialInstanceを呼ぶ事で、マテリアルインスタンスに
Dirtyフラグ(アスタリスクが付いた状態)を立てられる為、
RebuildMaterialInstanceEditorsと合わせて呼ぶとなお良し。
UpdateMaterialInstanceは、ノード化されている。
#ue4fest   #garupan
 レシピファイル
♦ 『ディレクショナルライトのRotationの数字が元に戻らない」問題
レシピファイルに書き出していた、ディレクショナルライトのRotationの数
字が元に戻せない事が分かった。
例えば、ディレクショナルライトのGetActorRotationでRotetarを取得し、
別のディレクショナルライトにSetActorRotationで設定しても、同じ数値に
ならない角度が出てきた。
同じにならない?
GetActorRotationするトランスフォーム SetActorRotationしたトランスフォーム
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 レシピファイル
原因として、エディタで回転に入力される角度は、Get/SetActorRotation
した際に「クォータニオンに変換される」または、「クォータニオンに変換
している」為、
同じ角度を再現するが、変換された値(別の数値)が返ってきてしまう。
先にも説明した通り、ディレクショナルライトのルック作成時の影響は大き
い為、その数字が一致しない事で、アニメーターを混乱させてしまった。
#ue4fest   #garupan
作画貼り込み
#ue4fest   #garupan
 作画貼り込み
貼り込み素材とは、2Dワークスとも呼ばれる作業の事で、作画で作成
された素材を指す。
この素材を貼り合わせる事を、「作画を貼り込む」と言う。
CGと作画を組み合わせたハイブリットアニメには、3Dでレンダリン
グされたCGの素材に、貼り込み素材を入れて絵を作るという工程が発
生し、この作業はコンポジット作業で行われる。
#ue4fest   #garupan
 作画貼り込み
♦ 素材の並べ方
素材の使用の仕方としては、例として
コンポジットの際に右図の用に並べて
いる。
貼り込みマスクは、作画素材を切り抜
くのに使用している素材となる。
霧が必要なカットでは、その上に霧素
材や霧マスク素材を上から被せて、素
材を馴染ませる。
※ 素材として、霧マスクの説明を行いましたが、今回は、
霧については説明しません © GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 作画貼り込み
♦ 貼り込みを行いたいカット
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 作画貼り込み
♦ 貼り込み素材の作成
貼り込み素材用のマスク
を、Maxで作成する。
右上のカメラは作画ガイ
ドであり、作画ガイドを
貼り込み素材用のマスク
と流用している。
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 作画貼り込み
♦ 貼り込み素材用の
マスク(二両目)
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 作画貼り込み
♦ 作画素材
資料用にグリーンバック
にしているが、実際の素
材は、背景に色が入って
いない。
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 作画貼り込み
♦ 戦車素材
戦車はMaxでレンダリ
ングしている。こちら
もグリーンバックにし
ているが、実際の素材
は、背景に色が入って
いない。
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 作画貼り込み
♦ UEの背景素材
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 作画貼り込み
♦ 貼り込みマスク
この貼り込みマスクのア
ニメーションは、作画ガ
イドを流用したもの。
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 作画貼り込み
♦ 霧マスク
霧が必要なカットのみ
使用する。
作画素材に霧を載せる
為の素材。霧マスク
は、貼り込みマスク素
材がある際に霧素材の
代わりに使用する。
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 作画貼り込み
♦ UEにマスクを配置した状態。
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
運用・サポート
#ue4fest   #garupan
 運用・サポート
『最終章』第2話から第3話において、UEを使用したカットの数が
約8倍に膨れ上がった為、大規模な運用が必要であり、運用を支え
る為のサポートも必要となった。
第2話 第3話
UEを使ったカット(新規) 29カット 231カット
UEを使ったカット(バンク) 23カット 26カット
作業を行った会社の数 1社 9社
#ue4fest   #garupan
 運用・サポート
運用するに当たり、ワークフローの以下のポイントを変更した
※ 次のページより詳細を説明
• ディレクトリ構造の変更
• ロジックを親クラスに集約
• 設定パラメータをブループリントのプロパティに集約
• ファイルサーバーの同期
#ue4fest   #garupan
 運用・サポート
♦ ディレクトリ構造の変更
運用へ向け、ディレクトリ構造を大きく変更した。また、アセットの整理を
行ったり、アニメーター向けのルールを
作成した(下に詳細)
● 色分け(青は編集可、黄色は配置アセット、赤は編集不
可、紫は引き継ぎカットの共有フォルダ)
● アニメーターの作業フォルダ(UA001_Cut)をルートの
直下に移動
● StarterContentを含め、未使用アセットを除外
● スプラッシュ画面の変更
● ツールや背景アセットなど、各フォルダに分別
● SequencerやLevelに直置きしていたブループリント
は、親クラスを作成し、ロジックを親クラスに移動(※
詳細は次のページ)
ディレクトリ
を変更
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 運用・サポート
♦ ロジックを親クラスに集約
親クラスにロジックを集約し、レベルやシーケンスに配置するアセットは、
サブクラスとした。そうする事で、ロジックの修正に柔軟に対応できるよう
にし、プロジェクトの保守性を高めた。
※下図では、「4H_TankBP_Root」を直接、複製し別の戦車のブループリントを作成していたが、「Base_TankBP_Root」を作成し、
4H_TankBP_Rootが行っていた実行時の処理を移行して、4H_TankBP_Rootには、各戦車のパラメータを変えただけのブループリントとした。
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 運用・サポート
♦設定パラメータをブループリントのプロパ
ティに集約
アニメーターの作業で使用するプロパティは、ブ
ループリントで公開されているプロパティのみと
し、ブループリントが持っているコンポーネントを
操作しなくてもいいようにしている。
右図の場合で言うと、
Mud_BP_DynamicDeformation_Multi_Mat_Lの
「トランスフォーム」と「設定可能なパラメータ」
のみ変更し、「DefaultSceneRoot」等のコンポーネ
ントの詳細を見なくても作業ができるようにしてい
る。 © GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 運用・サポート
♦ファイルサーバーの同期
プロジェクトの配布は、社内と社
外のサーバーを同期させ、社内
サーバーに最新のプロジェクトを
アップすることで各社に配布して
いる。
協力会社には、同期された自社の
サーバーからプロジェクトをロー
カルPCにダウンロードして作業を
進めてもらった。
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
 運用・サポート
♦各社からのフィードバック
T撮作業終了後に各社に作業のフィー
ドバックを行った。
プラス意見が多かったが、UEの操作
の難しかった事という意見も目立ち、
アニメーターにとってまだまだ敷居が
高い事が分かった。
また、アンケート結果から、今後の課
題も見えてきた。
良い/悪い 意見
◎ UEでのルック作成の調整が結果のレスポンスが早かっ
た
◎ レンダリングが早かった
◎ マニュアルがあって助かった
◎ 第2話よりも効率がよかった
✖ UEでのルック作成の色味調整が難しかった
✖ パラメータが多すぎて、分かり難かった
✖ プロジェクト内から必要なアセットを見つけるのが大変
だった
✖ 各アセットのインポート作業が大変だった
#ue4fest   #garupan
まとめと課題
#ue4fest   #garupan
まとめ
今後の礎となるワークフロー 構築完了 
• ディレクトリ構造、ロジック、BPの再構築
• 2話でのくり抜き工法を改修し、システム化
• マニュアルによる新規人材教育
• UEルック作成システムと1からの美術作成 
• 外部ソフト無しで、UEでルックを作成成功
• 今後、美術をUEベースで作れるように
• UEエフェクト複数実装 
• GPUパワーでよりリッチに、効率的に
• 作画やMAXとのより深い融合 
• レイアウト合わせ、作画合成がより高速化 © GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
課題
• システムのさらなる自動化
連番出力、マスクなど、ルーチンワークを改善したい
• 他のロケーションへの対応
4話ロケーションでカット作業を楽に、映像をよりよく
明るい場所、人工物などにも応用してみたい
• エフェクト、アセットの取り込み
UEのメリットをフル活用していきたい
DCCで重いエフェクト作業を改善したい
• 色問題が未解決
レシピシステムでも、各担当者・会社でばらつきは出た
© GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
© GIRLS und PANZER Finale Projekt
限界を、撃破する
#ue4fest   #garupan
告
知
#ue4fest   #garupan
おしらせ
『ガールズ&パンツァー 最終章』
第3話
DOLBY ATMOS版・DTS:X版
2021年 5月28日 (金)
劇場上映! © GIRLS und PANZER Finale Projekt
#ue4fest   #garupan
『CGWORLD』274号 (6月号)
「アニメCGの現場」Vol.91
『最終章』第3話での
3Dの進化とUE4の活用について
特集ページ掲載
5月9日 より発売中!
おしらせ (2回目)
(発行:株式会社ボーンデジタル)
#ue4fest   #garupan
人材募集
#ue4fest   #garupan
人材募集
• カット制作スタッフ(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
人材募集
このような方におすすめ(2つ以上)
• アセットを開発して、新しいアニメのワークフローを作ってみたい
• アセットを活用して、レイアウト・アニメーションの腕を振るいたい
• ゲームエンジンで、 エフェクトアセットを開発したい
• ゲームエンジンで、 アニメとゲームの融合をしてみたい
• 中小規模のチームで、フットワーク良く提案型の仕事をしてみたい
• デジタルを駆使して、アニメの制作工程を管理してみたい
• ガルパン全話見た
#ue4fest   #garupan
人材募集
・ 履歴書 (顔写真貼付)
 ※希望職種名 及び メールアドレスの明記必須
・ 職務履歴書
・ ポートフォリオ
 ※過去に制作された作品資料
 ※応募書類は返却いたしませんので、マスターの送付
はご遠慮ください。
・ メールの場合
  job@actas-inc.co.jp
・ 郵送の場合
STUDIO カチューシャ
<株式会社アクタス 3D事業部 >
〒181-0013
東京都三鷹市下連雀3-36-1 トリコナ4F
ともに 採用担当:羽田 までお送りください
メールもしくは郵送で以下の書類をお送りください
#ue4fest   #garupan
告
知
2
#ue4fest   #garupan
オンラインセミナーの予告
こういう御時世なので…😷
Youtubeにて、ショートセミナー(1-3分程度)
を不定期で行う予定です。
スタジオ カチューシャでは、「3DCGIをこうやって作っている」というのが分かる内容になります。
ガルパンファン 及び これから一緒にお仕事をしていただける方へ向けて、ささやかに発信したいと思います。
準備ができ次第、以下でお知らせ致します。
柳野啓一郎
🐤Twitter
#ue4fest   #garupan
以上。
#ue4fest   #garupan
ご視聴
ありがとうございます

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