Unity3D动态加载一(Resources)
- 在Unity3D中Project视窗中创建文件夹:Resources。
- 将需要动态加载的文件放入其中,例如Texture,Sprite,prefab等等。
- 在脚本中调用API接口Resources.Load()相关接口即可。
例如:
using UnityEngine;
using UnityEngine.UI;
public class LoadTest1:MonoBehaviour
{
private void Start()
{
Sprite sp=Resources.Load<Sprite>("Pic"); //"Pic"是资源的名字
GameObject obj=Resources.Load<GameObject>("Prefab01");
Instantiate(obj);
}
}
此种方式只能访问Resources文件夹下的资源。
Unity3D动态加载二
第二种方式就是使用AssetBundle(AssetBundle是一个资源的集合,可以是Unity3D所支持的任何资源格式)。
创建AssetBundle文件
- 从Project视图中选择要打包AssetBundle的资源。
- 在Inspector视图的最底部可以看到分配AssetBundle和变体的部分
- 选择左边下拉选择分配AssetBundle。其中显示“None”,点击“New…”以创建新的AssetBundle,并输入相应的名字。若要添加子文件夹,可以在名字中用“/”分隔。
- 用脚本进行构建AssetBundle
- 在Assets(Project视窗)文件夹下创建Editor文件夹,创建脚本CreateAssetBundles.cs
using UnityEditor;
public