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
ららマジでしかできない!?キャラクターアセット最適化事例
Search
gree_tech
PRO
June 10, 2019
Technology
0
110
ららマジでしかできない!?キャラクターアセット最適化事例
「WFS Tech Talk #1」で発表された資料です。
https://gree.connpass.com/event/129292/
gree_tech
PRO
June 10, 2019
Tweet
Share
More Decks by gree_tech
See All by gree_tech
kustomizeをいい感じに使う方法
gree_tech
PRO
4
2.3k
スケーラビリティとコスト管理 Google Cloud Spanner 費用最適化の取り組み
gree_tech
PRO
0
760
「アナザーエデン 時空を超える猫」の5年前のログを引っ越してデータドリブンで事業運用プロセスを改善した話
gree_tech
PRO
0
490
Unity,PHP+Jenkins+GAS 多言語対応を意識させない開発を目指したシステム構築
gree_tech
PRO
0
1k
全社総会における「REALITY Spaces」の活用と、Addressableを用いたコンテンツ配信技術について
gree_tech
PRO
0
630
AWSのEKS環境でログ機能を構築/リリースしたお話
gree_tech
PRO
0
490
「ヘブンバーンズレッド」の大規模アップデートにおける国内及び翻訳QAの取り組み
gree_tech
PRO
0
580
アプリ「REALITY」の12言語対応プロセスの仕組みと品質向上の取り組み
gree_tech
PRO
0
870
REALITYアプリのメンテナンスなしでの機能リリースを実現する、Istio導入とB/Gデプロイ実現の取り組み
gree_tech
PRO
0
700
Other Decks in Technology
See All in Technology
Flutter研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
JBUG岡山 #6 WordCamp男木島の チームビルディング
takeshifurusato
0
150
AOAI Dev Day - Opening Session
yoshidashingo
2
470
CEL(Common Expression Language)で書いた条件にマッチしたIAM Policyを見つける / iam-policy-finder
fujiwara3
0
720
セキュリティ研修 Day1【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
【基調講演】変える、今ここから ― IoTとAIで紡ぐ未来
soracom
PRO
0
320
シフトレフトで挑む セキュリティの生産性向上
sekido
PRO
0
270
Azure Pipelinesを使用したCICDベースラインアーキテクチャ実践
yuriemori
0
190
dxd2024-生成AIに振り回された3か月間の成功と失敗/dxd2024-link-and-motivation
lmi
2
260
ABEMAにおけるLLMを用いたコンテンツベース推薦システム導入と効果検証
cyberagentdevelopers
PRO
1
760
推薦システムを本番導入する上で一番優先すべきだったこと~NewsPicks記事推薦機能の改善事例を元に~
morinota
0
130
How to Think Like a Performance Engineer
csswizardry
4
590
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
17
1.5k
GraphQLとの向き合い方2022年版
quramy
36
13k
Building Applications with DynamoDB
mza
89
5.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
262
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
26
1.6k
What's new in Ruby 2.0
geeforr
338
31k
Faster Mobile Websites
deanohume
303
30k
Debugging Ruby Performance
tmm1
71
11k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
245
1.2M
Gamification - CAS2011
davidbonilla
78
4.9k
Making the Leap to Tech Lead
cromwellryan
127
8.7k
Atom: Resistance is Futile
akmur
261
25k
Transcript
ららマジにしかできない!? キャラクターアセット最適化事例 2019/6/6 奥村 典史
©️ WFS ららマジとは? ららマジのご紹介
None
• キミと奏でる、音と魔法の学園RPG • Write Flyer Statdios✕A-1 Pictures協力タッグでおくる、圧倒的 ドラマティックRPG! • 登場するのは30人の個性豊かなヒロイン。豪華声優陣がストー
リーをフルボイスで彩ります。 • 2017年1月25日リリース(約2年半) ららマジとは
Unity✕Spine✕アクション
だけで使える最適化の話
None
None
ボーン100以内くらい メッシュ変形多用
None
太鼓が3Dみたいに動く すごくない?
ららマジでSpineのアセットを 使う方法
.skel .atlas .png skel.asset (.skelへの参照を持つ) atlas.asset (.atlasへの参照を持つ) .mat (.pngへの参照を持つ) 変換
Spineのインポート
None
Spineのボーンの位置をUnity上 で参照できるようにする
None
None
None
ここで作ったボーンは位置を エミュレートしているだけ
見た目には影響がありません
このボーンの先に攻撃用の コリジョンをひっつけます
ちょっと苦労した話
Unity上でエミュレートした ボーンが死ぬほど重い!
敵キャラ5体味方キャラ1体で CPU負荷が限界!
負荷の3/4がUnity上でエミュレ ートされたボーンの負荷!
重い!
プランナーさんとラーメンを 食べた帰り道
「キャラクター4体同時に出した いんですよねぇ・・・・」
!?
出すことは造作もない
パフォーマンスが無理!
こうして、パフォーマンスの 最適化が必要となりました
ではここで クエスチョンです!
結果的にキャラクターデータの 最適化によってキャラクターの アセットは4倍速くなりました!
どうやって キャラクターアセットを 最適化したのでしょう?
答え
重たいのはUnity上でエミュレー トされたボーンの負荷
Spineのボーンエミュレートは 機械的にすべてのボーンをエミ ュレートする
コリジョンがひっついているの は一部のボーンのみ
答えは 「コリジョンがひっついている ボーンとその親ボーン以外を 削除した」
None
None
でした
おまけ
ららマジには アンサンブル玉と呼ばれる 「コイン」みたいなものが あります
しかしららマジのAIには 1行もアンサンブル玉の位置を特 定するコードが ありません
クエスチョン: なぜオートモードですべての アンサンブル玉をとりながら 器楽部の女の子は 走れるのでしょう?
答えは懇親会で奥村に 聞いてください!
ありがとうございました!