首页 文章

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

提问于
浏览
1

我想使用4000多个3D模型 . 该文件夹的大小至少为20GB . 当我用Unity编辑器打开这个文件夹时,它会像你想象的那样冻结我的Unity引擎和Jetbrains Rider . 但是,这些模型没有理由每次都加载,因为加载的几个模型是在运行时动态确定的 .

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

我怎么解决这个问题?

3 回答

  • -2

    您确实可以使用Assetbundles来解决此问题 . 如果您将所有模型构建到assetsbundles中,则可以将assetbundle文件和assetbundle.manifest存储在远程服务器或FTP上,并在需要资产时在运行时下载它 . 通过这种方式,模型将永远不会出现在您的构建项目中,甚至可以处于单独的统一项目中,从而解决主项目中的崩溃问题 .

    对于我的回答,我将假设您正在使用Unity的新Assetbundle浏览器工具并使用高于5.6的Unity版本 . 如果您没有新的Assetbundle浏览器,请执行以下快速步骤:

    • 从Unity的GitHub下载AssetBundle浏览器工具

    • 将下载的文件添加到Unity项目的/ Asset /文件夹中

    • 转到Window> assetbundle浏览器

    • 快速教程可以找到here

    Building the bundles

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

    找到限制后,从模型中创建预制件,并将它们添加到Assetbundle浏览器工具中 .

    在assetbundle浏览器工具的“构建”部分中设置要为其构建assetsbundle和要应用的压缩的目标平台 . 一旦你完成了“构建”以 Build 你的资产捆绑 .

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

    由于新的Assetbundle浏览器工具是开源的,因此您还可以在构建资产包之后直接自动上传资产包 .

    另一个好处是,assetbundle浏览器将检测任何共享资产(例如着色器,脚本),并为您提供将其移动到仅需要下载一次的共享资产包的选项,并且任何后续资产包都可以调用 . 这样您就不必继续下载共享资源 .

    构建assetsbundles是一项非常耗时的任务(也取决于目标平台和压缩设置),因此如果您有可用资源,您可能希望一次在多台计算机上执行此操作 .

  • 1

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

  • 1

    我认为修复它的最好方法就是不使用这么多模型 .

    很简单 .

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

    就像在电影中一样 . 你不需要2000人来制作人群 . 你只需要在CGI中使用20个不同的ppl和复制粘贴 .

相关问题