Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
『GRANBLUE FANTASY: Relink』クオリティと物量の両立に挑戦したフェイシャ...
Search
Cygames
September 09, 2024
Technology
0
180
『GRANBLUE FANTASY: Relink』クオリティと物量の両立に挑戦したフェイシャルアニメーション事例 ~カットシーンからランタイムまで~
Cygames
September 09, 2024
Tweet
Share
More Decks by Cygames
See All by Cygames
『GRANBLUE FANTASY Relink』キャラクターの魅力を支えるリグ・シミュレーション制作事例
cygames
0
280
『GRANBLUE FANTASY: Relink』最高の「没入感」を実現するカットシーン制作手法とそれを支える技術
cygames
1
240
『GRANBLUE FANTASY Relink』ソフトウェアラスタライザによる実践的なオクルージョンカリング
cygames
0
260
高品質なフォトグラメトリデータを取得するためのハードウェア&ソフトウェア開発
cygames
0
630
AIを活用した柔軟かつ効率的な社内リソース検索への取り組み
cygames
0
350
『GRANBLUE FANTASY: Relink』開発からリリースまでを支えたCI/CDの取り組み
cygames
0
160
『GRANBLUE FANTASY: Relink』専任エンジニアチームで回す大規模開発QAサイクル
cygames
0
180
『GRANBLUE FANTASY: Relink』キャラクターの個性にlinkした効果音表現
cygames
0
89
『GRANBLUE FANTASY: Relink』 乱戦を制するミックス ―Ambisonicsと動的音量制御と掛け合いボイス―
cygames
0
110
Other Decks in Technology
See All in Technology
軽いノリで"自動化"に取り組んではいけないという話
tetsuyaooooo
1
460
LINEヤフー新卒採用 コーディングテスト解説 アルゴリズム問題編
lycorp_recruit_jp
0
13k
分析者起点の企画を成功させた連携面の工夫
lycorptech_jp
PRO
1
250
コード✕AIーソフトウェア開発者のための生成AI実践入門~
yuhattor
3
710
XPを始める新人に伝えたい近道の鍵
nakasho
1
300
いまからでも遅くない! コンテナでWebアプリケーションを 動かしてみよう(2-1)WebAPI座学
nomu
0
150
Strict Concurrencyにしたらdeinitでクラッシュする話
0si43
0
120
第45回 MLOps 勉強会 - ML Test Score を用いた機械学習システムの定量的なアセスメント
masatakashiwagi
3
300
Azure Verified Moduleを触って分かった注目ポイント/azure-verified-module-begin
mhrtech
1
350
Perlで始めるeBPF: 自作Loaderの作り方 / Getting started with eBPF in Perl_How to create your own Loader
takehaya
1
810
AWSへのNIST SP800-171管理策 導入に向けての整備/20240930 Mitsutoshi Matsuo
shift_evolve
0
200
Product Utilization of Large Language Models Starting Today
ymatsuwitter
3
1.3k
Featured
See All Featured
Building Your Own Lightsaber
phodgson
102
6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
Thoughts on Productivity
jonyablonski
67
4.2k
The Invisible Side of Design
smashingmag
297
50k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
3
220
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
Into the Great Unknown - MozCon
thekraken
30
1.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
41
9.2k
In The Pink: A Labor of Love
frogandcode
139
22k
Happy Clients
brianwarren
97
6.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
Transcript
『GRANBLUE FANTASY: Relink』 クオリティと物量の両立に挑戦したフェイシャルアニメーション事例 株式会社Cygames コンシューマーデザイナーチーム / 芝 孝次 コンシューマー
/ 花田 萌美 〜カットシーンからランタイムまで〜
2/129 自己紹介 芝 孝次 コンシューマーデザイナーチーム 2018年にCygamesへ合流。 GRANBLUE FANTASY: Relinkにおいてはフェイシャル アニメーションを担当。
花田 萌美 コンシューマー / ゲームエンジニア 2019年にCygamesへ合流。 GRANBLUE FANTASY: Relinkにおいてはフェイシャル をはじめとしたキャラクターのアニメーションシステムなど を担当。
3/129 1. グラブルのフェイシャルについて 2. 事例紹介 3. まとめ アジェンダ フェイシャルリグ
カットシーン制作 ランタイムのフェイシャル処理
4/129 グラブルのフェイシャルについて
5/129 Relinkの場合~大勢のキャラクター~
6/129 Relinkの場合~大量のボイス~
7/129 Relinkの場合~大量のボイス~
8/129 Relinkの場合~大勢のキャラクター~ 主要キャラクターだけで キャラクターの組み合わせ数分 専用の掛け合いボイス 20人以上 ナルメア! お姉さんに 任せて!
9/129 Relinkの場合~大量のイベント~
10/129 Relinkの場合~大量のイベント~ 映画1本分に相当する尺 カットシーン 大量の会話シーン
11/129 どうやって量産する? アセット制作の効率化、 リップシンクなどの自動化は必須 単に量産・自動化するだけでは キャラクターの魅力を十分に表現できない
12/129 量産とクオリティの両立のために 効率的なフェイシャルリグの仕組み カットシーン制作手法 アセット制作の工夫 アセットを最大限に活用するシステムづくり ランタイム処理の工夫
13/129 事例紹介
14/129 事例紹介 アセット制作の工夫 ランタイム処理の工夫 フェイシャルリグ カットシーン制作 ランタイムのフェイシャル処理
15/129 フェイシャルリグ
16/129 フェイシャルリグ 表現力 使いやすさ 軽量性のプライオリティ
17/129 フェイシャルリグの仕組み 表現力 使いやすさ 軽量性のプライオリティ
18/129 表現力 リリンクのフェイシャル表現での目標は 「グラブル」の2Dイラストを3DCGで再現すること
19/129 表現力 カットシーン完成形
20/129 表現力 ◆ ベースはおよそ90本 口元が細かく調整出来るほか、 輪郭に沿う形で配置 Joint数
21/129 パーツ毎の調整機能 表現力 Trans Rotate Scale これらすべてを駆使
22/129 表現力 輪郭線を描くような 調整が可能 パーツ毎の 調整機能
23/129 表現力 リグの移動量制限は無し
24/129 フェイシャルリグ 表現力 使いやすさ 軽量性のプライオリティ
25/129 使いやすさ 表現力のための自由度を保持しつつ、 制作スピードを損なわないためのリグ設計をした
26/129 使いやすさ アニメーション作成の 手順を事前に考え リグの仕組みを決める
27/129 ブレンドシェイプをベースにする 品質のブレの低減 手数の削減 アニメーションのコピーができる
連動部位の制御に工夫を入れる 顎の独立制御 歯の追従率による制御 使いやすさ 使いやすさのために決めたこと
28/129 ブレンドシェイプ ベースの利点 使いやすさ 作業者による品質の ブレを少なくできる
29/129 ブレンドシェイプの形状の工夫 使いやすさ 手数を減らし、特徴的な表情を作れる 筋肉の動きベース 形状優先
30/129 使いやすさ リグを介して アニメーションを コピーし 量産に対応できる ブレンドシェイプ ベースの利点
31/129 使いやすさ 顎は口とは完全に 独立させ管理を分けた 顎の独立制御 アニメーションの 重複を防ぐため、 口と顎が連動する リグは用意しない
32/129 使いやすさ 正面では顎は 動かさず側面では 動くように調整が 可能 顎の独立制御 個別管理できる仕組み で繊細な表現を可能に
33/129 使いやすさ 歯の追従率による 制御 Y軸とZ軸の2軸を ウェイト値にまとめた 唇に追従する 制御にし、操作を 簡易化
34/129 使いやすさ 3次元的に管理する 必要がなくなるので、 作業スピードが向上 歯の追従率による 制御
35/129 フェイシャルリグ 表現力 使いやすさ 軽量性のプライオリティ
36/129 軽量性のプライオリティ 複数配置すると重くなるデメリットがあるものの、今回は機能性を優先 作業はLiveLink (リアルタイム編集) を想定
37/129 軽量性のプライオリティ 作業画面
38/129 フェイシャルリグの仕組み 表現力 使いやすさ 軽量性のプライオリティ 目標を明確にし、そのためのjointと機能を最大限用意した 後工程を考慮し、表現力・効率化を両立させた 機能性を優先し、優先順位を下げた
39/129 カットシーン制作
40/129 カットシーン制作 フェイシャルキャプチャー 演技と絵作りのレイヤー運用 主人公間のアニメーション移植
41/129 カットシーン制作 フェイシャルキャプチャー 演技と絵作りのレイヤー運用 主人公間のアニメーション移植
42/129 フェイシャルキャプチャー MocapXを使用 iPhoneで収録可能 リアルタイムでリグの 挙動が確認できる 自席で収録できるので手軽
43/129 フェイシャルキャプチャー 各キャラクター毎に繋ぐ セットアップについて 一般的なセットアップ
44/129 素体リグからアニメーションを移植 フェイシャルキャプチャー セットアップについて リリンクのセットアップ
45/129 フェイシャルキャプチャー 素体リグとは 必要最低限の機能 軽さ重視 演技のタイミングと、 縦横の動きが拾えればよい
セットアップについて
46/129 カットシーン制作 フェイシャルキャプチャー 演技と絵作りのレイヤー運用 主人公間のアニメーション移植
47/129 演技と絵作りのレイヤー運用 演技と絵作りを分けてデータ作成することで、 調整時の競合を防ぐ 下地にキャプチャーの動きを流す 絵作りはレイヤーを使用して、キャプチャー データの上から調整
48/129 演技と絵作りのレイヤー運用 キャプチャーを リグに流した状態 最後まで このデータ状態は保つ
49/129 演技と絵作りのレイヤー運用 修正の場合でも、演技 には影響がないので 気兼ねなく調整できる ポイントになる 表情に注力して ポーズ修正
50/129 カットシーン制作 フェイシャルキャプチャー 演技と絵作りのレイヤー運用 主人公間のアニメーション移植
51/129 主人公の性別はカットシーンに反映されるが、 ブレンドシェイプで形状の共通化を行っているため対応負荷を軽減できた
52/129 主人公間のアニメーション移植 OK グランのカットシーンを作成し、ジータへ移植
53/129 主人公間のアニメーション移植 OK グランのカットシーンを作成し、ジータへ移植
54/129 主人公間のアニメーション移植 完成
55/129 カットシーン制作手法 フェイシャルキャプチャー 演技と絵作りのレイヤー運用 主人公間のアニメーション移植 MocapXと素体リグで演技を素早く収録出来た レイヤーで分けることで絵作りに集中できた 形状の共通化とレイヤーの運用により、対応が軽微に
56/129 ランタイムのフェイシャル処理
57/129 ランタイムのフェイシャル処理 会話シーン 自動顔変形システム 奥義・クエスト勝利演出
58/129 ランタイムのフェイシャル処理 会話シーン 自動顔変形システム 奥義・クエスト勝利演出
59/129 会話シーン
60/129 会話シーン 膨大な物量 イベント自体の数も、ボイス量も多い 日本語/英語ボイスの対応が必要 ユーザー操作の影響 ボタンスキップできる
ボタン送りを待つ間がある 特徴
61/129 会話シーン ランタイムシステムによる対応が必須 まばたき サッカード リップシンク 特徴
62/129 まばたき 通常 驚き 通常 笑顔 再生中の表情に応じたまばたきの モーションをランダム間隔で再生 驚き顔用の まばたきモーション
笑顔用の まばたきモーション 基本の仕組み
63/129 まばたき 通常 驚き 通常 笑顔 表情が変わるタイミングで まばたきすると演技を阻害してしまう 眉がピクついてしまう
まばたき中に目閉じ演技が始まってしまう よくある問題
64/129 まばたき 通常 驚き 通常 笑顔 目元の演技が変わる少し前になったら、 まばたきしないよう、自動でオンオフ オン オフ
ランタイムでの対策
65/129 サッカード イラスト調のキャラクターは目や瞳の形状が多様 Relinkの目の特徴
66/129 サッカード 特に瞳が大きいキャラクターは 実際の人間で起きる動きをさせても 不自然に見えることがあった ランダム+制約条件で 自然かつパターン感のない動きを目指す Relinkの目の特徴
67/129 サッカード 自然に見せるための制約 横の動きを多くする (縦の動きは減らす) 連続で同じ方向に 動かさない 連続移動するときは 移動量を小さくする 〇
× 〇 × ① ② ① ② 〇 × ② ①
68/129 サッカード 横の動きを多くする (縦の動きは減らす) 〇 × 連続移動するときは 移動量を小さくする 連続で同じ方向に 動かさない
〇 × ① ② ① ② ① ② 〇 × ② ① 自然に見せるための制約
69/129 サッカード 横の動きを多くする (縦の動きは減らす) 連続移動するときは 移動量を小さくする 連続で同じ方向に 動かさない 〇 ×
〇 × ① ② ① ② 〇 × ② ① 自然に見せるための制約
70/129 サッカード 横の動きを多くする (縦の動きは減らす) 連続移動するときは 移動量を小さくする 連続で同じ方向に 動かさない 〇 ×
〇 × ① ② ① ② 〇 × ② ① 自然に見せるための制約
71/129
72/129 リップシンク カットシーン以外はすべて 自動リップシンク CRIWARE ADX LipSyncによる 音声解析データを利用 解析で得たデータをランタイムで駆使
73/129 リップシンク 事前処理 音声データ解析 母音+閉じ口の 各ウェイトを取得 ランタイム処理 モーションブレンド再生 各母音の 口形状モーション作成
基本の仕組み
74/129 リップシンク ボイスデータは前後に無音の部分を含む ボイス再生 無音 実際の発声部分 無音 前後のモーションとの接続処理
75/129 リップシンク そのままリップシンクさせると、 話し始め、終わりで真顔の閉じ口が発生 無音 実際の発声部分 無音 驚き 閉じ口 口パク
閉じ口 笑顔 前後のモーションとの接続処理 驚き 笑顔
76/129 リップシンク リップシンクの解析データから無音部分 を検出し、前後のモーションと接続 驚き 口パク 笑顔 前後のモーションとの接続処理 驚き 笑顔
無音 実際の発声部分 無音
77/129 リップシンク 無音 実際の発声部分 無音 驚き 口パク 笑顔 ボイスの発声部分に差し掛かったら リップシンクによる口パクを開始
話し始め部分の接続処理
78/129 リップシンク ボイス終わりの無音部分に入る0.2秒前になったら タイムライン指定のモーションを補間ありで再生 驚き 口パク 笑顔 無音 実際の発声部分 無音
話し終わり部分の接続処理
79/129
80/129 会話シーンまとめ タイムラインの情報や、 リップシンク解析データを活用し、 未来を予測した自然な演技を実現 ユーザー操作による変化、物量を ランタイムシステムでカバー
81/129 ランタイムのフェイシャル処理 会話シーン 自動顔変形システム 奥義・クエスト勝利演出
82/129
83/129 3Dモデルの宿命
84/129
85/129
86/129 自動顔変形
87/129 自動顔変形 リアルタイムで自由に動くカメラに対し、 常に最適な顔になるよう加算 変形がユーザーにわからないようにする ランタイム処理の要件
88/129 自動顔変形 常に最適な顔になるよう加算 変形がユーザーにわからないようにする カメラ角度に対し、 常に最適なモーションとウェイトを設定 ウェイトが必ず連続変化する ランタイム処理の要件
89/129 自動顔変形 90° −90° 0° 0° 90° 180° −180° −90°
𝜶𝜶 𝜷𝜷 𝜶𝜶[deg] 𝜷𝜷[deg] 90 −90 180 -180 0 水平方向 鉛直方向 顔に対するカメラの角度の定義 カメラ角度を 二次元平面で表現
90/129 自動顔変形 𝛼𝛼[deg] 𝛽𝛽[deg] 90 −90 180 -180 フカン アオリ
左アオリ 右アオリ 右 左 正面 各モーションに応じた 点をプロット カメラ角度との紐づけ を行う モーションマップの作製
91/129 自動顔変形 三角形要素を構築 どの要素内にいるかを 見て、要素を構成する 3点のモーションを再生 𝛼𝛼 𝛽𝛽 90 −90
180 -180 左 左アオリ アオリ 右アオリ 正面 右 フカン 再生モーションの決定方法
92/129 自動顔変形 𝛼𝛼 𝛽𝛽 90 −90 180 -180 左 左アオリ
アオリ 右アオリ 正面 右 フカン 正面 フカン 左 正面 左 左アオリ 再生モーションの決定方法
93/129 自動顔変形 𝛼𝛼 𝛽𝛽 90 −90 180 -180 左 左アオリ
アオリ 右アオリ 正面 右 フカン 要素の外側は、 中心と外周の点を 結んだ線で分割 領域を挟む2点の モーションを再生 再生モーションの決定方法
94/129 𝛽𝛽 90 −90 180 -180 左 左アオリ アオリ 右アオリ
正面 右 フカン 自動顔変形 再生モーションの決定方法 左 左アオリ フカン 左
95/129 自動顔変形 フカン 正面 左 フカンを強く フカンを弱く 対応するモーションの 加算ウェイトは なる
・点に近づくほど大きく ・点から遠ざかるほど小さく ウェイトの条件①
96/129 自動顔変形 加算ウェイトの総和が常に1 𝑛𝑛: モーション総数 𝑤𝑤: 加算ウェイト � 𝑖𝑖=0 𝑛𝑛
𝑤𝑤𝑖𝑖 = 1 左図の要素内ならどこでも 𝑤𝑤正面 + 𝑤𝑤フカン + 𝑤𝑤左 = 1 他のモーションのウェイトは0 ウェイトの条件② フカン 正面 左
97/129 𝛼𝛼 𝛽𝛽 90 −90 180 -180 左 左アオリ アオリ
右アオリ 正面 右 フカン 自動顔変形 全域ですべてのウェイトが 必ず連続な値を取る カメラがどう動いても、 ウェイトが滑らかに変化する ウェイトの条件③
98/129 自動顔変形 対応する点で1、ほかの2点で 0になるように線形補間するのが一番簡単 要素外も線形補間でOK 𝒑𝒑1 0 𝒑𝒑0 𝑤𝑤0 1
𝒑𝒑2 𝒑𝒑0 (𝛼𝛼0 , 𝛽𝛽0 ) 𝒑𝒑1 (𝛼𝛼1 , 𝛽𝛽1 ) 𝒑𝒑2 (𝛼𝛼2 , 𝛽𝛽2 ) 𝒑𝒑1 𝒑𝒑0 1 0 𝑤𝑤1 𝒑𝒑2 𝒑𝒑1 𝒑𝒑2 𝑤𝑤2 𝒑𝒑0 0 1 条件を満たすウェイト分布
99/129 自動顔変形 カメラ固定の演出以外すべて 主要キャラクターのほとんどで使用 通常操作(街でも戦闘中でも) 会話シーン フォトモード etc 使用箇所
100/129 自動顔変形 実例 ~通常戦闘中の様子~ イラスト特有の口の奥側が 見える表現などを常時実現
101/129 自動顔変形
102/129 自動顔変形システムまとめ 変形モーションを カメラ角度に応じて常に加算再生 いつどこから見ても映える キャラクターフェイシャルを実現
103/129 ランタイムのフェイシャル処理 会話シーン 自動顔変形システム 奥義・クエスト勝利演出
104/129
105/129 奥義、クエスト勝利演出 始動技ヒット カットイン演出
106/129 奥義、クエスト勝利演出 固定カメラ 1キャラ60を超えるボイスパターン セリフのランダムタイミング
107/129 奥義、クエスト勝利演出 ベース リップシンク 余韻口 データ構成
108/129 奥義、クエスト勝利演出 ベースアニメーション
109/129 奥義、クエスト勝利演出 リップシンク
110/129 奥義、クエスト勝利演出 ベースアニメーション+リップシンク
111/129 奥義、クエスト勝利演出 余韻口
112/129 完成形
113/129 奥義、クエスト勝利演出 クエスト勝利演出のデータ構成 ベース リップシンク 余韻口
114/129
115/129 奥義、クエスト勝利演出 左右非対称の口
116/129 奥義、クエスト勝利演出 左右非対称の口
117/129 奥義、クエスト勝利演出 左右非対称の口
118/129
119/129 奥義、クエスト勝利演出 メインとなるフェイシャルモーションと 同時にウェイト0で加算再生を開始 メインモーション 余韻口モーション ボイス 余韻口の仕組み
120/129 余韻口モーション メインモーション 奥義、クエスト勝利演出 リップシンクの解析データから 喋り終わるタイミングを取得する ボイス 無音 実際の発声部分 無音
余韻口の仕組み
121/129 ボイス 無音 実際の発声部分 無音 余韻口モーション メインモーション 奥義、クエスト勝利演出 喋り終わる0.2秒前にさかのぼって待機 余韻口の仕組み
122/129 ボイス 無音 実際の発声部分 無音 余韻口モーション メインモーション 奥義、クエスト勝利演出 ウェイトの増加を開始 ここからウェイトを
徐々に増加させていく 余韻口の仕組み
123/129 ボイス 無音 実際の発声部分 無音 余韻口モーション メインモーション 奥義、クエスト勝利演出 ここで ウェイト1に
なる 余韻口の仕組み 指定秒数かけて加算ウェイトを1にする
124/129
125/129 奥義、クエスト勝利演出まとめ 組み合わせ可能なアセットを作成し、 ランタイムで状況に合わせて再生 膨大なボイスパターンに対応しつつ、 迫力あるカットインを実現
126/129 まとめ
127/129 まとめ 絵のクオリティを維持したまま、 膨大な物量とユーザーインタラクトに対応 アセット制作 ランタイム処理 作業フローを考慮したリグ設計 カットシーン制作フローの効率化
ランタイム処理を見こしたアセットづくり 会話シーンのリップシンクやサッカード フェイシャル表現を向上させる自動顔変形 状況に応じて最適なアセットを組み合わせ
128/129 今後の課題 自動顔変形システムの高度化 カメラ角度だけではなく画角も考慮したい 髪型などにも転用していきたい データ作成が試行錯誤頼りなのを効率化したい インタラクトをより重視した表現
キャラクターが何気ないユーザー操作に いつでも自然に反応してくれる仕組みづくり より活き活きとした印象になるような表現
129/129