Unity AssetBundle 載入
1.根據打包的manifes檔案載入所有assetbundle包
C#
// 下載所有assetbundle包
Ienumerator DownLoadMainAssetBundle()
{
UnityWebRequest request = UnityWebRequestAssetBundle.GetAssetBundle(mainAssetBundleURL);
yield return request.SendWebRequest();
AssetBundle assetBundle = DownloadHandlerAssetBundle.GetContent(request);
AssetBundleManifest manifest = assetBundle.LoadAsset<AssetBundleManifest>("AssetBundleManifest");
string[] names = manifest.GetAllAssetBundles();
for(int i=0;i<names.Length;i++)
{
StartCoroutine(DownLoadAssetBundleAndSave(allAssetBundleURL+name[i]));
}
}
IEnumerator DownLoadAssetBundleAndSave(string url)
{
WWW www = new WWW(url);
yield return www;
if(www.isDone)
{
SaveAssetBundle(Path.GetFileName(url),www.bytes,www.bytes.Length);
}
}
private void SaveAssetBundle(string fileName,byte[] bytes,int count)
{
FileInfo fileInfo = new FileInfo(Application.streamingAssetsPath+"//"+fileName);
FileStream fs = fileInfo.Create();
fs.Write(bytes,0,count);
fs.Flush();
fs.Close();
fs.Dispose();
Debug.Log("下載完畢");
}
IEnumerator DownLoadSingleAssetBundle(string url)
{
UnityWebRequest request = UnityWebRequestAssetBundle.GetAssetBundle(url);
yield return request.SendWebRequest();
AssetBundle assetBundle = DownloadHandlerAssetBundle.GetContent(request);
string[] names = assetBundle.GetAllAssetNames();
for(int i=0;i<names.Length;i++)
{
string tempName = Path.GetFileNameWithoutExtension(names[i]);
GameObject obj = assetBundle.LoadAsset<GameObject>(tempName);
Instantiate(obj);
}
}
相關文章
- unity3D AssetBundle載入方式Unity3D
- Unity3d熱更新全書-載入(一)從AssetBundle說起Unity3D
- Unity——AssetBundle打包工具Unity
- Unity AssetBundle(2):工具UnityStudioUnity
- Unity3d熱更新全書-載入(二)如何在不用AssetBundle的前提下動態載入預設Unity3D
- Unity C# 打包AssetBundle與場景UnityC#
- Unity3D高階-AssetBundle使用Unity3D
- Unity AssetBundle,Asset,GameObject之間的聯絡UnityGAMObject
- Unity5 AssetBundle的一些整理(一)Unity
- Unity5.5 AssetBundle用法-面向Android平臺(1)UnityAndroid
- 【Unity遊戲開發】SpriteAtlas與AssetBundle最佳食用方案Unity遊戲開發
- Unity GameFramework丨(二十三)使用 AssetBundle 編輯工具UnityGAMFramework
- [Unity-24] Unity的四種載入場景的方法Unity
- Unity載入模組深度解析(網格篇)Unity
- 細談unity資源載入和解除安裝Unity
- Unity實現子目錄下的Plugins載入UnityPlugin
- Unity大密度建築場景載入解決方案Unity
- Unity3D動態載入FBX檔案Unity3D
- 基於Unity3D引擎的大地形載入研究Unity3D
- cardboard sdk for unity 下載地址Unity
- AssetBundle打包學習(三)
- unity之入門經驗Unity
- Unity3D入門Unity3D
- Unity之掛載小問題Unity
- Unity3d 入門(一) 瞭解Unity3dUnity3D
- Unity學習筆記--入門Unity筆記
- unity入門—資源匯入與場景建立Unity
- unity案例入門(拾取遊戲)Unity遊戲
- Android Unity Plugin 開發指南(轉載)AndroidUnityPlugin
- Unity開發實戰探討-資源的載入釋放最佳策略簡要心得Unity
- Unity Shader 入門精要 筆記(1)Unity筆記
- unity場景匯入iOSAPP求助UnityiOSAPP
- 【Unity Shader入門精要】— 高階篇Unity
- unity3d下載Obb分包檔案Unity3D
- Unity3D ogg下載並播放Unity3D
- 熱更新基礎--AssetBundle學習筆記筆記
- AssetBundle在移動裝置上丟失
- 懶載入和預載入