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
ごっこランドをささえる技術 〜AssetBundle 編〜/AssetBundle Fully...
Search
Tetsuya Mori
PRO
March 24, 2019
Programming
3
6.8k
ごっこランドをささえる技術 〜AssetBundle 編〜/AssetBundle Fully Understood
2019年3月24日に開催された「Unity AssetBundle 完全に理解した」の登壇スライドです。
Tetsuya Mori
PRO
March 24, 2019
Tweet
Share
More Decks by Tetsuya Mori
See All by Tetsuya Mori
ビルドシステムを C# 大統一したお話
monry
PRO
2
1.2k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.4k
はじめての C# 大統一理論
monry
PRO
0
700
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
210
Unity で ARゲームを作った話
monry
PRO
1
750
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
2.8k
UniFlow 完全に理解した / I can develop UniFlow a little.
monry
PRO
0
500
Democratized Unity Package Manager
monry
PRO
1
2.7k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
1.1k
Other Decks in Programming
See All in Programming
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
140
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
120
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
7
4.2k
Visual StudioのGitHub Copilotでいろいろやってみる
tomokusaba
1
210
未経験でSRE、はじめました! 組織を支える役割と軌跡
curekoshimizu
1
170
AIプログラミング雑キャッチアップ
yuheinakasaka
19
4.9k
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
9
2.5k
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.5k
ソフトウェアエンジニアの成長
masuda220
PRO
12
2.1k
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
160
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
730
Swift Testingのモチベを上げたい
stoticdev
2
150
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
172
14k
KATA
mclloyd
29
14k
Statistics for Hackers
jakevdp
797
220k
A Philosophy of Restraint
colly
203
16k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
520
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
A better future with KSS
kneath
238
17k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Transcript
גࣜձࣾΩοζελʔ$50 ɹ࠸ ͬ͜͝ϥϯυΛ͑͞͞Δٕज़ d"TTFU#VOEMFฤd 6OJUZ"TTFU#VOEMFશʹཧղͨ͠BUNJYJ*OD
͜Μʹͪʂ
w-5֓ཁ w"TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMFӡ༻ࣄྫհ w·ͱΊ wࣗݾհ ΞδΣϯμ
w-5֓ཁ w"TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMFӡ༻ࣄྫհ w·ͱΊ wࣗݾհ ΞδΣϯμ ΠϚίί
ࠓͷ͓ͷ֓ཁ
w͜Ε͔Βʮ"TTFU#VOEMFશʹཧղ ͢Δʯਓ w"TTFU#VOEMFͷӡ༻ํ๏ʹΉ %FW0QTͳਓ w"EESFTTBCMF"TTFU4ZTUFN ʹ͍ͭͯΓ͍ͨਓ ࠓͷରऀ ֓ཁ
˰śūŢŒţ
w"TTFU#VOEMFͷجૅࣝ w"TTFU#VOEMFͷӡ༻ࣄྫ ࠓ͢ίτ ֓ཁ
w"EESFTTBCMF"TTFU4ZTUFN wJ04μϯϩʔυαΠζ໌هରԠ ࠓ͞ͳ͍ίτ ֓ཁ
wຊͷεϥΠυ͓Αͼߨԋಈը 6OJUZ-FBSOJOH.BUFSJBMTʹͯ ެ։༧ఆͰ͢ w4/4ͷγΣΞେܴͰ͢ʂ ͦͷଞ ֓ཁ
ͦͷଞ ֓ཁ
ຊ
w-5֓ཁ w"TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMFӡ༻ࣄྫհ w·ͱΊ wࣗݾհ ΞδΣϯμ ΠϚίί
"TTFU#VOEMFʹ͍ͭͯ ͓͞Β͍
"TTFU#VOEMFJTԿʁ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ "TTFU Λ #VOEMF ͨ͠ͷ
"TTFU#VOEMFJTԿʁ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w6OJUZ্Ͱ*NQPSUͨ͠"TTFU ΛϥϯλΠϜͰಈతಡΈࠐΈ ͢ΔͨΊͷΈ w͍ΘΏΔμϯϩʔυίϯςϯπ
"TTFU#VOEMFJTԿʁ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w6OJUZͱ͔ͷ͔࣌Βଘࡏ w6OJUZͰେ෯ʹػೳվળ
Կ͕خ͍͠ͷʁ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ wϏϧυ͞Εͨ1MBZFSͷαΠζΛ ݮͰ͖Δ 1MBUGPSN 4J[F "QQ4UPSF .#
(PPHMF1MBZ .# ˞ϓϥοτϑΥʔϜຖͷόΠφϦαΠζ੍ݶ
Կ͕خ͍͠ͷʁ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w1MBZFSΛϏϧυ͢Δ͜ͱͳ͘ "TTFUΛߋ৽Ͱ͖Δ wͨͩ͠ɺ$εΫϦϓτߋ৽ෆՄ
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ "TTFU#VOEMF .BOJGFTU "TTFU#VOEMF "TTFU#VOEMF 3FRVFTU #VJME1JQFMJOF
#VJME"TTFU#VOEMFT "TTFU#VOEMF #VJME $BDIJOH 6OJUZ8FC3FRVFTU "TTFU#VOEMF "TTFU#VOEMF $SFBUF3FRVFTU "TTFU#VOEMF /BNF7BSJBOU 4USFBNFE4DFOF "TTFU#VOEMF
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMF w-;ͳͲͷΞϧΰϦζϜΛ༻͍ͯ "TTFUΛݻΊͨόΠφϦϑΝΠϧ •UnityEngine.AssetBundleΛ ༻͍ͯ"TTFUΛऔΓग़͢
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMF w"TTFUΛϋογϡԽͨ͠ "TTFU'JMF)BTIΛ࣋ͭ wΫϥεߏΛϋογϡԽͨ͠ 5ZQF5SFF)BTIͬͯͷ͋Δ
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ "TTFU#VOEMF .BOJGFTU "TTFU#VOEMF "TTFU#VOEMF 3FRVFTU #VJME1JQFMJOF
#VJME"TTFU#VOEMFT "TTFU#VOEMF #VJME $BDIJOH 6OJUZ8FC3FRVFTU "TTFU#VOEMF "TTFU#VOEMF $SFBUF3FRVFTU "TTFU#VOEMF /BNF7BSJBOU 4USFBNFE4DFOF "TTFU#VOEMF
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w4USFBNFE4DFOF"TTFU#VOEMF w4DFOFࣗମΛ"TTFU#VOEMFͱ ͯ͠ݻΊͨϞϊ wجຊతʹ௨ৗͷ"TTFU#VOEMF ͱಉ͡
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w4USFBNFE4DFOF"TTFU#VOEMF w"TTFU#VOEMF͕-PBE͞ΕΔͱ 4DFOF.BOBHFS͔ΒΞΫηεՄ ೳʹͳΔ wґଘ"TTFU#VOEMF͕͋Δ߹ɺ ࣄલʹ-PBE͓ͯ͘͠ඞཁ͕͋Δ
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ "TTFU#VOEMF .BOJGFTU "TTFU#VOEMF "TTFU#VOEMF 3FRVFTU #VJME1JQFMJOF
#VJME"TTFU#VOEMFT "TTFU#VOEMF #VJME $BDIJOH 6OJUZ8FC3FRVFTU "TTFU#VOEMF "TTFU#VOEMF $SFBUF3FRVFTU "TTFU#VOEMF /BNF7BSJBOU 4USFBNFE4DFOF "TTFU#VOEMF
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMF/BNF w"TTFU#VOEMFͷ໊લ w*OTQFDUPSͰઃఆ͢Δ wޙड़ͷ"TTFU#VOEMF#VJMEͰ ઃఆ͢ΔίτՄೳ
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMF/BNF w"TTFU#VOEMFϏϧυ࣌ʹ͜ͷ͕ ͦͷ··ύεͱͯ͠ར༻͞ΕΔ w֦ுࢠ.unity3dͱ͔͕ଟ͍ʁ w/ͰσΟϨΫτϦ۠ΓՄೳ
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMF7BSJBOU w4%)%ସ-PDBMJ[BUJPOʹ༻͍Δ w"EESFTTBCMF͕αϙʔτͯ͠ ͘Εͳ͍Β͍͠ͷͰݪଇඇਪ wࢀߟIUUQTRJJUBDPNLB JUFNTDFCFB
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ "TTFU#VOEMF .BOJGFTU "TTFU#VOEMF "TTFU#VOEMF 3FRVFTU #VJME1JQFMJOF
#VJME"TTFU#VOEMFT "TTFU#VOEMF #VJME $BDIJOH 6OJUZ8FC3FRVFTU "TTFU#VOEMF "TTFU#VOEMF $SFBUF3FRVFTU "TTFU#VOEMF /BNF7BSJBOU 4USFBNFE4DFOF "TTFU#VOEMF
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMF.BOJGFTU w"TTFU#VOEMFͷ wϏϧυ୯Ґʹੜ͞ΕΔ w)BTIґଘؔΛཧ wαΠζใ࣋ͨͳ͍
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMF.BOJGFTU w)BTIґଘؔͳͲΛ ͍߹ΘͤΔࡍʹ "TTFU#VOEMF/BNFΛ༻͍Δ
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMF.BOJGFTU w*.manifestతͳ:".-ϑΝΠϧ ผϞϊ wϏϧυ࣌ͷࠩݕग़ͷͨΊʹ ͍ͬͯΔͬΆ͍ʁ
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ "TTFU#VOEMF .BOJGFTU "TTFU#VOEMF "TTFU#VOEMF 3FRVFTU #VJME1JQFMJOF
#VJME"TTFU#VOEMFT "TTFU#VOEMF #VJME $BDIJOH 6OJUZ8FC3FRVFTU "TTFU#VOEMF "TTFU#VOEMF $SFBUF3FRVFTU "TTFU#VOEMF /BNF7BSJBOU 4USFBNFE4DFOF "TTFU#VOEMF
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w6OJUZ8FC3FRVFTU"TTFU#VOEMF w"TTFU#VOEMFΛΠϯλʔωοπ ͔Βऔಘ͢Δ wfile://ͰϩʔΧϧ͔ΒऔಘՄೳ
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w6OJUZ8FC3FRVFTU"TTFU#VOEMF w%PXOMPBE)BOEMFS"TTFU#VOEMF Λ௨͢͜ͱͰॲཧਐḿͳͲΛཧ͢Δ
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ "TTFU#VOEMF .BOJGFTU "TTFU#VOEMF "TTFU#VOEMF 3FRVFTU #VJME1JQFMJOF
#VJME"TTFU#VOEMFT "TTFU#VOEMF #VJME $BDIJOH 6OJUZ8FC3FRVFTU "TTFU#VOEMF "TTFU#VOEMF $SFBUF3FRVFTU "TTFU#VOEMF /BNF7BSJBOU 4USFBNFE4DFOF "TTFU#VOEMF
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMF$SFBUF3FRVFTU w"TTFU#VOEMFΛ ϩʔυ͢Δࡍͷ"TZOD0QFSBUJPO wAssetBundle.LoadFromFileAsync() AssetBundle.LoadFromMemoryAsync() ͳͲͷΓ
w6OJUZ8FC3FRVFTUΛ͏߹ొ͠ͳ͍
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ "TTFU#VOEMF .BOJGFTU "TTFU#VOEMF "TTFU#VOEMF 3FRVFTU #VJME1JQFMJOF
#VJME"TTFU#VOEMFT "TTFU#VOEMF #VJME $BDIJOH 6OJUZ8FC3FRVFTU "TTFU#VOEMF "TTFU#VOEMF $SFBUF3FRVFTU "TTFU#VOEMF /BNF7BSJBOU 4USFBNFE4DFOF "TTFU#VOEMF
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMF3FRVFTU w"TTFU#VOEMF͔Β"TTFUΛ ϩʔυ͢Δࡍͷ"TZOD0QFSBUJPO wAssetBundle.LoadAssetAsync<T>() ͳͲͷΓ
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ "TTFU#VOEMF .BOJGFTU "TTFU#VOEMF "TTFU#VOEMF 3FRVFTU #VJME1JQFMJOF
#VJME"TTFU#VOEMFT "TTFU#VOEMF #VJME $BDIJOH 6OJUZ8FC3FRVFTU "TTFU#VOEMF "TTFU#VOEMF $SFBUF3FRVFTU "TTFU#VOEMF /BNF7BSJBOU 4USFBNFE4DFOF "TTFU#VOEMF
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w$BDIJOH w6OJUZ8FC3FRVFTU"TTFU#VOEMF ܦ༝Ͱऔಘͨ͠߹ɺϤγφʹΩϟογϡ ͯ͘͠ΕΔ w"TTFU'JMF)BTIΛΓऔΓ͢Δ͜ͱͰ Ωϟογϡ༗ແͷ֬ೝݸผͷআ͕Մೳ
ʹͳΔ
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w$BDIJOH wY͔Β Caching.IsVersionCachedͳͲͷ Ұ෦ͷϝιου͕0CTPMFUFʹ wCaching.GetCachedVersions()Λ ͍·͠ΐ͏
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ "TTFU#VOEMF .BOJGFTU "TTFU#VOEMF "TTFU#VOEMF 3FRVFTU #VJME1JQFMJOF
#VJME"TTFU#VOEMFT "TTFU#VOEMF #VJME $BDIJOH 6OJUZ8FC3FRVFTU "TTFU#VOEMF "TTFU#VOEMF $SFBUF3FRVFTU "TTFU#VOEMF /BNF7BSJBOU 4USFBNFE4DFOF "TTFU#VOEMF
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w#VJME1JQFMJOF#VJME"TTFU#VOEMFT w"TTFU#VOEMF"TTFU#VOEMF .BOJGFTUΛߏங wBuildPipeline.BuildAssetBundles()ͷ Γ"TTFU#VOEMF.BOJGFTU
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ "TTFU#VOEMF .BOJGFTU "TTFU#VOEMF "TTFU#VOEMF 3FRVFTU #VJME1JQFMJOF
#VJME"TTFU#VOEMFT "TTFU#VOEMF #VJME $BDIJOH 6OJUZ8FC3FRVFTU "TTFU#VOEMF "TTFU#VOEMF $SFBUF3FRVFTU "TTFU#VOEMF /BNF7BSJBOU 4USFBNFE4DFOF "TTFU#VOEMF
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMF#VJME w*OTQFDUPSΛհͣ͞ʹ"TTFU#VOEMF ͷϏϧυใΛߏங͢ΔͨΊͷߏମ wύε7BSJBOUͳͲΛࡉ੍͔͘ޚ͍ͨ͠ ߹ʹίϨΛ༻͍Δ
"TTFU#VOEMFͷߏཁૉ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMF#VJME wBuildPipeline.BuildAssetBundles() ʹΦʔόʔϩʔυ͕͋Δ
"TTFU#VOEMF%FQFOEFODZ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMFͷ"TTFU·ͨ "TTFU#VOEMFͰ͋Δঢ়ଶΛґଘͱ ݺͿ
"TTFU#VOEMF%FQFOEFODZ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMFϏϧυ࣌ʹ6OJUZ͕ ϤγφʹґଘใΛऩू w"TTFU#VOEMF.BOJGFTUʹه wґଘݩ"TTFUΛ-PBE͢Δલʹ ґଘઌ"TTFUΛશͯ-PBE͢Δඞཁ͋Γ
"TTFU#VOEMF%FQFOEFODZ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ wదʹઃఆ͠ͳ͍ͱ"TTFUίϐʔ ͕ى͖Δ wৄ͘͠ςϥγϡʔϧϒϩά͞· IUUQUTVCBLJUIBUFCMPKQFOUSZ
"TTFU#VOEMF%FQFOEFODZ "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ %FNP
w-5֓ཁ w"TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMFӡ༻ࣄྫհ w·ͱΊ wࣗݾհ ΞδΣϯμ ΠϚίί
"TTFU#VOEMFͷӡ༻ࣄྫ
w"QQ4UPSF(PPHMF1MBZʹͯ ৴தͷࢠͲ͚৬ۀମݧΞϓϦ wສ%-݄ؒϓϨΠ ສճ wύϏϦΦϯͱݺΕΔ࣮ࡏاۀͷ ͓ࣄΛମݧͰ͖ΔϛχήʔϜू w݄࣌ͰݸͷύϏϦΦϯ ͬ͜͝ϥϯυʹ͍ͭͯ
"TTFU#VOEMFͷӡ༻ࣄྫ
w֤ύϏϦΦϯΛݸผͷ6OJUZϓϩδΣΫτ ͱͯ͠։ൃ wϏϧυαʔόͰ$εΫϦϓτΛϚʔδ ͯ͠1MBZFSϏϧυ w4DFOFΛؚΉશ"TTFU "TTFU#VOEMFʹͯఏڙ ͬ͜͝ϥϯυʹ͍ͭͯ "TTFU#VOEMFͷӡ༻ࣄྫ
w"TTFU#VOEMF֤ύϏϦΦϯͷ6OJUZ ϓϩδΣΫτଆͰϏϧυ wϓϩδΣΫτؒͰڞ༗͢ΔϥΠϒϥϦ OQNͰఏڙʢ(JU)VC͔Βऔಘʣ w(6*%Λڞ༗ wϓϩδΣΫτͦͷͷOQNͰ৴ ͬ͜͝ϥϯυʹ͍ͭͯ "TTFU#VOEMFͷӡ༻ࣄྫ
ͬ͜͝ϥϯυʹ͍ͭͯ "TTFU#VOEMFͷӡ༻ࣄྫ
w4USFBNFE4DFOF"TTFU#VOEMF Λϑϧ׆༻ wߋ৽සʹԠͯ͡4DSJQUBCMF0CKFDU ͳͲΛݸผʹ"TTFU#VOEMFԽ w"TTFU#VOEMF.BOJGFTUͦͷͷ ಈతߋ৽ͷରʹ "TTFU#VOEMFઓུ "TTFU#VOEMFͷӡ༻ࣄྫ
wΞοϓϩʔυઌ4UBHJOHͱ 1SPEVDUJPOΛ͚ͯ࡞ wσϓϩΠ༻ͷ+FOLJOT+PCΛ࡞ "TTFU#VOEMFઓུ "TTFU#VOEMFͷӡ༻ࣄྫ
wύϏϦΦϯ͝ͱʹσΟϨΫτϦΛׂ "TTFU#VOEMFઓུ "TTFU#VOEMFͷӡ༻ࣄྫ
wϓϥοτϑΥʔϜ͝ͱʹσΟϨΫτϦ Λׂ "TTFU#VOEMFઓུ "TTFU#VOEMFͷӡ༻ࣄྫ ˞ΤσΟλͰͷݕূ༻ʹ4UBOEBMPOF༻ҙ
w"TTFU'JMF)BTIΛϑΝΠϧ໊ʹ ͢Δ͜ͱͰෆਖ਼ͳ্ॻ͖Λ༧ "TTFU#VOEMFઓུ "TTFU#VOEMFͷӡ༻ࣄྫ
w"TTFU#VOEMF.BOJGFTUͷ όʔδϣϯ൪߸ύϏϦΦϯຖʹ 4DSJQUBCMF0CKFDUͰཧ w֤ύϏϦΦϯͷResources/ʹஔ "TTFU#VOEMFઓུ "TTFU#VOEMFͷӡ༻ࣄྫ
w 6OJUZ8FC3FRVFTUΛ6OJ3Y ରԠͨ͠ϥΠϒϥϦΛ࡞ w <(JU)VC> w IObservable<AssetBundle> "TTFU#VOEMFಡΈࠐΈ
"TTFU#VOEMFͷӡ༻ࣄྫ
w ύϏϦΦϯʹೖΔλΠϛϯάͰߋ৽νΣο ΫΛߦ͏ w 6OJUZ3FNPUF4FUUJOHTར༻ w औಘͨ͠"TTFU#VOEMF.BOJGFTU ͷόʔδϣϯΛอଘ w ΦϑϥΠϯ࣌νΣοΫΛߦΘͳ͍
"TTFU#VOEMFಡΈࠐΈ "TTFU#VOEMFͷӡ༻ࣄྫ
ಡΈࠐΈରγʔϯͷґଘΛ-PBE ಡΈࠐΈରγʔϯΛ-PBE SceneManager.LoadSceneAsync() ಡΈࠐΜͩ"TTFU#VOEMFΛ AssetBundle.Unload(false)
γʔϯಡΈࠐΈ "TTFU#VOEMFͷӡ༻ࣄྫ
w+FOLJOT͓͡͞Μ͕ଉ w1MBZFS"TTFU#VOEMFͷϏϧυΛ ୲ w4MBDL͔ΒίϚϯυ͛Δ wৄ͘͠IUUQTNPOSZIBUFOBCMPHDPN FOUSZVOJUZBEWFOUDBMFOEBS Ϗϧυαʔό "TTFU#VOEMFͷӡ༻ࣄྫ
wϓϥοτϑΥʔϜຖʹDMPOFઌΛ ͚͍ͯΔ w4XJUDI1MBUGPSNͷ࣌ؒॖ w"TTFU#VOEMFϏϧυͷྲྀΕͰ αʔόʢ4ʣʹΞοϓϩʔυ Ϗϧυαʔό "TTFU#VOEMFͷӡ༻ࣄྫ
BuildPipeline.BuildAssetBundles() ࠩϦετΞοϓ "TTFU#VOEMF.BOJGFTUΞοϓϩʔυ "TTFU#VOEMFΞοϓϩʔυ HJUQVTI
Ϗϧυαʔό "TTFU#VOEMFͷӡ༻ࣄྫ
BuildPipeline.BuildAssetBundles() ࠩϦετΞοϓ "TTFU#VOEMF.BOJGFTUΞοϓϩʔυ "TTFU#VOEMFΞοϓϩʔυ HJUQVTI
Ϗϧυαʔό "TTFU#VOEMFͷӡ༻ࣄྫ "TTFU#VOEMF/BNF ࣄલʹઃఆ͓ͯ͘͠ ग़ྗઌ #VJME"TTFU#VOEMFT\QMBUGPSN^ͳͲ
BuildPipeline.BuildAssetBundles() ࠩϦετΞοϓ "TTFU#VOEMF.BOJGFTUΞοϓϩʔυ "TTFU#VOEMFΞοϓϩʔυ HJUQVTI
Ϗϧυαʔό "TTFU#VOEMFͷӡ༻ࣄྫ HJUTUBUVTͳͲͰ มߋͷ͋ΔϞϊͷΈநग़
BuildPipeline.BuildAssetBundles() ࠩϦετΞοϓ "TTFU#VOEMF.BOJGFTUΞοϓϩʔυ "TTFU#VOEMFΞοϓϩʔυ HJUQVTI
Ϗϧυαʔό "TTFU#VOEMFͷӡ༻ࣄྫ Ϗϧυຖʹόʔδϣχϯά όʔδϣϯ൪߸ʹϦωʔϜͯ͠ Ξοϓϩʔυ
BuildPipeline.BuildAssetBundles() ࠩϦετΞοϓ "TTFU#VOEMF.BOJGFTUΞοϓϩʔυ "TTFU#VOEMFΞοϓϩʔυ HJUQVTI
Ϗϧυαʔό "TTFU#VOEMFͷӡ༻ࣄྫ "TTFU'JMF)BTIʹϦωʔϜͯ͠ Ξοϓϩʔυ
BuildPipeline.BuildAssetBundles() ࠩϦετΞοϓ "TTFU#VOEMF.BOJGFTUΞοϓϩʔυ "TTFU#VOEMFΞοϓϩʔυ HJUQVTI
Ϗϧυαʔό "TTFU#VOEMFͷӡ༻ࣄྫ ϒϥϯν࡞ͬͯ 1VMM3FRVFTU࡞Δ
w-5֓ཁ w"TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMFӡ༻ࣄྫհ w·ͱΊ wࣗݾհ ΞδΣϯμ ΠϚίί
·ͱΊ
w"TTFU#VOEMFབྷΈͷ֓೦Λ શʹཧղ͠Α͏ʂ w4USFBNFE4DFOF"TTFU#VOEMF ศརʂ w͔ͬ͠ΓϏϧυαʔόߏ͑Δͱ ޙʑָʹͳΔ ʢϝϯςେม͚ͩͲͶʜɻʣ ·ͱΊ
·ͱΊ
·ͱΊ ·ͱΊ
wຊͬͨσϞϓϩδΣΫτ w IUUQTHJUIVCDPNNPOSZ EFCVHHFS@EFNP "QQFOEJY
w-5֓ཁ w"TTFU#VOEMFʹ͍͓ͭͯ͞Β͍ w"TTFU#VOEMFӡ༻ࣄྫհ w·ͱΊ wࣗݾհ ΞδΣϯμ ΠϚίί
ࣗݾհ
8IPBN* ࣗݾհ @monry a.k.a. ΜΓ͌ઌੜ
8IPBN* ࣗݾհ w.JDSPTPGU.71 GPS%FWFMPQFS5FDIOPMPHJFT w6OJUZ"NCBTTBEPS
+PC ࣗݾհ ࢠͲ͚ΞϓϦ࡞ͬͯΔձࣾͰ $50ͬͯ·͢
13 ࣗݾհ ϚϯΨͰΘ͔Δ Unity ධ࿈ࡌதʂ
13 ࣗݾհ #ͷϥδ ύʔιφϦςΟͬͯ·͢ʂ ήετืूதʂ
5IBOLZPVGPSZPVS BUUFOUJPO