Unity3d 动态加载fbx模型文件

方法1(已测试过)
1 将模型拖动到场景中 ,调整好位置。(制作prefab需要)
2 新建Resources(如果工程中有的话 就不用新建了,Resource.Load调用的就是该文件夹下的资源),在该文件夹下建一个prefab,将上面的模型拖动到这个prefab上
3 删除场景中的该物体模型
4 编写脚本,把它仍随便一个GameObject
主要代码如下

 

[csharp]  view plain  copy
  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. public class LoadFBX : MonoBehaviour {  
  5.   
  6.     // Use this for initialization  
  7.     void Start () {  
  8.     GameObject gFbx=(GameObject)Instantiate( Resources.Load("che"));  
  9.     }  
  10.       
  11.     // Update is called once per frame  
  12.     void Update () {  
  13.       
  14.     }  
  15. }  

 

搞定

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

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

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

3 这时可以看到导出的.AssetBundle文件了
4 编写代码

如下

[csharp]  view plain  copy
  1. public string url;  
  2.     void Start () {  
  3.         string Scname = "scene1_part2.assetbundle";  
  4.         url = "file://F:/EZGUI/Dynamic_Asset/";  
  5.         StartCoroutine(DLAsset(url,Scname));  
  6.     }  
  7.     void Update () {  
  8.   
  9.     }      
  10.     public IEnumerator DLAsset (string url,string Scname) {  
  11.         WWW www = new WWW(url+Scname);  
  12.         yield return www;  
  13.         GameObject GO = (GameObject)Instantiate(www.assetBundle.mainAsset);  
  14.     }  


========================================================================================
如何动态加载模型-0
如何动态加载模型   1,加载封装好的内部文件。 var aaa : Material;//空材质   
var bbb : GameObject;//要绑定材质的模型

[csharp]  view plain  copy
  1. function Start()     
  2. {     
  3.         aaa.mainTexture = Resources.Load("你的资源名,例如“pic1”不需要文件扩展名");     
  4.        bbb.renderer.material = aaa;     
  5. }  2,加载磁盘文件 var bbb : GameObject;     
  6. function Start () {     
  7.        var www = new WWW ("file://D:\\pic1.jpg"这里也可以是网络图片地址);     
  8.        yield www;     
  9.        bbb.renderer.material.SetTexture("_MainTex", www.texture);     
  10. }   
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Unity根据路径加载FBX格式模型的插件有很多种,以下是其中一种常用的实现方式: 在Unity中,可以使用AssetBundle来加载FBX格式模型。首先,需要将FBX模型打包为AssetBundle。可以通过在编辑器中选择FBX模型并右击,选择"Build AssetBundle"选项,将其打包为AssetBundle文件。 在代码中,首先需要获取到AssetBundle的路径。可以使用Application.dataPath属性获取到项目的根路径,然后拼接上AssetBundle文件所在的相对路径,得到完整的AssetBundle路径。 接下来,使用AssetBundle.LoadFromFile方法从路径中加载AssetBundle文件。然后,使用AssetBundle.LoadAsset方法加载具体的模型对象,并进行实例化。 最后,可以将实例化后的模型对象放置在场景中进行显示,或者进行其他操作。 需要注意的是,加载AssetBundle文件模型对象的过程涉及到文件IO操作和内存管理,并且在使用完毕后需要及时释放资源。 以上是一种Unity根据路径加载FBX格式模型的插件的实现方式,根据具体的需求和项目情况,也可以使用其他方式来加载FBX模型,比如使用Unity自带的Resources.Load方法加载模型文件等。 ### 回答2: Unity是一款非常强大的游戏开发引擎,它提供了许多插件来方便开发者创建游戏。其中,根据路径加载fbx格式模型的插件是一款非常实用的工具。 fbx是一种常用的模型文件格式,在Unity中使用fbx格式模型文件可以方便地创建游戏场景、角色模型和特效等。然而,使用Unity默认的加载方式加载fbx模型文件需要手动拖拽到场景中,不够方便。为了解决这个问题,Unity开发者不断创新并提供了插件来实现根据路径加载fbx模型的功能。 这个插件可以通过在Unity Asset Store下载获取。使用时,我们只需要将fbx模型文件放在指定的文件夹中,然后在Unity中通过插件提供的API调用,即可根据路径加载模型。这样,我们就可以方便地管理大量的模型资源,节省了大量的时间和工作量。 通过使用这个插件,我们可以非常方便地实现在游戏中动态加载模型。例如,当玩家完成某个任务后,我们可以根据路径加载相应的fbx模型,使玩家可以与其互动。同时,使用插件还可以加快游戏的加载速度,提高游戏的性能。 总之,Unity提供的根据路径加载fbx格式模型的插件为游戏开发者提供了便利。通过这个插件,我们可以更加方便地管理和使用fbx模型资源,提高游戏的开发效率和用户体验。 ### 回答3: Unity根据路径加载fbx格式模型的插件是一种可在Unity引擎中使用的工具,它使开发人员能够通过指定模型的路径来加载fbx文件。 在Unity中,fbx是一种常用的模型文件格式,它包含了3D模型的几何形状、材质、动画和其他相关信息。但是,Unity默认情况下不直接支持通过路径加载fbx模型,需要借助插件来实现这个功能。 Unity根据路径加载fbx格式模型的插件通常是由第三方开发者或团队开发的,可以通过在Unity Asset Store等平台上下载并导入到项目中。使用这些插件,开发人员可以在Unity编辑器中通过指定fbx模型文件路径来加载模型,而不需要将模型直接导入Unity项目。 通过这样的插件,开发人员可以更方便地管理和加载大量的fbx模型文件,同时节省项目资源和运行时内存。这对于开发需要动态加载模型的游戏或应用程序来说尤为重要,因为它允许在运行时根据需要加载或替换模型,以实现更灵活和可扩展的功能。 总之,Unity根据路径加载fbx格式模型的插件是一种能够帮助开发人员通过文件路径来加载fbx模型的工具,在开发各类3D应用程序和游戏时非常实用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值