Skip to main content

Unity3D加载资源的四种方式

四种加载资源的脚本

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
}