Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
#ue4fest
1/110
© SEGA
WCCF最新作、アーケードゲーム
WCCF FOOTISTA 2019はこうやって進化した
株式会社セガ・インタラクティブ
コンテンツ研究開発本部 第三研究開発部
若井英之
#ue4fest
2/110
© SEGA
実名サッカー選手のトレーディングカードを集め、
ゲームセンターでプレイするサッカーカードゲームです
WORLD CLUB Champion Football
#ue4fest
3/110
© SEGA
WCCFをUnreal Engine 4と共にWCCF FOOTISTAに刷新
• 移行時、移行後の開発についてお話
• スライドがたくさんあります!ペースがはやいです!
お話すること
16年の歴史 ...
#ue4fest
4/110
© SEGA
省略した記述や呼び方を使用します
• UE4:Unreal Engine 4
• WCCF:移行前のWORLD CLUB Champion Footballシリーズ
• FOOTISTA:WCCF F...
#ue4fest
5/110
© SEGA
携わったタイトル
• 「え~でる すなば」など
FOOTISTAでの担当
• UE4検証とアップデート、ツール連携やパイプライン自動化、
データ設計、UI制御、筐体システム制御、ハードウェア制御
担当...
#ue4fest
6/110
© SEGA
目次
UE4へ移行
• こうやってUE4が選ばれた
• 初期検証
• 試合画面だけ移行
• 本移行
• 苦労したところを2つ
UE4の活用
• 各種ビューア
• UI作成
• シーケンサ
• 観客
U...
#ue4fest
7/110
© SEGA
目次
UE4へ移行
• こうやってUE4が選ばれた
• 初期検証
• 試合画面だけ移行
• 本移行
• 苦労したところを2つ
UE4の活用
• 各種ビューア
• UI作成
• シーケンサ
• 観客
U...
#ue4fest
8/110
© SEGA
WCCF 2001-2002:NAOMI 2基板
• RAM 32MB
WCCF 2006-2007:LINDBERGH BLUE基板
• 筐体も刷新
• RAM 256MB
• 2019年までこの筐...
#ue4fest
9/110
© SEGA
システム基盤 + 筐体もプリンタ内蔵などアップデート
• ALLS UX基盤:RAM 16GB、GeForce GTX 1070
ゲーム内容も大幅なアップデートが期待される
新作における筐体アップデート
#ue4fest
10/110
© SEGA
1. 現行世代のハイエンド3Dグラフィックを描ける
2. モデルなどの物量に対応できるワークフローを構築できる
3. 既存の資産を流用できる
• 特に、Morpheme(高品質のモーションエンジン)...
#ue4fest
11/110
© SEGA
4つ検討しました
1. 今までと同じライブラリ
2. 別の社内ライブラリ
3. Unity
4. UE4
ゲームエンジンの選定
#ue4fest
12/110
© SEGA
メリット
• ベタ移植しやすい
• ライセンス費用かからない
デメリット
• 現行世代の絵にできない
• ワークフローを効率化できない
(いままで通り)
大きなアップデートはできない
今までと同じラ...
#ue4fest
13/110
© SEGA
別の社内ライブラリ
メリット
• 質問/要望に対応してもらえる
• 社内UIツールと連携できる
• アーティスト学習コスト0
• ライセンス費が安い
デメリット
• PJに応じてカスタムが必要
• ...
#ue4fest
14/110
© SEGA
Unity
メリット
• 事例やドキュメントが豊富
• UE4より2Dが扱いやすい
• 拡張性はある
(プラグイン、アセットストア)
デメリット
• C#の学習コスト
• 既存のプログラムが使えない...
#ue4fest
15/110
© SEGA
UE4
メリット
• 現行世代の画を出しやすい
• モーション資産やノウハウを
活かせる(Morphemeの対応)
• 同じエディタ上の作業ができ
るので作業の並列化ができる
デメリット
• ワーク...
#ue4fest
16/110
© SEGA
エンジン選定のまとめ
そのまま
別の社内
ライブラリ
Unity UE4
ワークフロー改善 × × △ ○
3D制作 × △ △ ○
2D制作 ○ ○ ○ △
Morpheme
(モーションエンジン...
#ue4fest
17/110
© SEGA
目次
UE4への移行
• こうやってUE4が選ばれた
• 初期検証
• 試合画面だけ移行
• 本移行
• 苦労したところを2つ
UE4の活用
• 各種ビューア
• UI作成
• シーケンサ
• 観客...
#ue4fest
18/110
© SEGA
WCCF、FOOOTISTAのスケジュール
WCCF 2017-2018
開発
FOOTISTA 開発
運営
2017/2 2018/2 2019/3
WCCF 2016-2017
運営
運営UE4...
#ue4fest
19/110
© SEGA
2016/09~:UE4の検証を開始
• UE4そのものの使い方
• 2D, 3D開発パイプライン、ワークフローがどう変わるか の調査
2016/11~:試合部分の移行実験開始
• 試合部分だけ見た...
#ue4fest
20/110
© SEGA
2016/09~:UE4の検証を開始:プログラマ2人、UE4.12
• UE4そのものの使い方
• 2D, 3D開発パイプライン、ワークフローがどう変わるか の調査
2016/11~:試合部分の移行...
#ue4fest
21/110
© SEGA
「Unreal Engine 4 で極めるゲーム開発」を軸にした
• 各職種向けにコースを作成、2~4週間程度で学習
• 極め本(UE4.7)はUEバージョンや本の版によって動かない
→ 社内wik...
#ue4fest
22/110
© SEGA
プログラマ:Blueprintに慣れる
• 1~2週間で極め本 全部(Appendixも含)
• 1週間でBlueprintミニゲーム作成(テトリス、バーチャロン)しレビュー
アーティスト:エディタ...
#ue4fest
23/110
© SEGA
• UE4のUMGが、社内の2Dツールの代替となるか?
• 必要な機能を列挙し検証
UE4検証:2D
アーティストの希望(一部) 検証結果
アニメーションにカーブを使いたい カーブ組める(4.8~)...
#ue4fest
24/110
© SEGA
きれいな画、大量の選手モデルに対応するワークフローを調査
UE4検証:3D
アーティストの希望(一部) 検証結果
既存モデルの軸・スケールを合わせたい DCCツールのスクリプトを作成
2Dの上に3D...
#ue4fest
25/110
© SEGA
Epic Games Japanさん
• UE4の挙動についての質問や要望
• 機能あるなしや、代替案をいただいた
ヒストリアさん
• 技術領域、アート領域両方でサポートしていただいた
• 100個...
#ue4fest
26/110
© SEGA
2016/09~:UE4の検証を開始:プログラマ2人
• UE4そのものの使い方
• 2D, 3D開発パイプライン、ワークフローがどう変わるか の調査
2016/11~:試合部分の移行実験開始:プロ...
#ue4fest
27/110
© SEGA
説明のため、WCCFのプログラム構成を紹介
• 3つのプロセスがプロセス間通信で動作
試合画面の移行について
コントロール
• サーバとの通信
• マッチング
• 筐体間通信
クライアント
• ゲー...
#ue4fest
28/110
© SEGA
説明のため、WCCFのプログラム構成を紹介
• 3つのプロセスがプロセス間通信で動作
• クライアントをUE4内に入れる
UE4
• レンダリング
試合画面の移行について
コントロール
• サーバと...
#ue4fest
29/110
© SEGA
文字セットUnicodeあわせ (Visual Studio)
WCCFはマルチバイト文字セット環境
• プロセス間通信時、日本語文字列のメモリサイズが異なる
• 動きに関係する数値パラメータだけ通...
#ue4fest
30/110
© SEGA
• Animation Blueprintの
transformノードで解決
ボーン情報の適用
#ue4fest
31/110
© SEGA
2017/01/24:32bitパッケージが動く
#ue4fest
32/110
© SEGA
• 試合以外のシーケンス、UI制御はBlueprint
• 非同期ロードを多用
• 試合中や配列への処理をC++で記述
• 開発後期には、ハード参照問題へのインターフェース的解決を適用
Bluepr...
#ue4fest
33/110
© SEGA
2016/09~:UE4の検証を開始:プログラマ2人
• UE4そのものの使い方
• 2D, 3D開発パイプライン、ワークフローがどう変わるか の調査
2016/11~:試合部分の移行実験開始:プロ...
#ue4fest
34/110
© SEGA
目次
UE4への移行
• こうやってUE4が選ばれた
• 初期検証
• 試合画面だけ移行
• 本移行
• 苦労したところを2つ
UE4の活用
• 各種ビューア
• UI作成
• シーケンサ
• 観客...
#ue4fest
35/110
© SEGA
MorphemeのUE4サポート、終了
2017/7よりMorpheme販売停止
サポートされなくなる
その①
#ue4fest
36/110
© SEGA
運営タイトルなので、アップグレードやサポートは必須
• UE4のモーション機能へ移行することに
• 2017/6より2週間で移行検証
UE4のアニメーション機能へ移行
#ue4fest
37/110
© SEGA
モーションをブレンドする機能
• UE4の機能で足りる
モーションステートを管理する機能
• 特に、割り込みイベント機能
└ 移動→インパクトの間に、よろけのイベントを差し込めるか
• UE4の機能...
#ue4fest
38/110
© SEGA
モーションはUE4機能を改造せずに済んだ
モーションエディタが統合されたので
イテレーションも改善された
#ue4fest
39/110
© SEGA
試合の再現性
その②
#ue4fest
40/110
© SEGA
戦術思考とモーション移動計算で決定される
同じ思考ルーチンから同じモーションが選択される
=同じ試合が再現される
試合の選手の移動計算について
現在地を元に
戦術思考
モーション
移動計算
現在地を...
#ue4fest
41/110
© SEGA
• ルートモーションの計算結果が異なってしまうことがわかった
• 結果位置が変わると思考もが変わるため、試合内容が全く異なる
移動量が一意にならない
現在地を元に
戦術思考
モーション
移動計算
現...
#ue4fest
42/110
© SEGA
• モーションを切って、AI思考だけの棒立ち移動は再現する
• やはり、モーションの計算にばらつきがあるようだ
• モーションありでも何度か再現することがある
モーション移動についての調査
#ue4fest
43/110
© SEGA
• 思考や座標ダンプは大容量になるので、ボール軌跡の表示で比較
右下だけ、1fps違う→
• Maxのフレームレートを
変えると試合内容が
変わることがわかった
同じ試合が再現されるかを調査
対戦時...
#ue4fest
44/110
© SEGA
1フレームで移動する量を一定にする
→ 計算に渡すデルタタイムを一定にしてみる
• USkeletalMeshComponent::TickAnimation
• UCharacterMovemen...
#ue4fest
45/110
© SEGA
1フレームで移動する量を一定にする
→ 計算に渡すデルタタイムを一定にしてみる
• USkeletalMeshComponent::TickAnimation
• UCharacterMovemen...
#ue4fest
46/110
© SEGA
モーションの計算コードにおいて、引数デルタとは別に、
内部計算のデルタを使用している部分があった
各所のデルタタイムが一定になるように手を入れた
デルタタイム全般の固定
void ACharacte...
#ue4fest
47/110
© SEGA
同じ試合が再現するようになった
モーション移動量の計算結果が一意に
#ue4fest
48/110
© SEGA
1GBメモリ内でのチューニング
UE4移行前
#ue4fest
49/110
© SEGA
リアルなグラフィック & 物量
UE4移行後
#ue4fest
50/110
© SEGA
目次
UE4への移行
• こうやってUE4が選ばれた
• 初期検証
• 試合画面だけ移行
• 本移行
• 苦労したところを2つ
UE4の活用
• 各種ビューア
• UI作成
• シーケンサ
• 観客...
#ue4fest
51/110
© SEGA
今まで機能はあったが、
UIは別アプリでプロセス間通信
• 選手モデルの確認用マップ
• DBと連携している
• ユニフォームのオプション
背景の切り替えなど
• テスト用のモーションで
モデルの破...
#ue4fest
52/110
© SEGA
• 顔から自動的に肌色決定した上で、追加色設定
• 体格(ボーン)調整
Model Viewer(DB連携の調整機能)
#ue4fest
53/110
© SEGA
• モーションブレンド確認
• ボール位置と蹴る方向
• ブレンドされたものを再生
• インパクト設定
• 対応できるボール方向
• 蹴れるボールの位置
• 蹴れるボールの方向
別のツールで再生が無...
#ue4fest
54/110
© SEGA
ゲームパッドを使ったモーション確認
黄色い矢印 = 向かいたい場所
足元の水色矢印 = 身体の向き
モーションの優先度確認(転ぶが優先、起き上がってから向かう)
#ue4fest
55/110
© SEGA
目次
UE4への移行
• こうやってUE4が選ばれた
• 初期検証
• 試合画面だけ移行
• 本移行
• 苦労したところを2つ
UE4の活用
• 各種ビューア
• UI作成
• シーケンサ
• 観客...
#ue4fest
56/110
© SEGA
• 質感を除去したフラットなデザイン
テーマ:近代サッカーデザイン
#ue4fest
57/110
© SEGA
状態をわかりやすくする必要がある
• 今自分がフォーカスしている場所はどこ?
どちらを選択している…?
フラットデザインのUI
ねこ いぬ
#ue4fest
58/110
© SEGA
#ue4fest
59/110
© SEGA
• パネルにカラーのマスクを適用
操作可能・不可能な状態パネル
#ue4fest
60/110
© SEGA
• ほのかにアニメーション
選択ボタン
#ue4fest
61/110
© SEGA
選択して進む:「左から右」⇨
#ue4fest
62/110
© SEGA
キャンセルで戻る:「右から左」 ⇦
#ue4fest
63/110
© SEGA
• 変数値をマテリアルのパラメータに渡す
マスク用Widget
#ue4fest
64/110
© SEGA
• パラメータによってマスクエリアを伸縮
マスクアニメーション用マテリアル
#ue4fest
65/110
© SEGA
• マスク用のWidgetをスケールして配置
• アニメーションでマスク用のパラメータを制御
パネル用Widget
#ue4fest
66/110
© SEGA
同様に、汎用の選択パネル
#ue4fest
67/110
© SEGA
• マテリアルパラメータコレクションで色の統一
ゲームの色パレット
#ue4fest
68/110
© SEGA
#ue4fest
69/110
© SEGA
Widget BlueprintのBlueprint
• Delegate:とても基本的なところ
• Blueprint Interface:やや応用なところ
#ue4fest
70/110
© SEGA
UIアニメーション終わりを検知したい
Tickは重いし
ノードが肥大化する
アニメーション開始
#ue4fest
71/110
© SEGA
• 終わったらDelegateに渡したものを呼んでくれる関数がある
UIアニメーションのイベントデリゲート
#ue4fest
72/110
© SEGA
アニメーションイベント駆動のシーケンス
#ue4fest
73/110
© SEGA
引数にデリゲートを設定した関数をよく作っています
#ue4fest
74/110
© SEGA
• 結果表示の発火を共通化したい
Blueprint Interfaceの利用
• Result_1, _2にそれぞれBPIを設定
• StartResultEventを2回呼ぶと
結果1, 結果2...
#ue4fest
75/110
© SEGA
ResultのWidgetをObject型配列に格納する
Object型配列にした実装
Result1, 2が
入った配列
BPIが実装されて
いるかチェック
#ue4fest
76/110
© SEGA
ResultのWidgetをObject型配列に格納する
Object型配列にした実装
BPI_UITest以外も
候補に出るので
間違えやすい
#ue4fest
77/110
© SEGA
Blueprint Interfaceクラス型の変数
#ue4fest
78/110
© SEGA
BPI変数の関数サジェスト
主にBPI_UITest内の関数しか出ない
#ue4fest
79/110
© SEGA
Validはキャストが必要
ValidはObject型にして判定
#ue4fest
80/110
© SEGA
目次
UE4への移行
• こうやってUE4が選ばれた
• 初期検証
• 試合画面だけ移行
• 本移行
• 苦労したところを2つ
UE4の活用
• 各種ビューア
• UI作成
• シーケンサ
• 観客...
#ue4fest
81/110
© SEGA
ストーリーモード (実際は置いたカードの選手が出ます)
#ue4fest
82/110
© SEGA
• マスターシーケンスにカットを並べる
• マスター上のイベントはフェードのみ
ストーリーモードのシーケンサ
#ue4fest
83/110
© SEGA
• Transformはモーキャプし調整したFBXよりインポート
• Transformに選手モデルやカメラをランタイムでアサイン
• カメラの画角、字幕、フェードをUE4エディタ上で設定
ストーリ...
#ue4fest
84/110
© SEGA
• 1つテキストを設定できるイベント
• 2つテキストを設定できるイベント
ストーリーモード用のイベント
字幕機能の有効可 字幕内容の変更
2択文字の変更 2択選択時のSE
SEの再生
#ue4fest
85/110
© SEGA
• ストーリー用は共通
• 人のIDごとに出し分け
• カット、話数IDで出し分け
• フレームアニメのノード
ストーリーモードのAnimation Blueprint
ストーリーシーンの追加編集の...
#ue4fest
86/110
© SEGA
試合中パフォーマンス
ストーリーと同様にシーケンサを再生
#ue4fest
87/110
© SEGA
• ストーリーと兼用
• 再生シーンの選択
• 再生場所のチェック
└ ✕マークの位置から再生
シーンビューア
#ue4fest
88/110
© SEGA
• 再生シーンの選択
• 再生場所のチェック
└ ✕マークの位置から再生
シーンビューア
物にぶつかったりカメラとの間に物が映り込まないかチェック
#ue4fest
89/110
© SEGA
身体が接触するシーン
• 一時的に体格を合わせる
• 足元を映さない
再生体格のチェック 体格そのまま
一時的に体格合わせ
#ue4fest
90/110
© SEGA
目次
UE4への移行
• こうやってUE4が選ばれた
• 初期検証
• 試合画面だけ移行
• 本移行
• 苦労したところを2つ
UE4の活用
• 各種ビューア
• UI作成
• シーケンサ
• 観客...
#ue4fest
91/110
© SEGA
• Skeletal Mesh:選手の更新だけで重いので却下
• Imposter (カキワリ:今までのWCCFと一緒)
• Vertex Animation (Texture)
観客は3つの手法を...
#ue4fest
92/110
© SEGA
リアルタイム更新で工夫したが、
パフォーマンスと見た目のバランスに納得できなかった
↓アニメーションする4体を1枚のテクスチャにベイク(5万体を配置)
Imposter検証
#ue4fest
93/110
© SEGA
頂点の情報が記録されたテクスチャ
Vertex Animation Texture:VAT
頂点Index→
フ
レ
|
ム
↓
R, G, B:座標値 同様に法線情報
マテリアルエディタで再生を実...
#ue4fest
94/110
© SEGA
• 動的ライト環境下でも破綻しない
• LODに対応できている
VATを実装したStaticMesh
#ue4fest
95/110
© SEGA
共通の開始/終了ポーズ(座り、立ち)
VATアニメーション同士の繋ぎ
座り状態のバリエーション 座り⇒立ち 立ちエモ 立ち⇒座り
#ue4fest
96/110
© SEGA
• 座席領域に配置した板ポリの範囲内に
HierarchicalInstancedStaticMeshを使用して生成
配置について
#ue4fest
97/110
© SEGA服、肌色、VATアニメーションのばらつき
└ マテリアルのPerInstanceRandomで実装
#ue4fest
98/110
© SEGA
目次
UE4への移行
• こうやってUE4が選ばれた
• 初期検証
• 試合画面だけ移行
• 本移行
• 苦労したところを2つ
UE4の活用
• 各種ビューア
• UI作成
• シーケンサ
• 観客...
#ue4fest
99/110
© SEGA
エンジンのバージョンアップ
メリット
• 新機能(ミドルウェアも含)
• バグ修正
• パフォーマンス改善
└ ランタイム
└ ビルド時間
└ エディタ挙動
デメリット
• エンジンコードの変更
└...
#ue4fest
100/110
© SEGA
リリースノートを見る(Preview版がおすすめ)
アップデートのメリット探し
#ue4fest
101/110
© SEGA
リリースノートを見る(Preview版がおすすめ)
アップデートのメリット探し
Cookerのパフォーマンス向上で、
開発イテレーションを高速化できそう!
#ue4fest
102/110
© SEGA
同様に4.22 Preview
ビルド時間高速化で、
開発イテレーションを高速化できそう!
#ue4fest
103/110
© SEGA
• 「Done for…」をプロジェクトに利用できるか検討
• 「Future Releases」はリリースタイミングが不透明
さらに先の機能はロードマップ
https://trello.com/...
#ue4fest
104/110
© SEGA
HotFixの.2を待つ
• リリース:Previewよりおよそ1ヶ月後
• HotFix :リリース後よりおよそ1ヶ月に1回
└ 数回アップデートがある。例:UE4.22.3
└ .2くらいまで...
#ue4fest
105/110
© SEGA
既知問題のデータベース
• バージョン指定できる
• 4.23に上げたい場合、
「fix:4.23」かつ、
「Unresolved」があるなら
まだHotFixがありそう
Unreal Engin...
#ue4fest
106/110
© SEGA
未解決Issueの修正予定バージョンを見る
修正予定バージョンの変更で前ページの検索に引っかからなくなる
#ue4fest
107/110
© SEGA
解決Issueは修正ソースへのリンクがある
UE4.22.2をベースに、こちらの修正ソースを利用しています
#ue4fest
108/110
© SEGA
C++ Transition Guide for 4.x を見る
• 1バージョンアップ時、コード側で対応すべき情報が集まってくる
• フォーラムに毎バージョン立てられます
Transition ...
#ue4fest
109/110
© SEGA
Full Rebuild UE 4.20 UE 4.22
パッケージング 8220 3970 (48.3%)
その内のクック 3440 2330 (67.7%)
環境
・CPU : Xeon E5...
#ue4fest
110/110
© SEGA
令和の開発は4.22以降で!
Upcoming SlideShare
Loading in …5
×

of

WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 1 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 2 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 3 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 4 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 5 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 6 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 7 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 8 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 9 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 10 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 11 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 12 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 13 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 14 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 15 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 16 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 17 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 18 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 19 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 20 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 21 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 22 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 23 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 24 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 25 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 26 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 27 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 28 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 29 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 30 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 31 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 32 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 33 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 34 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 35 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 36 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 37 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 38 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 39 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 40 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 41 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 42 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 43 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 44 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 45 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 46 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 47 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 48 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 49 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 50 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 51 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 52 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 53 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 54 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 55 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 56 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 57 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 58 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 59 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 60 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 61 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 62 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 63 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 64 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 65 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 66 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 67 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 68 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 69 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 70 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 71 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 72 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 73 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 74 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 75 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 76 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 77 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 78 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 79 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 80 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 81 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 82 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 83 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 84 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 85 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 86 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 87 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 88 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 89 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 90 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 91 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 92 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 93 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 94 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 95 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 96 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 97 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 98 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 99 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 100 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 101 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 102 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 103 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 104 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 105 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 106 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 107 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 108 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 109 WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した Slide 110
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

3 Likes

Share

Download to read offline

WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した

Download to read offline

本資料に含まれる動画・メモに関しましては、以下のURLからDL可能な資料からご確認ください。
https://epicgames.box.com/s/wc59cuzto8x5qps79gxji1fgzt4kx9ex

2019年10月6日に行われた「UNREAL FEST EAST 2019」における「WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した」の登壇資料です。
●公式サイト
https://unrealengine.jp/unrealfest/
===
16年続くタイトルWORLD CLUB Champion Football(WCCF)をUnreal Engine 4と共に「WCCF FOOTISTA 2019」へとリノベーションし、今年の春にリリースいたしました。エンジン移行でハマったところや、UI・カットシーンその他におけるUE4活用方法やTipsをご紹介いたします。UE4のバージョンアップ話もいたします。

Related Books

Free with a 30 day trial from Scribd

See all

WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した

  1. 1. #ue4fest 1/110 © SEGA WCCF最新作、アーケードゲーム WCCF FOOTISTA 2019はこうやって進化した 株式会社セガ・インタラクティブ コンテンツ研究開発本部 第三研究開発部 若井英之
  2. 2. #ue4fest 2/110 © SEGA 実名サッカー選手のトレーディングカードを集め、 ゲームセンターでプレイするサッカーカードゲームです WORLD CLUB Champion Football
  3. 3. #ue4fest 3/110 © SEGA WCCFをUnreal Engine 4と共にWCCF FOOTISTAに刷新 • 移行時、移行後の開発についてお話 • スライドがたくさんあります!ペースがはやいです! お話すること 16年の歴史 リノベーション!オンデマンド印刷!
  4. 4. #ue4fest 4/110 © SEGA 省略した記述や呼び方を使用します • UE4:Unreal Engine 4 • WCCF:移行前のWORLD CLUB Champion Footballシリーズ • FOOTISTA:WCCF FOOTISTA 2019 口頭でバージョンの呼び方に省略があります • イチナナ-イチハチ:WCCF 2017-2018
  5. 5. #ue4fest 5/110 © SEGA 携わったタイトル • 「え~でる すなば」など FOOTISTAでの担当 • UE4検証とアップデート、ツール連携やパイプライン自動化、 データ設計、UI制御、筐体システム制御、ハードウェア制御 担当していない:サーバ、3Dの見た目、アニメーション、 AI 課外 • 社内外のゲームジャムでUE4を使用 • ぷちコンや#ue4jamに出しています 自己紹介:若井英之 第11回UE4ぷちコン|株式会社ヒストリア http://historia.co.jp/ue4petitcon11
  6. 6. #ue4fest 6/110 © SEGA 目次 UE4へ移行 • こうやってUE4が選ばれた • 初期検証 • 試合画面だけ移行 • 本移行 • 苦労したところを2つ UE4の活用 • 各種ビューア • UI作成 • シーケンサ • 観客 UE4のアップデート
  7. 7. #ue4fest 7/110 © SEGA 目次 UE4へ移行 • こうやってUE4が選ばれた • 初期検証 • 試合画面だけ移行 • 本移行 • 苦労したところを2つ UE4の活用 • 各種ビューア • UI作成 • シーケンサ • 観客 UE4のアップデート WCCFのアップデート背景からお話
  8. 8. #ue4fest 8/110 © SEGA WCCF 2001-2002:NAOMI 2基板 • RAM 32MB WCCF 2006-2007:LINDBERGH BLUE基板 • 筐体も刷新 • RAM 256MB • 2019年までこの筐体! WCCF 2010-2011:RINGEDGE基板 • RAM 1GB、GeForce 9600GS • 2019年までこの基板! 基板と筐体のアップデート歴史 基板、筐体の寿命が近づいていた
  9. 9. #ue4fest 9/110 © SEGA システム基盤 + 筐体もプリンタ内蔵などアップデート • ALLS UX基盤:RAM 16GB、GeForce GTX 1070 ゲーム内容も大幅なアップデートが期待される 新作における筐体アップデート
  10. 10. #ue4fest 10/110 © SEGA 1. 現行世代のハイエンド3Dグラフィックを描ける 2. モデルなどの物量に対応できるワークフローを構築できる 3. 既存の資産を流用できる • 特に、Morpheme(高品質のモーションエンジン)を組み込める 開発環境の要件 条件を満たす開発環境(ゲームエンジン)の選定が始まる
  11. 11. #ue4fest 11/110 © SEGA 4つ検討しました 1. 今までと同じライブラリ 2. 別の社内ライブラリ 3. Unity 4. UE4 ゲームエンジンの選定
  12. 12. #ue4fest 12/110 © SEGA メリット • ベタ移植しやすい • ライセンス費用かからない デメリット • 現行世代の絵にできない • ワークフローを効率化できない (いままで通り) 大きなアップデートはできない 今までと同じライブラリ
  13. 13. #ue4fest 13/110 © SEGA 別の社内ライブラリ メリット • 質問/要望に対応してもらえる • 社内UIツールと連携できる • アーティスト学習コスト0 • ライセンス費が安い デメリット • PJに応じてカスタムが必要 • 複数PJで使いづらい └ カスタムの対応が分散される • 開発スピードは向上しない スピード不足
  14. 14. #ue4fest 14/110 © SEGA Unity メリット • 事例やドキュメントが豊富 • UE4より2Dが扱いやすい • 拡張性はある (プラグイン、アセットストア) デメリット • C#の学習コスト • 既存のプログラムが使えない • UE4より3Dの表現力が弱い • Morphemeが対応していない └ モーションエンジンが不評 過去の資産を利用しづらい
  15. 15. #ue4fest 15/110 © SEGA UE4 メリット • 現行世代の画を出しやすい • モーション資産やノウハウを 活かせる(Morphemeの対応) • 同じエディタ上の作業ができ るので作業の並列化ができる デメリット • ワークフローの再構築コスト • 初期学習コストがかかる ゲームの面白さ検証に注力する時間が増える
  16. 16. #ue4fest 16/110 © SEGA エンジン選定のまとめ そのまま 別の社内 ライブラリ Unity UE4 ワークフロー改善 × × △ ○ 3D制作 × △ △ ○ 2D制作 ○ ○ ○ △ Morpheme (モーションエンジン) ○ ○ × ○ 開発言語 ○(C++) ○(C++) ×(C#) ○(C++) 様々な要素を比較して 選ばれたのは、UE4でした。
  17. 17. #ue4fest 17/110 © SEGA 目次 UE4への移行 • こうやってUE4が選ばれた • 初期検証 • 試合画面だけ移行 • 本移行 • 苦労したところを2つ UE4の活用 • 各種ビューア • UI作成 • シーケンサ • 観客 UE4のアップデート UE4の触りはじめと、 WCCFの部分移植について
  18. 18. #ue4fest 18/110 © SEGA WCCF、FOOOTISTAのスケジュール WCCF 2017-2018 開発 FOOTISTA 開発 運営 2017/2 2018/2 2019/3 WCCF 2016-2017 運営 運営UE4検証 開発 2016/9
  19. 19. #ue4fest 19/110 © SEGA 2016/09~:UE4の検証を開始 • UE4そのものの使い方 • 2D, 3D開発パイプライン、ワークフローがどう変わるか の調査 2016/11~:試合部分の移行実験開始 • 試合部分だけ見たい • 描画だけUE4にしてみる 2017/02~:本格的に移行開始 • どんどんUE4の機能に移行 • 仲間増 2018/08:ほぼフル機能のロケテスト 検証~初出しまでのスケジュール
  20. 20. #ue4fest 20/110 © SEGA 2016/09~:UE4の検証を開始:プログラマ2人、UE4.12 • UE4そのものの使い方 • 2D, 3D開発パイプライン、ワークフローがどう変わるか の調査 2016/11~:試合部分の移行実験開始 • 試合部分だけ見たい • 描画だけUE4にしてみる 2017/02~:本格的に移行開始 • どんどんUE4の機能に移行 • 仲間増 2018/08:ほぼフル機能のロケテスト 検証~初出しまでのスケジュール
  21. 21. #ue4fest 21/110 © SEGA 「Unreal Engine 4 で極めるゲーム開発」を軸にした • 各職種向けにコースを作成、2~4週間程度で学習 • 極め本(UE4.7)はUEバージョンや本の版によって動かない → 社内wikiに差異の共有場所を用意 質問対応がコンパイル忘れくらいに UE4の学習
  22. 22. #ue4fest 22/110 © SEGA プログラマ:Blueprintに慣れる • 1~2週間で極め本 全部(Appendixも含) • 1週間でBlueprintミニゲーム作成(テトリス、バーチャロン)しレビュー アーティスト:エディタ操作とマテリアル作成 / UI作成に慣れる • 1週間で極め本 基本部分+アーティスト部分 • 1週間でマテリアルデザイン入門 or UIチュートリアル(公式ドキュメント) プランナ:エディタ操作に慣れる • 1週間で極め本 基本部分 • ミニゲームまで作る人もいました コース例
  23. 23. #ue4fest 23/110 © SEGA • UE4のUMGが、社内の2Dツールの代替となるか? • 必要な機能を列挙し検証 UE4検証:2D アーティストの希望(一部) 検証結果 アニメーションにカーブを使いたい カーブ組める(4.8~) パーツを他の画面に流用したい パーツ単位でBlueprint化 デザインだけでプレビューしたい アニメーション再生できる 実物のようなカードのホログラムエフェクト マテリアルを組む 大体のことはできる
  24. 24. #ue4fest 24/110 © SEGA きれいな画、大量の選手モデルに対応するワークフローを調査 UE4検証:3D アーティストの希望(一部) 検証結果 既存モデルの軸・スケールを合わせたい DCCツールのスクリプトを作成 2Dの上に3Dモデルを表示したい 3D空間にUIを配置 or RenderTarget 身体モデルの肌色を顔色と合わせたい 身体マテリアルに顔の色を流す 負荷を見たい Epicさんの講演を目コピ、説明会開く モデル確認用のビューアがほしい DB連携のマップを作成 量を扱うための前処理やワークフロー設計が必要
  25. 25. #ue4fest 25/110 © SEGA Epic Games Japanさん • UE4の挙動についての質問や要望 • 機能あるなしや、代替案をいただいた ヒストリアさん • 技術領域、アート領域両方でサポートしていただいた • 100個以上相談した項目がありました サポートしていただきました(有償)
  26. 26. #ue4fest 26/110 © SEGA 2016/09~:UE4の検証を開始:プログラマ2人 • UE4そのものの使い方 • 2D, 3D開発パイプライン、ワークフローがどう変わるか の調査 2016/11~:試合部分の移行実験開始:プログラマ1人、UE4.13 • 試合部分だけ見たい • 描画だけUE4にしてみる 2017/02~:本格的に移行開始 • どんどんUE4の機能に移行 • 仲間増 2018/08:ほぼフル機能のロケテスト 検証~初出しまでのスケジュール 検証 / スタディ: プログラマ 5人 アーティスト3人 プランナ 2人
  27. 27. #ue4fest 27/110 © SEGA 説明のため、WCCFのプログラム構成を紹介 • 3つのプロセスがプロセス間通信で動作 試合画面の移行について コントロール • サーバとの通信 • マッチング • 筐体間通信 クライアント • ゲームシーケンス • レンダリング AI • 選手戦術思考 • ボーンの計算
  28. 28. #ue4fest 28/110 © SEGA 説明のため、WCCFのプログラム構成を紹介 • 3つのプロセスがプロセス間通信で動作 • クライアントをUE4内に入れる UE4 • レンダリング 試合画面の移行について コントロール • サーバとの通信 • マッチング • 筐体間通信 クライアント.dll 試合だけの シーケンス AI • 選手戦術思考 • ボーンの計算
  29. 29. #ue4fest 29/110 © SEGA 文字セットUnicodeあわせ (Visual Studio) WCCFはマルチバイト文字セット環境 • プロセス間通信時、日本語文字列のメモリサイズが異なる • 動きに関係する数値パラメータだけ通信 64bit環境移行 • WCCFは32bit環境で製作されていた • 社内ライブラリごと64bit対応…時間がかかる • まずUE4の32bitパッケージで動かしてみる └ UE4向けMorpheme内の物理を32bit対応 シーケンス以外に必要だった対応 主にちからわざです
  30. 30. #ue4fest 30/110 © SEGA • Animation Blueprintの transformノードで解決 ボーン情報の適用
  31. 31. #ue4fest 31/110 © SEGA 2017/01/24:32bitパッケージが動く
  32. 32. #ue4fest 32/110 © SEGA • 試合以外のシーケンス、UI制御はBlueprint • 非同期ロードを多用 • 試合中や配列への処理をC++で記述 • 開発後期には、ハード参照問題へのインターフェース的解決を適用 BlueprintとC++
  33. 33. #ue4fest 33/110 © SEGA 2016/09~:UE4の検証を開始:プログラマ2人 • UE4そのものの使い方 • 2D, 3D開発パイプライン、ワークフローがどう変わるか の調査 2016/11~:試合部分の移行実験開始:プログラマ1人 • 試合部分だけ見たい • 描画だけUE4にしてみる 2017/02~:本格的に移行開始:UE4.15~4.20 • どんどんUE4の機能に移行 • 仲間増 2018/08:ほぼフル機能のロケテスト 検証~初出しまでのスケジュール 最大時: プログラマ 17人 アーティスト 15人 プランナ 8人
  34. 34. #ue4fest 34/110 © SEGA 目次 UE4への移行 • こうやってUE4が選ばれた • 初期検証 • 試合画面だけ移行 • 本移行 • 苦労したところを2つ UE4の活用 • 各種ビューア • UI作成 • シーケンサ • 観客 UE4のアップデート ① モーションエンジン ② 試合の再現性
  35. 35. #ue4fest 35/110 © SEGA MorphemeのUE4サポート、終了 2017/7よりMorpheme販売停止 サポートされなくなる その①
  36. 36. #ue4fest 36/110 © SEGA 運営タイトルなので、アップグレードやサポートは必須 • UE4のモーション機能へ移行することに • 2017/6より2週間で移行検証 UE4のアニメーション機能へ移行
  37. 37. #ue4fest 37/110 © SEGA モーションをブレンドする機能 • UE4の機能で足りる モーションステートを管理する機能 • 特に、割り込みイベント機能 └ 移動→インパクトの間に、よろけのイベントを差し込めるか • UE4の機能で足りる Morphemeにしか無い機能への対応 • イベントのブレンド等:モーション素材の作り方を厳密化することで対応 「これがあれば作れる」を列挙して検証 素材作成のパイプラインが見直され、整理された
  38. 38. #ue4fest 38/110 © SEGA モーションはUE4機能を改造せずに済んだ モーションエディタが統合されたので イテレーションも改善された
  39. 39. #ue4fest 39/110 © SEGA 試合の再現性 その②
  40. 40. #ue4fest 40/110 © SEGA 戦術思考とモーション移動計算で決定される 同じ思考ルーチンから同じモーションが選択される =同じ試合が再現される 試合の選手の移動計算について 現在地を元に 戦術思考 モーション 移動計算 現在地を元に 戦術思考 モーション 移動計算 はず 1フレーム
  41. 41. #ue4fest 41/110 © SEGA • ルートモーションの計算結果が異なってしまうことがわかった • 結果位置が変わると思考もが変わるため、試合内容が全く異なる 移動量が一意にならない 現在地を元に 戦術思考 モーション 移動計算 現在地Aを元に 戦術思考 現在地Bを元に 戦術思考 パス ドリブル 一意に ならない 対戦しても同じ結果にならなくなる
  42. 42. #ue4fest 42/110 © SEGA • モーションを切って、AI思考だけの棒立ち移動は再現する • やはり、モーションの計算にばらつきがあるようだ • モーションありでも何度か再現することがある モーション移動についての調査
  43. 43. #ue4fest 43/110 © SEGA • 思考や座標ダンプは大容量になるので、ボール軌跡の表示で比較 右下だけ、1fps違う→ • Maxのフレームレートを 変えると試合内容が 変わることがわかった 同じ試合が再現されるかを調査 対戦時は僅かな処理落ちで 再現されてしまう
  44. 44. #ue4fest 44/110 © SEGA 1フレームで移動する量を一定にする → 計算に渡すデルタタイムを一定にしてみる • USkeletalMeshComponent::TickAnimation • UCharacterMovementComponent::TickComponent フレームレートに依存しないようにする
  45. 45. #ue4fest 45/110 © SEGA 1フレームで移動する量を一定にする → 計算に渡すデルタタイムを一定にしてみる • USkeletalMeshComponent::TickAnimation • UCharacterMovementComponent::TickComponent まだ結果が異なっていた • 別スレッド動作、独自のデルタ計算、計算誤差 あたりを予想 • ソースをさらに追った フレームレートに依存しないようにする
  46. 46. #ue4fest 46/110 © SEGA モーションの計算コードにおいて、引数デルタとは別に、 内部計算のデルタを使用している部分があった 各所のデルタタイムが一定になるように手を入れた デルタタイム全般の固定 void ACharacter::SimulatedRootMotionPositionFixup(float DeltaSeconds) { (中略) const float DeltaTime = DeltaPosition / MontagePlayRate; CharacterMovement->SimulateRootMotion(DeltaTime, LocalRootMotionTransform); }
  47. 47. #ue4fest 47/110 © SEGA 同じ試合が再現するようになった モーション移動量の計算結果が一意に
  48. 48. #ue4fest 48/110 © SEGA 1GBメモリ内でのチューニング UE4移行前
  49. 49. #ue4fest 49/110 © SEGA リアルなグラフィック & 物量 UE4移行後
  50. 50. #ue4fest 50/110 © SEGA 目次 UE4への移行 • こうやってUE4が選ばれた • 初期検証 • 試合画面だけ移行 • 本移行 • 苦労したところを2つ UE4の活用 • 各種ビューア • UI作成 • シーケンサ • 観客 UE4のアップデート ツールをUE4内に統合
  51. 51. #ue4fest 51/110 © SEGA 今まで機能はあったが、 UIは別アプリでプロセス間通信 • 選手モデルの確認用マップ • DBと連携している • ユニフォームのオプション 背景の切り替えなど • テスト用のモーションで モデルの破綻をチェック • UIはUMG Model Viewer
  52. 52. #ue4fest 52/110 © SEGA • 顔から自動的に肌色決定した上で、追加色設定 • 体格(ボーン)調整 Model Viewer(DB連携の調整機能)
  53. 53. #ue4fest 53/110 © SEGA • モーションブレンド確認 • ボール位置と蹴る方向 • ブレンドされたものを再生 • インパクト設定 • 対応できるボール方向 • 蹴れるボールの位置 • 蹴れるボールの方向 別のツールで再生が無かった 今まで無かった Impact Viewer
  54. 54. #ue4fest 54/110 © SEGA ゲームパッドを使ったモーション確認 黄色い矢印 = 向かいたい場所 足元の水色矢印 = 身体の向き モーションの優先度確認(転ぶが優先、起き上がってから向かう)
  55. 55. #ue4fest 55/110 © SEGA 目次 UE4への移行 • こうやってUE4が選ばれた • 初期検証 • 試合画面だけ移行 • 本移行 • 苦労したところを2つ UE4の活用 • 各種ビューア • UI作成 • シーケンサ • 観客 UE4のアップデート • デザインについて • WidgetBlueprint
  56. 56. #ue4fest 56/110 © SEGA • 質感を除去したフラットなデザイン テーマ:近代サッカーデザイン
  57. 57. #ue4fest 57/110 © SEGA 状態をわかりやすくする必要がある • 今自分がフォーカスしている場所はどこ? どちらを選択している…? フラットデザインのUI ねこ いぬ
  58. 58. #ue4fest 58/110 © SEGA
  59. 59. #ue4fest 59/110 © SEGA • パネルにカラーのマスクを適用 操作可能・不可能な状態パネル
  60. 60. #ue4fest 60/110 © SEGA • ほのかにアニメーション 選択ボタン
  61. 61. #ue4fest 61/110 © SEGA 選択して進む:「左から右」⇨
  62. 62. #ue4fest 62/110 © SEGA キャンセルで戻る:「右から左」 ⇦
  63. 63. #ue4fest 63/110 © SEGA • 変数値をマテリアルのパラメータに渡す マスク用Widget
  64. 64. #ue4fest 64/110 © SEGA • パラメータによってマスクエリアを伸縮 マスクアニメーション用マテリアル
  65. 65. #ue4fest 65/110 © SEGA • マスク用のWidgetをスケールして配置 • アニメーションでマスク用のパラメータを制御 パネル用Widget
  66. 66. #ue4fest 66/110 © SEGA 同様に、汎用の選択パネル
  67. 67. #ue4fest 67/110 © SEGA • マテリアルパラメータコレクションで色の統一 ゲームの色パレット
  68. 68. #ue4fest 68/110 © SEGA
  69. 69. #ue4fest 69/110 © SEGA Widget BlueprintのBlueprint • Delegate:とても基本的なところ • Blueprint Interface:やや応用なところ
  70. 70. #ue4fest 70/110 © SEGA UIアニメーション終わりを検知したい Tickは重いし ノードが肥大化する アニメーション開始
  71. 71. #ue4fest 71/110 © SEGA • 終わったらDelegateに渡したものを呼んでくれる関数がある UIアニメーションのイベントデリゲート
  72. 72. #ue4fest 72/110 © SEGA アニメーションイベント駆動のシーケンス
  73. 73. #ue4fest 73/110 © SEGA 引数にデリゲートを設定した関数をよく作っています
  74. 74. #ue4fest 74/110 © SEGA • 結果表示の発火を共通化したい Blueprint Interfaceの利用 • Result_1, _2にそれぞれBPIを設定 • StartResultEventを2回呼ぶと 結果1, 結果2が順番に再生される (BPI : Blueprint Interface) 結果1 結果2 結果まとめ
  75. 75. #ue4fest 75/110 © SEGA ResultのWidgetをObject型配列に格納する Object型配列にした実装 Result1, 2が 入った配列 BPIが実装されて いるかチェック
  76. 76. #ue4fest 76/110 © SEGA ResultのWidgetをObject型配列に格納する Object型配列にした実装 BPI_UITest以外も 候補に出るので 間違えやすい
  77. 77. #ue4fest 77/110 © SEGA Blueprint Interfaceクラス型の変数
  78. 78. #ue4fest 78/110 © SEGA BPI変数の関数サジェスト 主にBPI_UITest内の関数しか出ない
  79. 79. #ue4fest 79/110 © SEGA Validはキャストが必要 ValidはObject型にして判定
  80. 80. #ue4fest 80/110 © SEGA 目次 UE4への移行 • こうやってUE4が選ばれた • 初期検証 • 試合画面だけ移行 • 本移行 • 苦労したところを2つ UE4の活用 • 各種ビューア • UI作成 • シーケンサ • 観客 UE4のアップデート • ストーリーモード • 試合中パフォーマンス
  81. 81. #ue4fest 81/110 © SEGA ストーリーモード (実際は置いたカードの選手が出ます)
  82. 82. #ue4fest 82/110 © SEGA • マスターシーケンスにカットを並べる • マスター上のイベントはフェードのみ ストーリーモードのシーケンサ
  83. 83. #ue4fest 83/110 © SEGA • Transformはモーキャプし調整したFBXよりインポート • Transformに選手モデルやカメラをランタイムでアサイン • カメラの画角、字幕、フェードをUE4エディタ上で設定 ストーリーモードのカットシーン
  84. 84. #ue4fest 84/110 © SEGA • 1つテキストを設定できるイベント • 2つテキストを設定できるイベント ストーリーモード用のイベント 字幕機能の有効可 字幕内容の変更 2択文字の変更 2択選択時のSE SEの再生
  85. 85. #ue4fest 85/110 © SEGA • ストーリー用は共通 • 人のIDごとに出し分け • カット、話数IDで出し分け • フレームアニメのノード ストーリーモードのAnimation Blueprint ストーリーシーンの追加編集のワークフローはアーティストで完結
  86. 86. #ue4fest 86/110 © SEGA 試合中パフォーマンス ストーリーと同様にシーケンサを再生
  87. 87. #ue4fest 87/110 © SEGA • ストーリーと兼用 • 再生シーンの選択 • 再生場所のチェック └ ✕マークの位置から再生 シーンビューア
  88. 88. #ue4fest 88/110 © SEGA • 再生シーンの選択 • 再生場所のチェック └ ✕マークの位置から再生 シーンビューア 物にぶつかったりカメラとの間に物が映り込まないかチェック
  89. 89. #ue4fest 89/110 © SEGA 身体が接触するシーン • 一時的に体格を合わせる • 足元を映さない 再生体格のチェック 体格そのまま 一時的に体格合わせ
  90. 90. #ue4fest 90/110 © SEGA 目次 UE4への移行 • こうやってUE4が選ばれた • 初期検証 • 試合画面だけ移行 • 本移行 • 苦労したところを2つ UE4の活用 • 各種ビューア • UI作成 • シーケンサ • 観客 UE4のアップデート 負荷を抑えつつ動かす
  91. 91. #ue4fest 91/110 © SEGA • Skeletal Mesh:選手の更新だけで重いので却下 • Imposter (カキワリ:今までのWCCFと一緒) • Vertex Animation (Texture) 観客は3つの手法を検討
  92. 92. #ue4fest 92/110 © SEGA リアルタイム更新で工夫したが、 パフォーマンスと見た目のバランスに納得できなかった ↓アニメーションする4体を1枚のテクスチャにベイク(5万体を配置) Imposter検証
  93. 93. #ue4fest 93/110 © SEGA 頂点の情報が記録されたテクスチャ Vertex Animation Texture:VAT 頂点Index→ フ レ | ム ↓ R, G, B:座標値 同様に法線情報 マテリアルエディタで再生を実装できる
  94. 94. #ue4fest 94/110 © SEGA • 動的ライト環境下でも破綻しない • LODに対応できている VATを実装したStaticMesh
  95. 95. #ue4fest 95/110 © SEGA 共通の開始/終了ポーズ(座り、立ち) VATアニメーション同士の繋ぎ 座り状態のバリエーション 座り⇒立ち 立ちエモ 立ち⇒座り
  96. 96. #ue4fest 96/110 © SEGA • 座席領域に配置した板ポリの範囲内に HierarchicalInstancedStaticMeshを使用して生成 配置について
  97. 97. #ue4fest 97/110 © SEGA服、肌色、VATアニメーションのばらつき └ マテリアルのPerInstanceRandomで実装
  98. 98. #ue4fest 98/110 © SEGA 目次 UE4への移行 • こうやってUE4が選ばれた • 初期検証 • 試合画面だけ移行 • 本移行 • 苦労したところを2つ UE4の活用 • 各種ビューア • UI作成 • シーケンサ • 観客 UE4のアップデート • プロジェクトは4.12~4.22.2 • 4.20⇒4.22のお話
  99. 99. #ue4fest 99/110 © SEGA エンジンのバージョンアップ メリット • 新機能(ミドルウェアも含) • バグ修正 • パフォーマンス改善 └ ランタイム └ ビルド時間 └ エディタ挙動 デメリット • エンジンコードの変更 └ 新しめの機能は変わりやすい • コンテンツと並行作業しづらい • マケプレアセットさしかえ対応 └ パスを変更していると面倒に コードには大体手を入れる必要があったが、対応できる範囲
  100. 100. #ue4fest 100/110 © SEGA リリースノートを見る(Preview版がおすすめ) アップデートのメリット探し
  101. 101. #ue4fest 101/110 © SEGA リリースノートを見る(Preview版がおすすめ) アップデートのメリット探し Cookerのパフォーマンス向上で、 開発イテレーションを高速化できそう!
  102. 102. #ue4fest 102/110 © SEGA 同様に4.22 Preview ビルド時間高速化で、 開発イテレーションを高速化できそう!
  103. 103. #ue4fest 103/110 © SEGA • 「Done for…」をプロジェクトに利用できるか検討 • 「Future Releases」はリリースタイミングが不透明 さらに先の機能はロードマップ https://trello.com/b/TTAVI7Ny/ue4-roadmap
  104. 104. #ue4fest 104/110 © SEGA HotFixの.2を待つ • リリース:Previewよりおよそ1ヶ月後 • HotFix :リリース後よりおよそ1ヶ月に1回 └ 数回アップデートがある。例:UE4.22.3 └ .2くらいまで待ちたい(2ヶ月) └ IssuesのTarget Fix検索でアップデートがあるかの判断ができる 目安:Previewから3ヶ月後くらいからの作業開始 アップデートの日時計画
  105. 105. #ue4fest 105/110 © SEGA 既知問題のデータベース • バージョン指定できる • 4.23に上げたい場合、 「fix:4.23」かつ、 「Unresolved」があるなら まだHotFixがありそう Unreal Engine Issues
  106. 106. #ue4fest 106/110 © SEGA 未解決Issueの修正予定バージョンを見る 修正予定バージョンの変更で前ページの検索に引っかからなくなる
  107. 107. #ue4fest 107/110 © SEGA 解決Issueは修正ソースへのリンクがある UE4.22.2をベースに、こちらの修正ソースを利用しています
  108. 108. #ue4fest 108/110 © SEGA C++ Transition Guide for 4.x を見る • 1バージョンアップ時、コード側で対応すべき情報が集まってくる • フォーラムに毎バージョン立てられます Transition Guideは含まれるバージョン全てでチェックする • 複数飛ばしの情報は質問しないと得られない • 4.16から4.20といったバージョン飛ばしのアップデートにおいて、 .17 .18 .19のTransition Guideを全てチェック 経験上、結局全てのバージョンのページを見ています アップデート作業
  109. 109. #ue4fest 109/110 © SEGA Full Rebuild UE 4.20 UE 4.22 パッケージング 8220 3970 (48.3%) その内のクック 3440 2330 (67.7%) 環境 ・CPU : Xeon E5 1620v4 ・RAM : 40GB ・分散ビルド : 有り ・ストレージ : SSD ・Content以下ファイル数: ほぼ10万個、70GB パッケージング・クック時間(単位:秒) パッケージ時間半分・・・!
  110. 110. #ue4fest 110/110 © SEGA 令和の開発は4.22以降で!
  • ssuserbb68f9

    Feb. 1, 2021
  • TojamuraMr

    Nov. 1, 2020
  • drapom

    Oct. 9, 2019

本資料に含まれる動画・メモに関しましては、以下のURLからDL可能な資料からご確認ください。 https://epicgames.box.com/s/wc59cuzto8x5qps79gxji1fgzt4kx9ex 2019年10月6日に行われた「UNREAL FEST EAST 2019」における「WCCF最新作、アーケードゲームWCCF FOOTISTA 2019はこうやって進化した」の登壇資料です。 ●公式サイト https://unrealengine.jp/unrealfest/ === 16年続くタイトルWORLD CLUB Champion Football(WCCF)をUnreal Engine 4と共に「WCCF FOOTISTA 2019」へとリノベーションし、今年の春にリリースいたしました。エンジン移行でハマったところや、UI・カットシーンその他におけるUE4活用方法やTipsをご紹介いたします。UE4のバージョンアップ話もいたします。

Views

Total views

12,263

On Slideshare

0

From embeds

0

Number of embeds

7,769

Actions

Downloads

46

Shares

0

Comments

0

Likes

3

×