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.6k
ごっこランドをささえる技術 〜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
1k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.3k
はじめての C# 大統一理論
monry
PRO
0
640
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
180
Unity で ARゲームを作った話
monry
PRO
1
670
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
2.7k
UniFlow 完全に理解した / I can develop UniFlow a little.
monry
PRO
0
470
Democratized Unity Package Manager
monry
PRO
1
2.6k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
1k
Other Decks in Programming
See All in Programming
OpenTelemetryでRailsのパフォーマンス分析を始めてみよう(KoR2024)
ymtdzzz
4
1.5k
hotwire_or_react
harunatsujita
8
4.1k
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
210
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
23k
Amazon Neptuneで始めてみるグラフDB-OpenSearchによるグラフの全文検索-
satoshi256kbyte
4
330
推し活の ハイトラフィックに立ち向かう Railsとアーキテクチャ - Kaigi on Rails 2024
falcon8823
6
2.2k
CSC509 Lecture 09
javiergs
PRO
0
110
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
480
/←このスケジュール表に立ち向かう フロントエンド開発戦略 / A front-end development strategy to tackle a single-slash schedule.
nrslib
1
590
Synchronizationを支える技術
s_shimotori
1
150
CPython 인터프리터 구조 파헤치기 - PyCon Korea 24
kennethanceyer
0
240
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
0
150
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
132
8.9k
Facilitating Awesome Meetings
lara
49
6k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Designing for humans not robots
tammielis
249
25k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Visualization
eitanlees
144
15k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.9k
Writing Fast Ruby
sferik
626
61k
Fireside Chat
paigeccino
32
3k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
GitHub's CSS Performance
jonrohan
1030
460k
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