很多3D模型文件可以冻结Unity编辑器和Jetbrains Rider

时间:2018-07-27 02:17:51

标签: unity3d rider assetbundle

我想使用超过4000个的很多3D模型。 该文件夹的大小至少为20GB。 当我使用Unity编辑器打开此文件夹时,它会冻结您的Unity引擎和Jetbrains Rider。但是,由于要在运行时动态确定要加载的多个模型,因此不必每次都加载这些模型。

我认为我可以利用AssetBundle功能动态加载这些模型。但是,我认为必须将限制资产放置在Assets文件夹中才能作为资产构建。那会冻结我的编辑器和Rider。 但是从技术上讲,我认为AssetBundle必须能够单独构建。

如何解决此问题?

3 个答案:

答案 0 :(得分:1)

您可以尝试从索引中排除文件夹。 https://youtrack.jetbrains.com/issue/RIDER-8664#comment=27-2399808

答案 1 :(得分:1)

您确实可以使用Assetbundles来解决此问题。如果您将所有模型都构建到了资产捆绑包中,则可以将assetbundle文件和assetbundle.manifest存储在远程服务器或FTP上,只要需要资产就可以在运行时下载。这样,模型将永远不会出现在您的构建项目中,甚至可能会出现在单独的统一项目中,从而解决了主项目中的崩溃问题。

对于我的答案,我假设您使用的是Unity的新Assetbundle浏览器工具,并且使用的Unity版本高于5.6。如果您没有新的Assetbundle浏览器,请按照以下一些快速步骤进行操作:

  • 从Unity的GitHub中下载AssetBundle浏览器工具
  • 将下载的文件添加到Unity项目的/ Asset /文件夹中
  • 转到窗口>资产捆绑浏览器
  • 可以找到一个快速教程here

构建捆绑包

为此使用资产捆绑包的好处是,只要Unity版本匹配,它们就可以从单独的项目中构建。因此,我建议创建一个新的空项目,并测试该项目中可以有多少个模型而不会导致Unity崩溃。

一旦发现限制,就可以从模型中创建预制件,并将其添加到Assetbundle浏览器工具中。

在Assetbundle浏览器工具的“构建”部分中设置要为其构建资产捆绑包的目标平台和要应用的压缩。完成此操作后,请点击“构建”以构建资产捆绑包。

此过程完成后,您可以获取assetbundle文件和assetbundle.manifest,并将它们上传到客户端可以在运行时连接到的单独服务器或FTP上,以下载包含所需模型的所需Assetbundle。

由于新的Assetbundle浏览器工具是开源的,因此,您也可以在构建资产束后直接自动执行上载过程。

这样做的另一个好处是,资产捆绑浏览器将检测到任何共享资产(例如着色器,脚本),并为您提供将它们移至共享资产捆绑的选项,该共享资产捆绑只需要下载一次,随后的任何资产捆绑都可以调用。这样,您就不必继续下载共享资产。

构建资产捆绑包是一项非常耗时的任务(还取决于目标平台和压缩设置),因此,如果您有可用的资源,则可能希望一次在多台计算机上进行。

答案 2 :(得分:-2)

我认为解决此问题的最佳方法就是不使用太多模型。

那么简单。

您应该选择最适合其余模型的模型,并为每个模型创建少量不同的纹理。

就像电影中一样。您不需要2000 ppl来吸引人群。您只需要20种不同的ppl,然后将其复制粘贴到CGI中即可。