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
83
ららマジでしかできない!?キャラクターアセット最適化事例
「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
3
950
スケーラビリティとコスト管理 Google Cloud Spanner 費用最適化の取り組み
gree_tech
PRO
0
520
「アナザーエデン 時空を超える猫」の5年前のログを引っ越してデータドリブンで事業運用プロセスを改善した話
gree_tech
PRO
0
360
Unity,PHP+Jenkins+GAS 多言語対応を意識させない開発を目指したシステム構築
gree_tech
PRO
0
810
全社総会における「REALITY Spaces」の活用と、Addressableを用いたコンテンツ配信技術について
gree_tech
PRO
0
470
AWSのEKS環境でログ機能を構築/リリースしたお話
gree_tech
PRO
0
360
「ヘブンバーンズレッド」の大規模アップデートにおける国内及び翻訳QAの取り組み
gree_tech
PRO
0
440
アプリ「REALITY」の12言語対応プロセスの仕組みと品質向上の取り組み
gree_tech
PRO
0
680
REALITYアプリのメンテナンスなしでの機能リリースを実現する、Istio導入とB/Gデプロイ実現の取り組み
gree_tech
PRO
0
550
Other Decks in Technology
See All in Technology
LangSmith入門―トレース/評価/プロンプト管理などを担うLLMアプリ開発プラットフォーム
os1ma
5
770
IaCからAWSに入門した初心者が CloudFormationを通して考えた「AWS操作」の使い分け
maimyyym
2
560
Gemini, Google's Large Language Model
glaforge
0
120
競技としてのKaggle、役に立つKaggle
yu4u
7
2.4k
AWSやJAWS-UGとの出会いを振り返る
yoyoyopg
1
140
コードファーストの考え方。 Amplify Gen2から学ぶAWS次世代のWeb開発体験
yoshiitaka
2
490
LLMアプリケーション_リリース後の苦労とGROW.pdf
horiuchie
0
140
M5stackで使用できるpHセンサの開発
shinrinakamura
0
230
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
1.1k
Grafana x PagerDuty Better Together
jacopen
1
310
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
340
IaCジェネレーターとBedrockで詳細設計書を生成してみた
tsukasa_ishimaru
4
930
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Thoughts on Productivity
jonyablonski
60
3.9k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
The Pragmatic Product Professional
lauravandoore
26
5.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
22
1.6k
The Invisible Side of Design
smashingmag
294
49k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
649
58k
The Language of Interfaces
destraynor
151
23k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
Writing Fast Ruby
sferik
622
60k
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行もアンサンブル玉の位置を特 定するコードが ありません
クエスチョン: なぜオートモードですべての アンサンブル玉をとりながら 器楽部の女の子は 走れるのでしょう?
答えは懇親会で奥村に 聞いてください!
ありがとうございました!