Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ごっこランドをささえる技術 〜AssetBundle 編〜/AssetBundle Fully Understood

ごっこランドをささえる技術 〜AssetBundle 編〜/AssetBundle Fully Understood

2019年3月24日に開催された「Unity AssetBundle 完全に理解した」の登壇スライドです。

Tetsuya Mori
PRO

March 24, 2019
Tweet

More Decks by Tetsuya Mori

Other Decks in Programming

Transcript

  1. גࣜձࣾΩοζελʔ$50
    ৿ɹ఩࠸
    ͬ͜͝ϥϯυΛ͑͞͞Δٕज़
    d"TTFU#VOEMFฤd
    6OJUZ"TTFU#VOEMF׬શʹཧղͨ͠BUNJYJ*OD

    View Slide

  2. ͜Μʹͪ͸ʂ


    View Slide

  3. w-5֓ཁ
    w"TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMFӡ༻ࣄྫ঺հ
    w·ͱΊ
    wࣗݾ঺հ


    ΞδΣϯμ

    View Slide

  4. w-5֓ཁ
    w"TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMFӡ༻ࣄྫ঺հ
    w·ͱΊ
    wࣗݾ঺հ


    ΞδΣϯμ
    ΠϚίί

    View Slide

  5. ࠓ೔ͷ͓࿩ͷ֓ཁ


    View Slide

  6. w͜Ε͔Βʮ"TTFU#VOEMF׬શʹཧղ
    ͢Δʯਓ
    w"TTFU#VOEMFͷӡ༻ํ๏ʹ೰Ή
    %FW0QTͳਓ
    w"EESFTTBCMF"TTFU4ZTUFN

    ʹ͍ͭͯ஌Γ͍ͨਓ


    ࠓ೔ͷର৅ऀ
    ֓ཁ
    ˰śūŢŒţ

    View Slide

  7. w"TTFU#VOEMFͷجૅ஌ࣝ
    w"TTFU#VOEMFͷӡ༻ࣄྫ


    ࠓ೔࿩͢ίτ
    ֓ཁ

    View Slide

  8. w"EESFTTBCMF"TTFU4ZTUFN
    wJ04μ΢ϯϩʔυαΠζ໌هରԠ


    ࠓ೔࿩͞ͳ͍ίτ
    ֓ཁ

    View Slide

  9. wຊ೔ͷεϥΠυ͓Αͼߨԋಈը͸
    6OJUZ-FBSOJOH.BUFSJBMTʹͯ
    ެ։༧ఆͰ͢
    w4/4΁ͷγΣΞେ׻ܴͰ͢ʂ


    ͦͷଞ
    ֓ཁ

    View Slide



  10. ͦͷଞ
    ֓ཁ

    View Slide

  11. ຊ୊


    View Slide

  12. w-5֓ཁ
    w"TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMFӡ༻ࣄྫ঺հ
    w·ͱΊ
    wࣗݾ঺հ


    ΞδΣϯμ
    ΠϚίί

    View Slide

  13. "TTFU#VOEMFʹ͍ͭͯ

    ͓͞Β͍


    View Slide



  14. "TTFU#VOEMFJTԿʁ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    "TTFU Λ #VOEMF ͨ͠΋ͷ

    View Slide



  15. "TTFU#VOEMFJTԿʁ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w6OJUZ্Ͱ*NQPSUͨ͠"TTFU

    ΛϥϯλΠϜͰಈతಡΈࠐΈ

    ͢ΔͨΊͷ࢓૊Έ
    w͍ΘΏΔμ΢ϯϩʔυίϯςϯπ

    View Slide



  16. "TTFU#VOEMFJTԿʁ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w6OJUZͱ͔ͷ࣌୅͔Βଘࡏ
    w6OJUZͰେ෯ʹػೳվળ

    View Slide



  17. Կ͕خ͍͠ͷʁ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    wϏϧυ͞Εͨ1MBZFSͷαΠζΛ

    ࡟ݮͰ͖Δ
    1MBUGPSN 4J[F
    "QQ4UPSF .#
    (PPHMF1MBZ .#
    ˞ϓϥοτϑΥʔϜຖͷόΠφϦαΠζ੍ݶ

    View Slide



  18. Կ͕خ͍͠ͷʁ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w1MBZFSΛϏϧυ͢Δ͜ͱͳ͘

    "TTFUΛߋ৽Ͱ͖Δ
    wͨͩ͠ɺ$εΫϦϓτ͸ߋ৽ෆՄ

    View Slide



  19. "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

    View Slide



  20. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMF
    w-;ͳͲͷΞϧΰϦζϜΛ༻͍ͯ

    "TTFUΛݻΊͨόΠφϦϑΝΠϧ
    •UnityEngine.AssetBundleΛ

    ༻͍ͯ"TTFUΛऔΓग़͢

    View Slide



  21. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMF
    w"TTFUΛϋογϡԽͨ͠

    "TTFU'JMF)BTIΛ࣋ͭ
    wΫϥεߏ଄ΛϋογϡԽͨ͠

    5ZQF5SFF)BTIͬͯͷ΋͋Δ

    View Slide



  22. "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

    View Slide



  23. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w4USFBNFE4DFOF"TTFU#VOEMF
    w4DFOFࣗମΛ"TTFU#VOEMFͱ
    ͯ͠ݻΊͨϞϊ
    wجຊతʹ͸௨ৗͷ"TTFU#VOEMF
    ͱಉ͡

    View Slide



  24. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w4USFBNFE4DFOF"TTFU#VOEMF
    w"TTFU#VOEMF͕-PBE͞ΕΔͱ
    4DFOF.BOBHFS͔ΒΞΫηεՄ
    ೳʹͳΔ
    wґଘ"TTFU#VOEMF͕͋Δ৔߹ɺ
    ࣄલʹ-PBE͓ͯ͘͠ඞཁ͕͋Δ

    View Slide



  25. "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

    View Slide



  26. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMF/BNF
    w"TTFU#VOEMFͷ໊લ
    w*OTQFDUPSͰઃఆ͢Δ
    wޙड़ͷ"TTFU#VOEMF#VJMEͰ
    ઃఆ͢Δίτ΋Մೳ

    View Slide



  27. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMF/BNF
    w"TTFU#VOEMFϏϧυ࣌ʹ͜ͷ஋͕

    ͦͷ··ύεͱͯ͠ར༻͞ΕΔ
    w֦ுࢠ͸.unity3dͱ͔͕ଟ͍ʁ
    w/ͰσΟϨΫτϦ۠੾Γ΋Մೳ

    View Slide



  28. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMF7BSJBOU
    w4%)%੾ସ΍-PDBMJ[BUJPOʹ༻͍Δ
    w"EESFTTBCMF͕αϙʔτͯ͠

    ͘Εͳ͍Β͍͠ͷͰݪଇඇਪ঑
    wࢀߟIUUQTRJJUBDPNLB
    JUFNTDFCFB

    View Slide



  29. "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

    View Slide



  30. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMF.BOJGFTU
    w"TTFU#VOEMFͷ໨࿥
    wϏϧυ୯Ґʹੜ੒͞ΕΔ
    w)BTI΍ґଘؔ܎Λ؅ཧ
    wαΠζ৘ใ͸࣋ͨͳ͍

    View Slide



  31. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMF.BOJGFTU
    w)BTI஋΍ґଘؔ܎ͳͲΛ

    ໰͍߹ΘͤΔࡍʹ͸

    "TTFU#VOEMF/BNFΛ༻͍Δ

    View Slide



  32. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMF.BOJGFTU
    w*.manifestతͳ:".-ϑΝΠϧ
    ͸ผϞϊ
    wϏϧυ࣌ͷࠩ෼ݕग़ͷͨΊʹ

    ࢖͍ͬͯΔͬΆ͍ʁ

    View Slide



  33. "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

    View Slide



  34. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w6OJUZ8FC3FRVFTU"TTFU#VOEMF
    w"TTFU#VOEMFΛΠϯλʔωοπ

    ͔Βऔಘ͢Δ
    wfile://ͰϩʔΧϧ͔Β΋औಘՄೳ

    View Slide



  35. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w6OJUZ8FC3FRVFTU"TTFU#VOEMF
    w%PXOMPBE)BOEMFS"TTFU#VOEMF
    Λ௨͢͜ͱͰॲཧਐḿͳͲΛ؅ཧ͢Δ

    View Slide



  36. "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

    View Slide



  37. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMF$SFBUF3FRVFTU
    w"TTFU#VOEMFΛ

    ϩʔυ͢Δࡍͷ"TZOD0QFSBUJPO
    wAssetBundle.LoadFromFileAsync()

    AssetBundle.LoadFromMemoryAsync()

    ͳͲͷ໭Γ஋
    w6OJUZ8FC3FRVFTUΛ࢖͏৔߹͸ొ৔͠ͳ͍

    View Slide



  38. "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

    View Slide



  39. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMF3FRVFTU
    w"TTFU#VOEMF͔Β"TTFUΛ

    ϩʔυ͢Δࡍͷ"TZOD0QFSBUJPO
    wAssetBundle.LoadAssetAsync()

    ͳͲͷ໭Γ஋

    View Slide



  40. "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

    View Slide



  41. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w$BDIJOH
    w6OJUZ8FC3FRVFTU"TTFU#VOEMF

    ܦ༝Ͱऔಘͨ͠৔߹ɺϤγφʹΩϟογϡ
    ͯ͘͠ΕΔ
    w"TTFU'JMF)BTIΛ΍ΓऔΓ͢Δ͜ͱͰ
    Ωϟογϡ༗ແͷ֬ೝ΍ݸผͷ࡟আ͕Մೳ
    ʹͳΔ

    View Slide



  42. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w$BDIJOH
    wY͔Β
    Caching.IsVersionCachedͳͲͷ
    Ұ෦ͷϝιου͕0CTPMFUFʹ
    wCaching.GetCachedVersions()Λ
    ࢖͍·͠ΐ͏

    View Slide



  43. "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

    View Slide



  44. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w#VJME1JQFMJOF#VJME"TTFU#VOEMFT
    w"TTFU#VOEMF΍"TTFU#VOEMF
    .BOJGFTUΛߏங
    wBuildPipeline.BuildAssetBundles()ͷ
    ໭Γ஋͸"TTFU#VOEMF.BOJGFTU

    View Slide



  45. "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

    View Slide



  46. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMF#VJME
    w*OTQFDUPSΛհͣ͞ʹ"TTFU#VOEMF
    ͷϏϧυ৘ใΛߏங͢ΔͨΊͷߏ଄ମ
    wύε΍7BSJBOUͳͲΛࡉ੍͔͘ޚ͍ͨ͠
    ৔߹ʹ͸ίϨΛ༻͍Δ

    View Slide



  47. "TTFU#VOEMFͷߏ੒ཁૉ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMF#VJME
    wBuildPipeline.BuildAssetBundles()
    ʹΦʔόʔϩʔυ͕͋Δ

    View Slide



  48. "TTFU#VOEMF%FQFOEFODZ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMF಺ͷ"TTFU΋·ͨ
    "TTFU#VOEMFͰ͋Δঢ়ଶΛґଘͱ
    ݺͿ

    View Slide



  49. "TTFU#VOEMF%FQFOEFODZ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMFϏϧυ࣌ʹ6OJUZ͕

    Ϥγφʹґଘ৘ใΛऩू
    w"TTFU#VOEMF.BOJGFTUʹه࿥
    wґଘݩ"TTFUΛ-PBE͢Δલʹ

    ґଘઌ"TTFUΛશͯ-PBE͢Δඞཁ͋Γ

    View Slide



  50. "TTFU#VOEMF%FQFOEFODZ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    wద੾ʹઃఆ͠ͳ͍ͱ"TTFUίϐʔ

    ໰୊͕ى͖Δ
    wৄ͘͠͸๭ςϥγϡʔϧϒϩά͞·

    IUUQUTVCBLJUIBUFCMPKQFOUSZ

    View Slide



  51. "TTFU#VOEMF%FQFOEFODZ
    "TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    %FNP

    View Slide

  52. w-5֓ཁ
    w"TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMFӡ༻ࣄྫ঺հ
    w·ͱΊ
    wࣗݾ঺հ


    ΞδΣϯμ
    ΠϚίί

    View Slide

  53. "TTFU#VOEMFͷӡ༻ࣄྫ


    View Slide

  54. w"QQ4UPSF(PPHMF1MBZʹͯ

    ഑৴தͷࢠͲ΋޲͚৬ۀମݧΞϓϦ
    wສ%-݄ؒϓϨΠ ສճ
    wύϏϦΦϯͱݺ͹ΕΔ࣮ࡏاۀͷ

    ͓࢓ࣄΛମݧͰ͖ΔϛχήʔϜू
    w೥݄຤࣌఺ͰݸͷύϏϦΦϯ


    ͬ͜͝ϥϯυʹ͍ͭͯ
    "TTFU#VOEMFͷӡ༻ࣄྫ

    View Slide

  55. w֤ύϏϦΦϯΛݸผͷ6OJUZϓϩδΣΫτ
    ͱͯ͠։ൃ
    wϏϧυαʔόͰ$εΫϦϓτΛϚʔδ

    ͯ͠1MBZFSϏϧυ
    w4DFOFΛؚΉશ"TTFU͸
    "TTFU#VOEMFʹͯఏڙ


    ͬ͜͝ϥϯυʹ͍ͭͯ
    "TTFU#VOEMFͷӡ༻ࣄྫ

    View Slide

  56. w"TTFU#VOEMF͸֤ύϏϦΦϯͷ6OJUZ
    ϓϩδΣΫτଆͰϏϧυ
    wϓϩδΣΫτؒͰڞ༗͢ΔϥΠϒϥϦ͸

    OQNͰఏڙʢ(JU)VC͔Βऔಘʣ
    w(6*%Λڞ༗
    wϓϩδΣΫτͦͷ΋ͷ΋OQNͰ഑৴


    ͬ͜͝ϥϯυʹ͍ͭͯ
    "TTFU#VOEMFͷӡ༻ࣄྫ

    View Slide



  57. ͬ͜͝ϥϯυʹ͍ͭͯ
    "TTFU#VOEMFͷӡ༻ࣄྫ

    View Slide

  58. w4USFBNFE4DFOF"TTFU#VOEMF
    Λϑϧ׆༻
    wߋ৽ස౓ʹԠͯ͡4DSJQUBCMF0CKFDU
    ͳͲΛݸผʹ"TTFU#VOEMFԽ
    w"TTFU#VOEMF.BOJGFTUͦͷ΋ͷ΋
    ಈతߋ৽ͷର৅ʹ


    "TTFU#VOEMFઓུ
    "TTFU#VOEMFͷӡ༻ࣄྫ

    View Slide

  59. wΞοϓϩʔυઌ͸4UBHJOHͱ
    1SPEVDUJPOΛ෼͚ͯ࡞੒
    wσϓϩΠ༻ͷ+FOLJOT+PCΛ࡞੒


    "TTFU#VOEMFઓུ
    "TTFU#VOEMFͷӡ༻ࣄྫ

    View Slide

  60. wύϏϦΦϯ͝ͱʹσΟϨΫτϦΛ෼ׂ


    "TTFU#VOEMFઓུ
    "TTFU#VOEMFͷӡ༻ࣄྫ

    View Slide

  61. wϓϥοτϑΥʔϜ͝ͱʹσΟϨΫτϦ
    Λ෼ׂ


    "TTFU#VOEMFઓུ
    "TTFU#VOEMFͷӡ༻ࣄྫ
    ˞ΤσΟλͰͷݕূ༻ʹ4UBOEBMPOF΋༻ҙ

    View Slide

  62. w"TTFU'JMF)BTIΛϑΝΠϧ໊ʹ
    ͢Δ͜ͱͰෆਖ਼ͳ্ॻ͖Λ༧๷


    "TTFU#VOEMFઓུ
    "TTFU#VOEMFͷӡ༻ࣄྫ

    View Slide

  63. w"TTFU#VOEMF.BOJGFTUͷ

    όʔδϣϯ൪߸͸ύϏϦΦϯຖʹ

    4DSJQUBCMF0CKFDUͰ؅ཧ
    w֤ύϏϦΦϯͷResources/ʹ഑ஔ


    "TTFU#VOEMFઓུ
    "TTFU#VOEMFͷӡ༻ࣄྫ

    View Slide

  64. w 6OJUZ8FC3FRVFTUΛ6OJ3Y
    ରԠͨ͠ϥΠϒϥϦΛ࡞੒
    w <(JU)VC>
    w IObservable


    "TTFU#VOEMFಡΈࠐΈ
    "TTFU#VOEMFͷӡ༻ࣄྫ

    View Slide

  65. w ύϏϦΦϯʹೖΔλΠϛϯάͰߋ৽νΣο
    ΫΛߦ͏
    w 6OJUZ3FNPUF4FUUJOHT΋ར༻
    w औಘͨ͠"TTFU#VOEMF.BOJGFTU
    ͷόʔδϣϯΛอଘ
    w ΦϑϥΠϯ࣌͸νΣοΫΛߦΘͳ͍


    "TTFU#VOEMFಡΈࠐΈ
    "TTFU#VOEMFͷӡ༻ࣄྫ

    View Slide

  66. ಡΈࠐΈର৅γʔϯͷґଘΛ-PBE
    ಡΈࠐΈର৅γʔϯΛ-PBE
    SceneManager.LoadSceneAsync()
    ಡΈࠐΜͩ"TTFU#VOEMFΛ
    AssetBundle.Unload(false)


    γʔϯಡΈࠐΈ
    "TTFU#VOEMFͷӡ༻ࣄྫ

    View Slide

  67. w+FOLJOT͓͡͞Μ͕੗ଉ
    w1MBZFS"TTFU#VOEMFͷϏϧυΛ
    ୲౰
    w4MBDL͔ΒίϚϯυ౤͛Δ
    wৄ͘͠͸IUUQTNPOSZIBUFOBCMPHDPN
    FOUSZVOJUZBEWFOUDBMFOEBS


    Ϗϧυαʔό
    "TTFU#VOEMFͷӡ༻ࣄྫ

    View Slide

  68. wϓϥοτϑΥʔϜຖʹDMPOFઌΛ

    ෼͚͍ͯΔ
    w4XJUDI1MBUGPSNͷ࣌ؒ୹ॖ
    w"TTFU#VOEMFϏϧυͷྲྀΕͰ

    αʔόʢ4ʣʹ΋Ξοϓϩʔυ


    Ϗϧυαʔό
    "TTFU#VOEMFͷӡ༻ࣄྫ

    View Slide

  69. BuildPipeline.BuildAssetBundles()
    ࠩ෼ϦετΞοϓ
    "TTFU#VOEMF.BOJGFTUΞοϓϩʔυ
    "TTFU#VOEMFΞοϓϩʔυ
    HJUQVTI


    Ϗϧυαʔό
    "TTFU#VOEMFͷӡ༻ࣄྫ

    View Slide

  70. BuildPipeline.BuildAssetBundles()
    ࠩ෼ϦετΞοϓ
    "TTFU#VOEMF.BOJGFTUΞοϓϩʔυ
    "TTFU#VOEMFΞοϓϩʔυ
    HJUQVTI


    Ϗϧυαʔό
    "TTFU#VOEMFͷӡ༻ࣄྫ
    "TTFU#VOEMF/BNF͸
    ࣄલʹઃఆ͓ͯ͘͠
    ग़ྗઌ͸
    #VJME"TTFU#VOEMFT\QMBUGPSN^ͳͲ

    View Slide

  71. BuildPipeline.BuildAssetBundles()
    ࠩ෼ϦετΞοϓ
    "TTFU#VOEMF.BOJGFTUΞοϓϩʔυ
    "TTFU#VOEMFΞοϓϩʔυ
    HJUQVTI


    Ϗϧυαʔό
    "TTFU#VOEMFͷӡ༻ࣄྫ
    HJUTUBUVTͳͲͰ
    มߋͷ͋ΔϞϊͷΈநग़

    View Slide

  72. BuildPipeline.BuildAssetBundles()
    ࠩ෼ϦετΞοϓ
    "TTFU#VOEMF.BOJGFTUΞοϓϩʔυ
    "TTFU#VOEMFΞοϓϩʔυ
    HJUQVTI


    Ϗϧυαʔό
    "TTFU#VOEMFͷӡ༻ࣄྫ
    Ϗϧυຖʹόʔδϣχϯά
    όʔδϣϯ൪߸ʹϦωʔϜͯ͠
    Ξοϓϩʔυ

    View Slide

  73. BuildPipeline.BuildAssetBundles()
    ࠩ෼ϦετΞοϓ
    "TTFU#VOEMF.BOJGFTUΞοϓϩʔυ
    "TTFU#VOEMFΞοϓϩʔυ
    HJUQVTI


    Ϗϧυαʔό
    "TTFU#VOEMFͷӡ༻ࣄྫ
    "TTFU'JMF)BTIʹϦωʔϜͯ͠
    Ξοϓϩʔυ

    View Slide

  74. BuildPipeline.BuildAssetBundles()
    ࠩ෼ϦετΞοϓ
    "TTFU#VOEMF.BOJGFTUΞοϓϩʔυ
    "TTFU#VOEMFΞοϓϩʔυ
    HJUQVTI


    Ϗϧυαʔό
    "TTFU#VOEMFͷӡ༻ࣄྫ
    ϒϥϯν࡞ͬͯ
    1VMM3FRVFTU΋࡞Δ

    View Slide

  75. w-5֓ཁ
    w"TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMFӡ༻ࣄྫ঺հ
    w·ͱΊ
    wࣗݾ঺հ


    ΞδΣϯμ
    ΠϚίί

    View Slide

  76. ·ͱΊ


    View Slide

  77. w"TTFU#VOEMFབྷΈͷ֓೦Λ

    ׬શʹཧղ͠Α͏ʂ
    w4USFBNFE4DFOF"TTFU#VOEMF
    ศརʂ
    w͔ͬ͠ΓϏϧυαʔόߏ͑Δͱ

    ޙʑָʹͳΔ
    ʢϝϯςେม͚ͩͲͶʜɻʣ


    ·ͱΊ
    ·ͱΊ

    View Slide



  78. ·ͱΊ
    ·ͱΊ

    View Slide

  79. wຊ೔࢖ͬͨσϞϓϩδΣΫτ
    w IUUQTHJUIVCDPNNPOSZ
    EFCVHHFS@EFNP


    "QQFOEJY

    View Slide

  80. w-5֓ཁ
    w"TTFU#VOEMFʹ͍͓ͭͯ͞Β͍
    w"TTFU#VOEMFӡ༻ࣄྫ঺հ
    w·ͱΊ
    wࣗݾ঺հ


    ΞδΣϯμ
    ΠϚίί

    View Slide

  81. ࣗݾ঺հ


    View Slide



  82. 8IPBN*
    ࣗݾ঺հ
    @monry
    a.k.a. ΋ΜΓ͌ઌੜ

    View Slide



  83. 8IPBN*
    ࣗݾ঺հ
    w.JDSPTPGU.71

    GPS%FWFMPQFS5FDIOPMPHJFT
    w6OJUZ"NCBTTBEPS

    View Slide



  84. +PC
    ࣗݾ঺հ
    ࢠͲ΋޲͚ΞϓϦ࡞ͬͯΔձࣾͰ
    $50΍ͬͯ·͢

    View Slide



  85. 13
    ࣗݾ঺հ
    ϚϯΨͰΘ͔Δ Unity ޷ධ࿈ࡌதʂ

    View Slide



  86. 13
    ࣗݾ঺հ
    #΋ͷϥδ ύʔιφϦςΟ΍ͬͯ·͢ʂ
    ήετืूதʂ

    View Slide

  87. 5IBOLZPVGPSZPVS
    BUUFOUJPO


    View Slide