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 Understood
Search
Tetsuya Mori
PRO
March 24, 2019
Programming
3
6.3k
ごっこランドをささえる技術 〜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# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
990
はじめての C# 大統一理論
monry
PRO
0
560
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
130
Unity で ARゲームを作った話
monry
PRO
0
560
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
2.6k
UniFlow 完全に理解した / I can develop UniFlow a little.
monry
PRO
0
450
Democratized Unity Package Manager
monry
PRO
1
2.4k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
930
Timeline でビジュアルプログラミング/Visual Programming uses Timeline
monry
PRO
1
760
Other Decks in Programming
See All in Programming
Native Federation: The Future of Micro Frontends in Angular
manfredsteyer
PRO
0
130
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
200
Try creating your own orderedmap
kazamori
1
260
Milestoner
bkuhlmann
1
420
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
1.1k
禅の心を手に入れよ
eltociear
1
420
Micro Frontends for Java Microservices - Utah JUG 2024
mraible
PRO
1
110
TCAとKMPを用いた新規動画配信アプリ 「ABEMA Live」の設計
tomu28
2
130
Git Rebase
bkuhlmann
11
1.6k
Webアプリをできるだけコードを手書きしないで作ってみる
tomokusaba
2
190
Let's learn code review
riofujimon
2
610
使ってみよう Azure AI Document Intelligence
kosmosebi
2
370
Featured
See All Featured
What the flash - Photography Introduction
edds
64
11k
The Cost Of JavaScript in 2023
addyosmani
21
3.9k
Web Components: a chance to create the future
zenorocha
306
41k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
The Cult of Friendly URLs
andyhume
74
5.7k
Clear Off the Table
cherdarchuk
85
310k
Build your cross-platform service in a week with App Engine
jlugia
226
17k
Facilitating Awesome Meetings
lara
43
5.6k
Optimizing for Happiness
mojombo
370
69k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
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