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.7k
ごっこランドをささえる技術 〜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
650
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
役立つログに取り組もう
irof
28
9.6k
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.4k
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
2
660
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
1.1k
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
190
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
880
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
580
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
1
290
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
330
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
120
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
610
Featured
See All Featured
Teambox: Starting and Learning
jrom
133
8.8k
Adopting Sorbet at Scale
ufuk
73
9.1k
Practical Orchestrator
shlominoach
186
10k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Embracing the Ebb and Flow
colly
84
4.5k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Side Projects
sachag
452
42k
Optimizing for Happiness
mojombo
376
70k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
A Philosophy of Restraint
colly
203
16k
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