Unity - Kézi rakodás források valós időben

Bizonyos esetekben hasznos lehet létrehozni Asset a projekt rendelkezésére álló letöltés nélkül, mint egy része a jelenetet. Például, lehet, hogy egy karakter vagy más objektum, amely bárhol lehet a játék, de a csak alkalmanként használja (ez lehet egy „titkos” funkció, hiba vagy figyelmeztető üzenet a számla rekord). Ezen felül, akkor is letölthető egy erőforrást egy fájl vagy URL-en keresztül, csökkenti a kezdeti letöltés vagy hozzá, hogy a projekt cserélhető tartalmat.

Unity az erőforrás-mappát a projekt (mappa neve Resources), a fejlesztő növelheti az összeszerelés tartalom nem lesz betöltve előtt szüksége lesz. A Unity Pro Unity iOS Advanced és Unity Android Advanced akkor is létrehozhat Asset kötegeket. Ezek a fájlok teljesen elkülönül a fő játék, mely tartalmazza az eszköz, amelyre a játék érhető el, ha szükséges, egy fájl vagy URL-t.

Asset csomagok

Asset Bundle (Asset Bundle) - van egy gyűjtemény a külföldi eszközök listáját. Egyszerre több Asset kötegek, és így több külső, gyűjtemények eszközök listáját. Ezek a fájlok kívül a játékos teremtett a Unity, általában található a webszerver dinamikusan eléréséhez.

Összegyűjteni Asset batyut, hívja BuildPipeline.BuildAssetBundle () szerkesztő a forgatókönyvet. Az érvek megadott tömb tárgyak szerepelnek a csomagban, és más lehetőségek. Ez a módszer hozza össze egy fájlt, akkor majd dinamikusan betölteni valós időben AssetBundle.Load ().

források mappa

forrás mappa tartalmazza a gyűjtemény eszközök listáját, fel kell venni a játékos által létrehozott Unity, de nem feltétlenül kapcsolódik semmilyen GameObject'om ellenőr.

Bármi, hogy a források mappa, hozzon létre egy új mappát a „Források” a Project ablakban (Projekt nézet). Egyszerre több mappát források elhelyezett, különböző almappa a projekt. Ha szeretné letölteni Asset ilyen mappa, hívja Resources.Load () metódust.

Ha összegyűjti a Streaming Web Player (Web Player streaming letöltési funkció), megadhatja, hogy milyen szakaszban lesz az összes mappa források. Meg tudod csinálni a játékos (Player Settings), elérhető a menü Edit-> Project Beállítások-> Player. Sor flow terhelési szinten meghatározott jelenetek sorban ablak Építőanyag beállítások.

Minden Asset mappa források és azok függőségeit tárolja nevű fájlt resources.assets. Ha az eszköz már használatban van egy másik szinten, ez tárolja .sharedAssets fájl ezt a szintet. Beállítás módosítása -> PlayerSettings Első Öntött szint határozza meg a szintet, ahol resources.assets fájlt kell összeállítani felvétele a szerelvény.

Ha a szinten ez a „First áramlott Level” Asset mappa tartalmazza források Asset kerül mentésre, valamint más Asset ezt a szintet. Ha az Eszköz erőforrás mappák tartalmazzák a meghatározott szint a következő: „Első áramlott Level”. szinten utal az Eszköz a fájlt „resources.assets”.

Csak Asset a Resources mappában lehet letöltött keresztül Resources.Load. Ugyanakkor számos más Asset lehet „resources.assets” fájlt, ha függnek eszközök listáját a források mappa (például az anyag a Resources mappában utalhat a textúra kívül ezt a mappát).

kirakodás erőforrások

Tölthetsz Asset köteg források okozó AssetBundle.Unload (). Ha true az érvként unloadAllLoadedObjects. az Eszköz és tárolt AssetBundle és Vagyonkezelő letöltött AssetBundle segítségével AssetBundle.Load () kell semmisíteni, és felszabadul a memória elfoglalták.

Néha célszerű letölteni AssetBundle, hozzon létre példányait Önt érdeklő objektumot és felszabadítja a memóriát foglal el a már szükségtelen akkor Asset Bundle, miközben a letöltött elemeket. Ez hasznos a szabad memória egyéb feladatok, például, hogy töltse le a többi AssetBundle. Ebben az esetben meg kell átadni hamis, mint az érvelés. Pusztulása után a csomag nem lesz képes letölteni többet kifogásolja.

Ha azt szeretnénk, hogy elpusztítsa a tárgyak a helyszínen, hogy töltse le a Resources.Load () egy eltérő szinten hívják őket Object.Destroy (). Ahhoz, hogy kirak Eszköz használata Resources.UnloadUnusedAssets ().

A bemeneti eszközeinek listája kód