monery8 发表于 2013-1-8 21:38

动态加载fbx的二种方法

动态加载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);
    }
   
   

wayde 发表于 2013-4-25 18:10

谢谢楼主分享

至大中正 发表于 2013-7-1 15:10


感谢楼主的无私分享!{:soso__11402694654016840197_7:}

juncolor 发表于 2017-2-16 16:55

好帖就是要顶

hxsdup1 发表于 2017-2-16 16:39

顶顶多好

lingling2012 发表于 2017-2-16 16:58

真心顶

刘建宁 发表于 2017-2-16 17:05

说的非常好

yaotaiye 发表于 2017-2-16 16:58

LZ真是人才

nicepainkiller 发表于 2017-2-17 10:15

楼主是超人

李大本事 发表于 2017-2-17 09:31

顶顶多好
页: [1]
查看完整版本: 动态加载fbx的二种方法