unity基础开发-- 动态加载游戏对象或文件

来源:互联网 发布:鹿晗颜值如何 知乎 编辑:程序博客网 时间:2024/06/18 04:33
动态加载FBX文件

方法1(已测试过)

1 将模型拖动到场景中 ,调整好位置。(制作prefab需要)

2 新建Resources(如果工程中有的话 就不用新建了,Resource.Load调用的就是该文件夹下的资源),在该文件夹下建一个prefab,将上面的模型拖动到这个prefab上

3 删除场景中的该物体模型

4 编写脚本,把它仍随便一个GameObject

主要代码如下



using UnityEngine;

using System.Collections;



public class LoadFBX : MonoBehaviour {



// Use this for initialization

void Start () {

GameObject gFbx=(GameObject)Instantiate( Resources.Load("che"));

}


// Update is called once per frame

void Update () {


}

}

搞定



方法2:(没测试过,应该可以,因为之前能成功加载GameObject对象)



1 按方法1 制作prefab 注意调整好位置



2 然后使用AssetBundle导出包选项 create single AssetBundle(这之前需要在工程文件夹中新建一个叫做“Dynamic_Asset”的文件夹)



3 这时可以看到导出的.AssetBundle文件了

4 编写代码



如下

public string url;

void Start () {

string Scname = "scene1_part2.assetbundle";

url = "file://F:/EZGUI/Dynamic_Asset/";

StartCoroutine(DLAsset(url,Scname));

}

void Update () {



}

public IEnumerator DLAsset (string url,string Scname) {

WWW www = new WWW(url+Scname);

yield return www;

GameObject GO = (GameObject)Instantiate(www.assetBundle.mainAsset);

}