Important: UNet adalah solusi yang diuraikan, dan Solusi Multiplayer baru dan NetworkingSistem Unity yang memungkinkan game multiplayer di jaringan komputer. More info Lihat di Glossary (Netcode untuk GameObjects) sedang berkembang. Untuk informasi lebih lanjut dan langkah selanjutnya melihat informasi di . |
Untuk men-download AssetBundle dari server jarak jauh, Anda dapat menggunakan UnityWebRequest.GetAssetBundle
. Fungsi ini mengalirkan data ke dalam penyangga internal, yang mengedepankan dan menekan data AsetBundle pada benang pekerja.
argumen fungsi mengambil beberapa bentuk. Dalam bentuk paling sederhana, hanya butuh URL dari mana AssetBundle harus diunduh. Anda dapat secara opsional memberikan asumsi untuk memverifikasi integritas data yang diunduh.
Secara terpisah, jika Anda ingin menggunakan sistem caching asetBundle, Anda dapat menyediakan nomor versi atau struktur data Hash128. Ini identik dengan nomor versi atau Hash128 objects
yang disediakan untuk sistem lama melalui WWW.LoadFromCacheOrDownload
.
UnityWebRequest
dan mengatur URL target ke argumen URL yang disediakan. Ini juga menetapkan verba HTTP ke GET
, tetapi tidak menetapkan bendera lain atau header kustom.DownloadHandlerAssetBundle
ke UnityWebRequest
. Pegang unduhan ini memiliki properti assetBundle
khusus, yang dapat digunakan untuk mengekstrak AsetBundle setelah cukup data telah diunduh dan dikodekan untuk mengizinkan akses ke sumber daya di dalam AsetBundle.Hash128
sebagai argumen, itu juga melewati argumen tersebut ke DownloadHandlerAssetBundle
. Pegang unduh kemudian menggunakan sistem caching.using UnityEngine;
using UnityEngine.Networking;
using System.Collections;
public class MyBehaviour : MonoBehaviour {
void Start() {
StartCoroutine(GetAssetBundle());
}
IEnumerator GetAssetBundle() {
UnityWebRequest www = UnityWebRequestAssetBundle.GetAssetBundle("https://www.my-server.com/myData.unity3d");
yield return www.SendWebRequest();
if (www.result != UnityWebRequest.Result.Success) {
Debug.Log(www.error);
}
else {
AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(www);
}
}
}