Slide 1

Slide 1 text

Unity ͓ɾͱɾͳͷLTେձ 2019 SpriteAtlasͷམͱ݀͠

Slide 2

Slide 2 text

·ͣ͸͓͞Β͍ ATLASͬͯͳΜ͚ͩͬʁ ɾAtlas(஍ਤா) 
 ɹෳ਺ը૾ΛύοΫͯ͠Ұͭͷը૾ʹͨ͠΋ͷ

Slide 3

Slide 3 text

·ͣ͸͓͞Β͍ UNITY ʹ͓͚ΔATLAS ɾUnity2017 ͔ΒSpriteAtlas͕ಋೖ͞Εͨ
 ɹ(SpritePacker ͳΜͯແ͔ͬͨɻ͍͍Ͷʁ) ɾNGUI, TexturePacker ౳ͷ֎෦Ξηοτʹ
 ɹཔΒͳͯ͘΋ྑ͘ͳͬͨ

Slide 4

Slide 4 text

མͱ݀͠ ࣮ࡍʹ࢖ͬͯΈͯ (΍ͬͺΓ) མͱ͕݀͋ͬͨ͠ 1. SpriteAtlasManager ͷΠϕϯτొ࿥λΠϛϯά 2. SpriteAtlasͷReleaseλΠϛϯά 3. Profiler ͷදࣔ৘ใ 4. ੩తͳUIͰͷར༻ํ๏ 5. ςΫενϟαΠζ͕ഒ

Slide 5

Slide 5 text

མͱ݀͠Ϧετ 1. SpriteAtlasManager ͷΠϕϯτొ࿥λΠϛϯά 2. SpriteAtlasͷReleaseλΠϛϯά 3. Profiler ͷදࣔ৘ใ 4. ੩తͳUIͰͷར༻ํ๏ 5. ςΫενϟαΠζ͕ഒ

Slide 6

Slide 6 text

SPRITEATLASMANAGER ͷΠϕϯτొ࿥λΠϛϯά Awake౳ͰίʔϧόοΫΛొ࿥ 1. ىಈSceneͰSpriteAtlasΛ༻͍Δ 2. Scene ϩʔυ࣌ʹSpriteAtlasManager.
 atlasRequested͕ݺ͹ΕΔ 3. Awake ͕૸Δ SpriteAtlasͷϩʔυॲཧ͕૸Βͳ͍

Slide 7

Slide 7 text

SPRITEATLASMANAGER ͷΠϕϯτొ࿥λΠϛϯά ղܾํ๏ 1. ͦ΋ͦ΋BootSceneͱ͔ʹUIΛஔ͔ͳ͍ 2. BootSceneͷલʹPreBootSceneతͳ΋ͷΛ༻ҙ 3. [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
 ଐੑΛ͚ͭͨϝιουΛ༻ҙͯͦ͜͠ͰίʔϧόοΫΛొ࿥
 
 ͨͩ͠ɺ্هଐੑΛ͚ͭͯϝιου͸Sceneʹ͋Δͳ͍ؔΘΒͣ
 ίʔϧ͞ΕΔͷͰ஫ҙ

Slide 8

Slide 8 text

མͱ݀͠Ϧετ 1. SpriteAtlasManager ͷΠϕϯτొ࿥λΠϛϯά 2. SpriteAtlasͷReleaseλΠϛϯά 3. Profiler ͷදࣔ৘ใ 4. ੩తͳUIͰͷར༻ํ๏ 5. ςΫενϟαΠζ͕ഒ

Slide 9

Slide 9 text

SPRITEATLASͷRELEASEλΠϛϯά ‣ ͋ΔSpriteAtlas ͷඞཁλΠϛϯά͸SpriteAtlasManager.atlasRequested ͰΘ͔Δ ‣ ͋ΔSpriteAtlas͕ෆཁʹͳΔλΠϛϯά͸ෆ໌ ‣ ΞϓϦ಺ʹؚΉϦιʔεͷ৔߹͸
 Resources.UnloadUnsedAssetsͰղ์Մೳ ‣ AssetBundle, Addressables ͷ৔߹͸…

Slide 10

Slide 10 text

SPRITEATLASͷRELEASEλΠϛϯά ‣ AssetBundle, Addressablesͷ৔߹͸ࣗલͰϦιʔεղ์Λ͠ͳ͍ͱNG 1. Atlasొ࿥λΠϛϯάͰࣗલͰ؅ཧ 2. Scene੾Γସ͑࣌ʹUnloadΛݺͿ

Slide 11

Slide 11 text

མͱ݀͠Ϧετ 1. SpriteAtlasManager ͷΠϕϯτొ࿥λΠϛϯά 2. SpriteAtlasͷReleaseλΠϛϯά 3. Profiler ͷදࣔ৘ใ 4. ੩తͳUIͰͷར༻ํ๏ 5. ςΫενϟαΠζ͕ഒ

Slide 12

Slide 12 text

PROFILER ͷදࣔ৘ใ Α͠ProfilerͰϝϞϦঢ়گݟͯΈΔ͔

Slide 13

Slide 13 text

PROFILER ͷදࣔ৘ใ ͑ʁ॥؀ࢀরͯ͠ΔΜ͚ͩͲʁ

Slide 14

Slide 14 text

PROFILER ͷදࣔ৘ใ ͔ͬͯΦϒδΣΫτશ෦Destroyͯ͠
 UnloadUnusedAssetݺΜͰ΋࢒ͬͯΔ

Slide 15

Slide 15 text

PROFILER ͷදࣔ৘ใ ެࣜʹ໰͍߹Θͤͨ ʻ͜Εόάʁ ҙਤత΍Ͱʼ https://docs.unity3d.com/Manual/ProfilerMemory.html ϚχϡΞϧʹ΋࣮ػͱEditor͸
 ҧ͏ͬͯॻ͍ͯΔͬ͠ΐʁ ͏ΜɻΘ͔ͬͨɻ
 ( … ͍΍͜Ε௚ͯ͠Α)

Slide 16

Slide 16 text

PROFILER ͷදࣔ৘ใ ิ଍ɿ ࣮ػͰ͸Resourcesݺͼग़͠ͷ৔߹͸
 UnloadUnsedAssetͰͪΌΜͱϝϞϦ͔Βফ͑Δ໛༷ ͋͘·Ͱ΋Editor࠶ੜ࣌ͷڍಈͷ໰୊

Slide 17

Slide 17 text

མͱ݀͠Ϧετ 1. SpriteAtlasManager ͷΠϕϯτొ࿥λΠϛϯά 2. SpriteAtlasͷReleaseλΠϛϯά 3. Profiler ͷදࣔ৘ใ 4. ੩తͳUIͰͷར༻ํ๏ 5. ςΫενϟαΠζ͕ഒ

Slide 18

Slide 18 text

੩తͳUIͰͷར༻ํ๏ AtlasΛηοτͯ͠NGUIͱ͔Έ͍ͨʹ
 Popup ͰSpriteΛબͼ͍ͨͳ͊ AtlasΛઃఆͰ͖ΔImageΛ֦ுͨ͠
 ಠࣗΫϥε࡞ͬͯEditor֦ு͢Δ͔ (Clone) ͍ͬͯͭͯΔ͚ͲઃఆͰ͖ͨΘ

Slide 19

Slide 19 text

੩తͳUIͰͷར༻ํ๏ UnityΛ࠶ىಈͯ͠ΈΔ ͳΜ͔Ͱͨ Ϗϧυͯ͠ΈΔ Unity2017: ϏϧυΤϥʔ+SceneͷอଘෆՄ Unity2019: Ϗϧυ͸௨Δ͕SceneͷอଘෆՄ

Slide 20

Slide 20 text

੩తͳUIͰͷར༻ํ๏ ͦ΋ͦ΋࢖͍ํ͕ҧ͏!! SpriteAtlasͷڍಈ͸ 1. ίϯϙʔωϯτʹAtlasΛઃఆ͠ͳͯ΋ྑ͍ 2. ैདྷ௨ΓImageʹAtlasʹొ࿥ͨ͠SpriteຊମΛී௨ʹઃఆͯ͠OK 3. Play࣌/Build࣌ʹ2. ͷSprite͕SpriteAtlasͷࢀরʹஔ͖׵ΘΔ Atlas Λొ࿥͢΂͖࣌ɿ
 ϥϯλΠϜͰAtlasΛࢀরͯ͠ಈతʹ੾Γସ͍͑ͨ৔߹

Slide 21

Slide 21 text

མͱ݀͠Ϧετ 1. SpriteAtlasManager ͷΠϕϯτొ࿥λΠϛϯά 2. SpriteAtlasͷReleaseλΠϛϯά 3. Profiler ͷදࣔ৘ใ 4. ੩తͳUIͰͷར༻ํ๏ 5. ςΫενϟαΠζ͕ഒ

Slide 22

Slide 22 text

ςΫενϟαΠζ͕ഒ SpriteAtlas ͱొ࿥ͨ͠ςΫενϟΛResourcesҎԼʹஔ͍ͨ ྆ํͱ΋ΞϓϦʹؚ·ΕͯςΫενϟαΠζ͕ഒ

Slide 23

Slide 23 text

ςΫενϟαΠζ͕ഒ ৔ॴΛ෼͚ͯͪΌΜͱ؅ཧ͠Α͏ AssetBundle ΍Addressables͸෼͚͓ͯ͘ ※Include in Build ͷνΣοΫ΋֎͢͜ͱ ΞϓϦʹؚΉAtlas͸ResourcesҎԼʹ Atlasʹొ࿥͢Δը૾͸
 Resouces ҎԼʹஔ͔ͳ͍!!

Slide 24

Slide 24 text

࠷ޙʹ ·ͱΊ ɾམͱ݀͠Λཧղ͢Ε͹ۀ຿Ͱ΋ར༻Մೳ
 ɹɾAssetBundle/Addressables Ͱͷར༻΋Մೳ ɾམͱ݀͠ʹҾ͔͔ͬΔͱ࠷ѱϏϧυ͢Βग़དྷͳ͘ͳΔ ɾ༻๏ɺ༻ྔ͸ਖ਼͘͠࢖͍·͠ΐ͏