$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AssetBundle と TextureCompression のおはなし
Search
Tetsuya Mori
PRO
October 23, 2013
Programming
0
120
AssetBundle と TextureCompression のおはなし
Tetsuya Mori
PRO
October 23, 2013
Tweet
Share
More Decks by Tetsuya Mori
See All by Tetsuya Mori
ビルドシステムを C# 大統一したお話
monry
PRO
2
1.4k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.6k
はじめての C# 大統一理論
monry
PRO
0
770
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
280
Unity で ARゲームを作った話
monry
PRO
1
900
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
3k
UniFlow 完全に理解した / I can develop UniFlow a little.
monry
PRO
0
530
Democratized Unity Package Manager
monry
PRO
1
2.9k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
1.2k
Other Decks in Programming
See All in Programming
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
6
2.2k
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
330
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
330
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
820
エディターってAIで操作できるんだぜ
kis9a
0
720
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
350
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
500
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
150
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
160
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
260
React Native New Architecture 移行実践報告
taminif
1
150
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
2.5k
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Making Projects Easy
brettharned
120
6.5k
Automating Front-end Workflow
addyosmani
1371
200k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
A designer walks into a library…
pauljervisheath
210
24k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Transcript
AssetBundle ͱ TextureCompression ͷ͓ͳ͠ ʙMobile Platform ʹԙ͚ΔϦιʔεཧʙ גࣜձࣾΩοζελʔ ɹ࠸
͜ΜΜʂ • Unityɺͬͯ·͔͢ʂʁ • Unityɺָ͍͠Ͱ͢Ͷʂ • ࠓ AssetBundle ͱ Texture
ѹॖʹͭ ͍ͯޠΓʹདྷ·ͨ͠ʂʂ
ͱɺͦͷલʹ…ɻ
Who am I ? • “ɹ࠸” ͱਃ͠·͢ɻ • a.k.a. ΜΓ͌
/ T: @monry / F: ຊ໊ • 29ࡀ / ˁ / Oܕ / ఱṝ࠲ / طࠗ / झຯ: ߹ এ • झຯʮ͓ञʯͱʮ߹এʯͰ͢ɻ
Who am I ? • “גࣜձࣾΩοζελʔ” ͬͯձࣾͰಇ͍ͯ·͢ɻ • ະबֶࣇʙখֶੜͷ͓ࢠ͞·Λ͓࣋ͪͷϑΝ ϛϦʔΛλʔήοτʹͨ͠ҭ/ڭҭʹؔΘΔ
ΞϓϦɾαʔϏεΛల։͓ͯ͠Γ·͢ɻ ͑͜΄Μ ͷ͑΄Μؗ ͳΓ͖Γ!! ͬ͜͝ϥϯυ ύζϧ&ςΠϧζ
Ϩδϡϝ • AssetBundle ʹ͍ͭͯ • TextureCompression ʹ͍ͭͯ
લఏ • େલఏͱͯ͠ɺ2D ͷ͓͠Ͱ͢ʂ • ͬͱݴ͏ͱ NGUI ʹݶఆͯ͠·͢ • iOS
/ Android ͳϞόΠϧڥ • Unity 4.x (Pro) / NGUI 2.6.x • Pro ൛͡Όͳ͍ͱ AssetBundle Λ Build Ͱ͖ͳ͍ • AssetBundle ͷ͕8ׂͰ͢ :-P • ؒҧͬͨ͜ͱݴ͏͔Ε·ͤΜ͕ɺποίϛେܴͰ͢ʂʂ
AssetBundle ͷ֓ཁ • ͦͦ AssetBundle ͬͯ…ʁ • Asset Λ Bundle
ͨ͠Ϟϊ • ૉࡐΛవΊͯҰͭͷϑΝΠϧͱͯ͠ѻ͏ ͨΊͷٕज़ • Α͋͘Δॳճμϯϩʔυͱ͔ • ιγϟήͷΧʔυͷը૾ͱ͔
AssetBundle ͷ֓ཁ • ͜Μͳͷɻ(એ͡Όͳ͍Ͱ͢Αʁ͆)
AssetBundle ͷॴ • Unity ͕ղऍग़དྷΔϞϊͳΒ٧Ί์ • ͨͩ͠ɺiOS JIT ࣮ߦෆՄ
• WWW ΫϥεΛܦ༝ͯ͠औಘ • Ωϟογϡͱ͔Α͠ͳʹͬͯ͘ΕΔ • όʔδϣχϯάʹରԠ
AssetBundle ͷॴ • جຊతʹαʔόඞཁ • Content-Type: application/vnd.unity Λཁฦ٫ • ϑΝΠϧ໊ϢχʔΫ
• basename Ͱఆ͞ΕΔ • σΟϨΫτϦ۷ͬͯཧͱ͔ᶡ • ϓϥοτϑΥʔϜຖʹผϑΝΠϧ
AssetBundle ͷӡ༻ • ͡Ό͋ɺͦͷล౿·͑ͯɺͲ͏Δ ͷʁͬͯͳ͓͠Λɻ • ͔͜͜ΒઌɺฐࣾͰͷࣄྫΛϕʔε ʹਐΊ·͢ɻ • ҰͭͰࢀߟʹͳΔϞϊ͕͋Ε͍
Ͱ͢ɻ
AssetBundle ͷڥ • ॳճϦιʔεμϯϩʔυ • 2ճҎ߱ Cache ͤ Amazon S3
Amazon CloudFront App (Cache) App (Memory) Amazon S3 Amazon CloudFront App (Cache) App (Memory)
AssetBundle ͷڥ • νʔϜ։ൃ͢ΔͳΒ git Ͱཧ • όΠφϦ͔ͩΒඍົͬͪΌඍົ • Asset
Server (ཁ Team License) ΞϦ͔ • Editor Script ඞਢ • άάΕ͍ͬͺ͍స͕ͬͯ·͢ • ͜ͷษڧձͷաڈͷηογϣϯʹ
AssetBundle ͷڥ • iOS / Android ͷ྆ํʹରԠͤ͞Δ߹ɺ Team License ങͬͱ͚ʂ
• BuildPipeline.BuildAssetBundle() ͷࡍʹ Import Asset ͕ΔͨΊɺϦιʔε ͕ଟ͍ͱΊͬͪΌͭɻ • ͷͰɺCache Server ඞਢɻ
AssetBundle ͷઃܭ • ཻ (ฐࣾͷ߹) • Atlas / Texture /
AudioClip ΛݸผʹϏϧυ • 1ը໘ (≠γʔϯ) ʹ࠷େ10ݸΛ҆ • ॳճDL࣌ͷΩϟογϡʹ݁ߏґଘ • Ͳ͏ʹ͔͍ͨ͠Μ͚ͩͲͶ…ɻ
AssetBundle ͷઃܭ • ߋ৽ස (ฐࣾͷ߹) • ݪଇతʹ iOS ͷਃεέδϡʔϧ͕ج ४
• ͦͦߋ৽ස͕ߴ͍Ϟϊ API ͱ ͔ܦ༝ͨ͠ํ͕ཧָ͕ • BASE64 ͳςΩετΛ৯ΘͤΔͱ͔
AssetBundle ͷઃܭ • ॳճDL͢ΔωλҰཡ (ฐࣾͷ߹) • ͑ͯΞϓϦ (Assets/Resources/) ʹ .txt
(TSV ͳ TextAsset) Λอ࣋ • ϑΝΠϧ໊<TAB>όʔδϣϯ<LF> • ຖճىಈ࣌ʹ͜ͷϦετΛνΣοΫ • WWW.LoadFromCacheOrDownload ʹͤͯ Cache ͕༗͢ΔόʔδϣϯͱҟͳΔͳΒ DL
AssetBundle ͷઃܭ • ϑΝΠϧ໊ (ฐࣾͷ߹) • ϓϥοτϑΥʔϜ໊/छผ@ γʔϯ໊@ը໘໊@ϑΝΠϧ໊.unity3d • ϓϥοτϑΥʔϜ໊
iOS, Android, Editor ͳͲ • छผ Atlas, AudioClip, Texture ͳͲ
AssetBundle ͷߏங • Editor Script Ͱ͕ΜΔɻ Supporting Files/ 種別/ シーン名/
画面名/ ファイル名 ͜ͷߏܾΊଧͪͰσΟϨΫτϦͷ ϑΝΠϧΛࠪ
AssetBundle ͷ৴ • S3 Λ Origin ͱͨ͠ CloudFront • “όʔδϣϯ൪߸/ϓϥοτϑΥʔϜ/”
ͳ σΟϨΫτϦҎԼʹஔ • Editor Script Ͱॻ͖ग़ͨ͠σΟϨΫτϦ Λؙͬͱ PUT ग़དྷΔͱָͪΜ
ҙ • దͳࠩϏϧυΛߦΘͳ͍ͱμϝ • Կ͔ྑ͍Ҋແ͍͔ͬ͢ʁ͆ • WWW λΠϜΞτͷ࣮͕ແ͍ͷͰɺࣗલ ͰΉඞཁ͋Γ •
CloudFront ͏߹ɺ։ൃத Origin ͔Β DL ͨ͠ํ͕ྑ͍ • CF ଆͷ Cache Invalidation ͱ͔େมͩ͠ɻ
Texture Compression • ςΫενϟͷѹॖ • Inspector ͷ Format ʹ৭ʑ ग़ͯ͘Δ͚Ͳɺཁ͢Δʹ
Ͳ͏͍͏ίτ…ʁ
Texture Compression • σόΠεຖʹɺల։ग़དྷΔϑΥʔϚοτͱग़ དྷͳ͍ϑΥʔϚοτ͕͋Δ • GPU ʹґଘ • ల։ग़དྷͳ͔ͬͨ߹ɺແѹॖͷςΫενϟ
ΛҰؾʹϝϞϦʹࡌͤΔͬΆ͍ • શը໘ςΫενϟͱ͔ඳըʹ1secֻ͔Δί τɻ
Texture Compression • Ͱɺ࠷దͳͷʁ • iOS PowerVR (PVR) ʹ͠ͱ͚
OK • RGBA Compressed PVRTC 4 bits ͕Φεεϝ • ͩ͜ΘΔͳΒ Texture ผʹ࣮ػͰݟ ͭͭదʹબΜͰͶ
ͦ͏ɺiPhone ͳΒͶɻ
Texture Compression • ͰɺAndroid ʁ • …ɻ • ………ɻ •
࠷దղ͋Γ·ͤΜʂ orz
Texture Compression • ͱɺݴ͍͍ͨͱ͜ΖͰ͕͢ɺ7ׂҎ্͕ Adreno ʹରԠ͍ͯ͠ΔΑ͏ͳͷͰɺ ATC ͕ྑ͍Μ͡Όͳ͍͔ͱɻ ग़ల: NTT
Ϩκφϯτ͞·ͷ Remote TestKit Ұཡ http://appkitbox.com/testkit/smartphone
Texture Compression • ඇରԠ…ʁ • ͿͬͪΌ͚ΓࣺͯΔํ͕ਫ਼ਆӴੜ ্ΑΖ͍͠ͷͰʁ • গͳ͘ͱʮಡΊͳ͍ʯͱ͍͏ίτ ແ͍
(ͬΆ͍) ͷͰɺαΠζ࣍ୈͰ Կͱ͔ͳΔ͔ɻ
Texture Compression • WebPlayer / Standalone / etc… ʁ •
·ͩ࡞ͬͨ͜ͱແ͍ͷͰ͔Γ·ͤ Μʂ (ŝžŕ • ೡΖใަ͠·͠ΐ͏ʂ
·ͱΊ • AssetBundle • Editor Script ͕؊ཁ • ͪΌΜͱӡ༻ݟਾ͑ͯઃܭ͢͠ •
Texture Compression • Android ͷαϙʔτ࣍ୈ • υϥεςΟοΫͳஅඞཁ͔
Any Questions?
Thank you for your attention!!!