从外部文件夹实例化三维模型



我正在创建一个小项目,以了解更多关于Unity的信息。

在这个项目中,我有很多三维模型,我只需要使用其中的一些。我使用程序在执行时读取的外部文本文件,以便告诉它要加载哪些模型。

例如,在文本文件中,我可以写:Hunter,CandyHouse

并且该程序将仅实例化这两个模型。

我的问题是,我不想把所有的模型都保存在Resources文件夹中,只加载我需要的模型,因为这会大大增加我的程序大小。因此,我想做的是将我需要的模型保存在文本文件旁边,并实例化它们。但我不知道如何从Unity访问它们。

我在一些答案中找到了WWW类,但他们用它来加载纹理,当我试图用它加载Maya文件时,Unity只是停止了响应。

有什么可以做的吗?

  • 使用模型制作预制件。(当场景中需要多个模型时,这可以减少绘制调用。(
  • 使用此预制件制作资产捆绑包
  • 将此资产捆绑包放在您的url中(这可能是远程服务器url或文件url。请注意,iOS/Android可能在读/写权限方面存在问题(
  • 并使用下面的代码进行加载。

    WWW www = new WWW("url");    
    yield return www;
    GameObject obj = Object.Instantiate(www.assetBundle.Load("ModelName")) as GameObject; 
    

我们也可以使用LoadFromCacheOrDownload,资产将保存在特定位置。所以不需要每次从网络加载。

最新更新