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("cube"));
abObj.name?=?"第三種AB資源加載方式";
//4、資源加載的第四種方式,使用AssetDatabase.LoadAssetAtPath加載資源(編輯器框架開發使用)
GameObject?DBobj?=Instantiate(UnityEditor.AssetDatabase.LoadAssetAtPath("Assets/GameData/Prefabs/cube.prefab"));
DBobj.name?=?"第四種DB資源加載方式";
}
}
//Class_end
}
三、將該腳本添加到物體上,然后指定對應的預設,運行即可
總結
以上是生活随笔為你收集整理的unity3d 挂载脚本_Unity3D加载资源的四种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(1604):脚手架props与
- 下一篇: 【Unity3D 灵巧小知识点】☀️ |