Skip to main content
#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