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
260
ららマジでしかできない!?キャラクターアセット最適化事例
「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
コミュニケーションに鍵を見いだす、エンジニア1年目の経験談
gree_tech
PRO
0
120
REALITY株式会社における開発生産性向上の取り組み: 失敗と成功から学んだこと
gree_tech
PRO
2
1.7k
『ヘブンバーンズレッド』におけるフィールドギミックの裏側
gree_tech
PRO
2
570
セキュリティインシデント対応の体制・運用の試行錯誤 / greetechcon2024-session-a1
gree_tech
PRO
1
570
『アナザーエデン 時空を超える猫』国内海外同時運営実現への道のり ~別々で開発されたアプリを安定して同時リリースするまでの取り組み~
gree_tech
PRO
1
540
『アサルトリリィ Last Bullet』におけるクラウドストリーミング技術を用いたブラウザゲーム化の紹介
gree_tech
PRO
1
620
UnityによるPCアプリの新しい選択肢。「PC版 Google Play Games」への対応について
gree_tech
PRO
1
990
実機ビルドのエラーによる検証ブロッカーを0に!『ヘブンバーンズレッド』のスモークテスト自動化の取り組み
gree_tech
PRO
1
640
"ゲームQA業界の技術向上を目指す! 会社を超えた研究会の取り組み"
gree_tech
PRO
1
770
Other Decks in Technology
See All in Technology
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
1
410
Lambda Web Adapterについて自分なりに理解してみた
smt7174
6
160
Understanding_Thread_Tuning_for_Inference_Servers_of_Deep_Models.pdf
lycorptech_jp
PRO
0
160
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
410
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
120
KiCadでPad on Viaの基板作ってみた
iotengineer22
0
280
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
0
200
mrubyと micro-ROSが繋ぐロボットの世界
kishima
3
410
改めてAWS WAFを振り返る~業務で使うためのポイント~
masakiokuda
2
230
論文紹介:LLMDet (CVPR2025 Highlight)
tattaka
0
300
OPENLOGI Company Profile
hr01
0
67k
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.4k
Featured
See All Featured
Code Review Best Practice
trishagee
69
18k
Balancing Empowerment & Direction
lara
1
410
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
960
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Building Applications with DynamoDB
mza
95
6.5k
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行もアンサンブル玉の位置を特 定するコードが ありません
クエスチョン: なぜオートモードですべての アンサンブル玉をとりながら 器楽部の女の子は 走れるのでしょう?
答えは懇親会で奥村に 聞いてください!
ありがとうございました!