Unitate - încărcare manuală a resurselor în timp real

În unele cazuri, este util pentru a crea active disponibile pentru proiect fără a descărca ca pe o parte a scenei. De exemplu, poate exista un caracter sau un alt obiect care poate apărea oriunde în joc, dar pentru a fi folosit doar ocazional (acest lucru poate fi o caracteristică de „secret“, un mesaj de eroare sau de avertizare de pe fișa de cont). În plus, puteți descărca chiar și o resursă dintr-un singur fișier sau printr-un URL, pentru a reduce descărcarea inițială sau pentru a adăuga la conținutul proiectului interschimbabile.

Unitatea susține directorul de resurse în proiect (folder numit Resurse), un dezvoltator ar putea adăuga la conținutul de asamblare care nu va fi încărcat înainte de a avea nevoie. În Unitatea Pro, Unitatea avansate pentru iOS și Android Unitatea avansată vă puteți crea, de asemenea, pachete de active. Aceste fișiere sunt complet separate de jocul principal, care conțin Bunurilor la care jocul poate fi accesat, dacă este necesar, dintr-un fișier sau URL-ul.

Grupări active

Asset Bundle (Asset Bundle) - este o colecție de liste active externe. Puteți avea mai multe pachete de active și, prin urmare, o multitudine de colecții externe din lista activelor. Aceste fișiere există în afara player-ul a creat Unitatea, de obicei localizat pe serverul Web pentru a accesa în mod dinamic.

Pentru a asambla pachet activ, suna BuildPipeline.BuildAssetBundle () Editor al script-ul. Argumentele pe care le specificați o serie de obiecte care urmează să fie incluse în pachet, și alte câteva opțiuni. Această metodă va aduce împreună un fișier pe care îl puteți încărca în mod dinamic în timp real de către AssetBundle.Load ().

dosar resurse

directoare de resurse conțin lista activelor de colectare, care urmează să fie incluse în player-ul creat de unitatea, dar nu neapărat legate de orice inspector GameObject'om.

Orice pentru a pune în dosarul de resurse, pur și simplu a crea un nou folder numit „Resurse“ în fereastra de proiect (Project View). Puteți avea mai multe dosare de resurse, plasate în diferite subdirectorul proiectului. Când doriți să descărcați active de orice astfel de dosar, apelați metoda Resources.Load ().

Dacă colecta un Streaming Web Player (Web Player cu funcția de streaming de descărcare), puteți specifica în ce stadiu va fi toate resursele dosare. O puteți face pe player (Player Settings), disponibile prin intermediul meniului Edit-> Project Setări-> Player. nivelurile de sarcină flux Coadă scene definite coadă Setări fereastra Creare.

Toate resursele folderul activ și dependențele lor sunt stocate într-un fișier numit resources.assets. Dacă activul este deja utilizat într-un alt nivel, acesta este stocat în fișierul .sharedAssets pentru acel nivel. Setarea Editare -> PlayerSettings Primul Streamed nivel determină nivelul în care resources.assets fișier va fi compilate pentru a fi incluse în adunare.

Dacă nivelul acestei la „Prima transmis în flux de nivel“ dosar activ conține resurse active vor fi salvate împreună cu alte materiale de acest nivel. În cazul în care dosarele de resurse active conține nivelul specificat în cele ce urmează „flux de prim nivel“. nivel se va referi la activ din fișierul „resources.assets“.

Numai active din dosarul Resursele pot fi descărcate prin intermediul Resources.Load. Cu toate acestea, multe alte active pot fi în „resources.assets“ fișier în cazul în care acestea sunt active lista dependente de directorul de resurse (de exemplu, materialul din dosarul resurse se poate referi la textura în afara acestui dosar).

resurse de descărcare

Puteți încărca resurse bundle active care cauzează AssetBundle.Unload (). Dacă treci adevărat ca un unloadAllLoadedObjects argument. activul și stocate în AssetBundle și active descărcate de AssetBundle folosind AssetBundle.Load () vor fi distruse și va fi eliberat de memorie au ocupat.

Uneori, este preferabil să se descarce AssetBundle, crea instanțe de obiecte care interesează și eliberați memoria ocupată de deja inutile pe care Asset Bundle, menținând în același timp elementele descărcate. Este util pentru a elibera memorie pentru alte sarcini, de exemplu, pentru a descărca alte AssetBundle. În acest caz, ar trebui să treci fals ca argument. După distrugerea pachetului nu va fi capabil de a descărca mai mult de la ea obiecte.

Dacă doriți să distrugă obiectele din scena pe care îl descărcați utilizând Resources.Load () pentru a încărca un nivel diferit, le numim Object.Destroy (). Pentru a descărca Resources.UnloadUnusedAssets utilizare Activ ().

Schimbarea de intrare a codului lista activelor