Unity3D加载资源的四种方式
生活随笔
收集整理的這篇文章主要介紹了
Unity3D加载资源的四种方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、準備場景和預設和AB包資源
①新建一個Cube然后創建一個材質球,然后將其做成預設,如下所示:
②編寫打包預設為AB包的腳本(注意:該腳本需要放置在Editor這個特定的目錄文件夾下)
/*** * Title:"三維可視化" 項目 * 主題:打AB包 * Description: * 功能:XXX * Date:2019 * Version:0.1版本 * Author:Coffee * Modify Recoder: */using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor;namespace SimpleUIFrame {public class BuildAssetBundle{[MenuItem("Tools/打AB包")]public static void BuildAB(){BuildPipeline.BuildAssetBundles(Application.streamingAssetsPath,BuildAssetBundleOptions.ChunkBasedCompression,BuildTarget.StandaloneWindows64);AssetDatabase.Refresh();Debug.Log("打包完成");}} }③打AB包,首先創建一個“StreamingAssets”文件夾,然后選擇給需要打包的物體添加AssetBundle標簽,最后點擊頂部的Tools-->打AB包稍等一下即可打出AB包,如下所示:
?
?
二、開始編寫四種加載資源的腳本
/*** * Title:"三維可視化" 項目 * 主題:資源加載的四種方法 * Description: * 功能:XXX * Date:2019 * Version:0.1版本 * Author:Coffee * Modify Recoder: */using System.Collections; using System.Collections.Generic; using UnityEngine;namespace TestFunction {public class AssetLoadMethods : MonoBehaviour{//加載的預設物體public GameObject _LoadObj_Pre; void Start(){//1、資源加載的第一種方式,直接在面板拖拽,通常不使用if (_LoadObj_Pre!=null){//實例化預設物體GameObject obj = Instantiate(_LoadObj_Pre);//修改加載物體的名稱obj.name = "第一種拖拽資源加載方式";}//2、資源加載的第二種方式,使用Resources.Load加載資源//(注意預設需要放置在Resources目錄下面,這個目錄有限制,//最大只能加載2G的資源內容,一般不建議使用)GameObject loadObj = Instantiate(Resources.Load("Prefabs/cube"))as GameObject;loadObj.name= "第二種Resources資源加載方式";//3、資源加載的第三種方式,使用AssetBundle加載的方式加載(常用方式)AssetBundle assetBundleObj = AssetBundle.LoadFromFile(Application.streamingAssetsPath+"/cube");GameObject abObj =Instantiate(assetBundleObj.LoadAsset<GameObject>("cube"));abObj.name = "第三種AB資源加載方式";//4、資源加載的第四種方式,使用AssetDatabase.LoadAssetAtPath加載資源(編輯器框架開發使用)GameObject DBobj =Instantiate(UnityEditor.AssetDatabase.LoadAssetAtPath<GameObject>("Assets/GameData/Prefabs/cube.prefab"));DBobj.name = "第四種DB資源加載方式";}}//Class_end }三、將該腳本添加到物體上,然后指定對應的預設,運行即可
?
?
?
總結
以上是生活随笔為你收集整理的Unity3D加载资源的四种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 和vs版本关系_栈局部变量优化探究,意外
- 下一篇: yii验证系统学习记录,基于yiicms