Unity5.5 AssetBundle用法-面向Android平臺(1)
一個AssetBundle在unity5.5中使用的例子,目標平臺是android
以一個膠囊體為例:
1、建立prefab。簡單一點,把膠囊體直接放在Assets根目錄下:
2、為prefab命名。本例中命名為cab:
3、在Assets同級路徑下建立AssetBundle根目錄。本例中目錄名稱為“AssetBundles”。
4、編寫生成AssetBundle的程式碼。程式碼如下,在Assets目錄下建立Editor資料夾,放在裡面:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System.IO;
public class BuildAssetBundle{
[MenuItem("AssetBundle/Build All AssetBundle")]
static void BuildAllAssetBundle() {
string path = "AssetBundles";//相對目錄,和Asset同級
if (!Directory.Exists(path)) {
Directory.CreateDirectory(path);
}
BuildPipeline.BuildAssetBundles(path, BuildAssetBundleOptions.None, BuildTarget.Android);
//None使用LZMA演算法壓縮,被壓縮的包相比LZ4更多,但是解壓時間更久,載入時間更久,解壓是必須整體解壓
//ChunkBasedCompressor LZ4壓縮 可以指定載入具體的資源而無需全部解壓
}
}
5、Unity主介面中,點選“AssetBundle/Build All AssetBundle”,生成AssetBundle檔案,開啟如下:
6、將AssetBundles資料夾拷貝至你網站的根目錄下:
7、載入資源,程式碼如下:
using UnityEngine;
using UnityEngine.Networking;
using System.Collections;
public class MyBehaviour : MonoBehaviour
{
void Start()
{
}
void OnGUI(){
if (GUILayout.Button ("begin",GUILayout.Width(500),GUILayout.Height(300))) {
StartCoroutine(WebRequest());
}
}
IEnumerator WebRequest() {
string cubeURL = "http://XXX.com/yourweb/AssetBundles/cab";
UnityWebRequest request = UnityWebRequest.GetAssetBundle(cubeURL);
yield return request.Send();//傳送http請求
if(string.IsNullOrEmpty(request.error)){//沒有錯誤
AssetBundle ab = (request.downloadHandler as DownloadHandlerAssetBundle).assetBundle;
GameObject cubeWall = ab.LoadAsset<GameObject>("Capsule");//獲取prefab
Instantiate(cubeWall, Vector3.zero, Quaternion.identity);//例項化prefab
}else{
yield break;
}
}
}
8、將該指令碼繫結在場景中的物件上,執行,點選“begin”,你會發現可以正常載入資源並在零點建立了一個膠囊體物件。
相關文章
- DSW:面向AI研發的整合開發平臺AI
- 新手學HTML 5移動開發——面向iOS和Android平臺 完整pdf掃描版HTML移動開發iOSAndroid
- exp query在各平臺下的用法
- Anomo:面向性格內向使用者的社交平臺
- 高通Android平臺開發Android
- 普惠AI,華為面向多場景釋出智慧計算平臺AI
- 面向平臺的智慧客服系統之實踐演進之路
- 大資料平臺搭建(1)大資料
- Android平臺影像壓縮方案Android
- Android平臺影象壓縮方案Android
- Android平臺呼叫WebService詳解AndroidWeb
- Android Silver:面向消費者,面向未來Android
- 直播平臺製作,SwipeRefreshLayout下拉重新整理的用法
- 測試平臺系列(72) 瞭解ApScheduler基本用法
- android中string.xml中%1$s、%1$d等的用法AndroidXML
- 安居客 Android APP 走向平臺化AndroidAPP
- Android的平臺架構及特性Android架構
- 高通平臺android開發總結Android
- 2020年面向企業的優秀人工智慧平臺人工智慧
- Rancher Prime 為平臺工程提供面向 K8s 的彈效能力K8S
- Ubimax面向企業推出Frontline平臺,提供完整AR解決方案
- HDS推出面向SAPHANA環境的全新融合基礎架構平臺架構
- Unity AssetBundle 載入Unity
- AssetBundle上層框架框架
- DNSLOG平臺搭建從0到1DNS
- 從0到1搭建自助分析平臺
- 「Window平臺」異常掛鉤大法(1)
- 1.搭建Hadoop實驗平臺Hadoop
- 微博平臺StatusNet研究(1):介紹
- 360眾測平臺全新來襲,面向安全研究員正式開放內測
- 《寶可夢大集結》釋出!將同時面向Nintendo Switch與智慧手機平臺
- 面向實驗室級別的ONT-800乙太網測試平臺
- Android接入騰訊廣告平臺廣點通Android
- 淺析Android平臺影象壓縮方案Android
- jenkins配置android自動打包平臺JenkinsAndroid
- OpenCV在Android平臺上的應用OpenCVAndroid
- Android平臺Airplay的實現方法AndroidAI
- Android 原始碼windows平臺下載方法Android原始碼Windows