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”,你會發現可以正常載入資源並在零點建立了一個膠囊體物件。
相關文章
- 新手學HTML 5移動開發——面向iOS和Android平臺 完整pdf掃描版HTML移動開發iOSAndroid
- DSW:面向AI研發的整合開發平臺AI
- Android平臺影像壓縮方案Android
- 2020年面向企業的優秀人工智慧平臺人工智慧
- jenkins配置android自動打包平臺JenkinsAndroid
- 安居客 Android APP 走向平臺化AndroidAPP
- 測試平臺系列(72) 瞭解ApScheduler基本用法
- 面向平臺的智慧客服系統之實踐演進之路
- Ubimax面向企業推出Frontline平臺,提供完整AR解決方案
- 淺析Android平臺影象壓縮方案Android
- 將 C++程式移植到 Android 平臺C++Android
- 直播平臺製作,SwipeRefreshLayout下拉重新整理的用法
- Unity AssetBundle 載入Unity
- AssetBundle上層框架框架
- XSS————1、XSS測試平臺搭建
- DNSLOG平臺搭建從0到1DNS
- 1.搭建Hadoop實驗平臺Hadoop
- android展訊平臺 重啟案例分析(二)Android
- EasyBarrage——Android平臺輕量級彈幕效果Android
- Android 平臺開啟硬體解碼logAndroid
- Android推送平臺試用總結報告Android
- 普惠AI,華為面向多場景釋出智慧計算平臺AI
- HDS推出面向SAPHANA環境的全新融合基礎架構平臺架構
- Rancher Prime 為平臺工程提供面向 K8s 的彈效能力K8S
- 【Avalonia】【跨平臺】關於控制元件陰影簡單用法控制元件
- Unity AssetBundle(2):工具UnityStudioUnity
- Unity——AssetBundle打包工具Unity
- 基於Android平臺實現人臉識別Android
- 使用CMake命令編譯Android平臺下的包編譯Android
- Android接入騰訊廣告平臺廣點通Android
- Android工程模組化平臺設計-講稿Android
- Android平臺OpenGL ES/Assimp/OpenCV/GLM整合說明AndroidOpenCV
- 從0到1搭建自助分析平臺
- 「Window平臺」異常掛鉤大法(1)
- Xbox大佬:允許旗下工作室面向多平臺製作內容
- 360眾測平臺全新來襲,面向安全研究員正式開放內測
- 面向實驗室級別的ONT-800乙太網測試平臺
- Android平臺targetSdkVersion設定及動態許可權Android