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
290
ららマジでしかできない!?キャラクターアセット最適化事例
「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
140
REALITY株式会社における開発生産性向上の取り組み: 失敗と成功から学んだこと
gree_tech
PRO
2
1.8k
『ヘブンバーンズレッド』におけるフィールドギミックの裏側
gree_tech
PRO
2
620
セキュリティインシデント対応の体制・運用の試行錯誤 / greetechcon2024-session-a1
gree_tech
PRO
1
640
『アナザーエデン 時空を超える猫』国内海外同時運営実現への道のり ~別々で開発されたアプリを安定して同時リリースするまでの取り組み~
gree_tech
PRO
1
590
『アサルトリリィ Last Bullet』におけるクラウドストリーミング技術を用いたブラウザゲーム化の紹介
gree_tech
PRO
1
680
UnityによるPCアプリの新しい選択肢。「PC版 Google Play Games」への対応について
gree_tech
PRO
1
1.1k
実機ビルドのエラーによる検証ブロッカーを0に!『ヘブンバーンズレッド』のスモークテスト自動化の取り組み
gree_tech
PRO
1
710
"ゲームQA業界の技術向上を目指す! 会社を超えた研究会の取り組み"
gree_tech
PRO
1
850
Other Decks in Technology
See All in Technology
Telemetry APIから学ぶGoogle Cloud ObservabilityとOpenTelemetryの現在 / getting-started-telemetry-api-with-google-cloud
k6s4i53rx
0
140
ロールが細分化された組織でSREと協働するインフラエンジニアは何をするか? / SRE Lounge #18
kossykinto
0
220
Findy Freelance 利用シーン別AI活用例
ness
0
480
マルチプロダクト×マルチテナントを支えるモジュラモノリスを中心としたアソビューのアーキテクチャ
disc99
1
520
全員が手を動かす組織へ - 生成AIが変えるTVerの開発現場 / everyone-codes-genai-transforms-tver-development
tohae
0
150
Serverless Meetup #21
yoshidashingo
1
120
大規模イベントに向けた ABEMA アーキテクチャの遍歴 ~ Platform Strategy 詳細解説 ~
nagapad
0
220
Amazon S3 Vectorsは大規模ベクトル検索を低コスト化するサーバーレスなベクトルデータベースだ #jawsugsaga / S3 Vectors As A Serverless Vector Database
quiver
1
370
Amazon Qで2Dゲームを作成してみた
siromi
0
140
ファッションコーディネートアプリ「WEAR」における、Vertex AI Vector Searchを利用したレコメンド機能の開発・運用で得られたノウハウの紹介
zozotech
PRO
0
270
Agent Development Kitで始める生成 AI エージェント実践開発
danishi
0
150
相互運用可能な学修歴クレデンシャルに向けた標準技術と国際動向
fujie
0
240
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6k
The Cost Of JavaScript in 2023
addyosmani
51
8.8k
Designing for Performance
lara
610
69k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
800
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
GraphQLとの向き合い方2022年版
quramy
49
14k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.3k
Music & Morning Musume
bryan
46
6.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
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行もアンサンブル玉の位置を特 定するコードが ありません
クエスチョン: なぜオートモードですべての アンサンブル玉をとりながら 器楽部の女の子は 走れるのでしょう?
答えは懇親会で奥村に 聞いてください!
ありがとうございました!