问题标签 [assetbundle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
memory-leaks - 我的 Unity3d Asset Bundle 加载程序脚本中的内存泄漏源?
这个assetbundle loader脚本会不会是我的游戏内存泄漏问题的根源?缓存 AssetBundle 对象不好吗?
unity3d - iOS 上的 AssetBundles:内存总是增加,导致崩溃
我们将资产包存储在 Amazon S3 存储桶中。游戏开始时,它会使用 WWW.LoadFromCacheOrDownload 确定需要下载哪些包的新版本。
我们遇到的问题是 iOS 报告它为我们的应用程序分配的内存不断增加,但是 Unity 报告它正在使用的内存(通过分析器)总是保持不变。我们有足够的捆绑包,当它完成下载我们需要的所有内容时,它总是会收到来自 iOS 的内存警告,不久之后我们就会因为内存压力而关闭。
我们已有的常见解决方案:WWW 完成后卸载assetbundle,使用assetBundle.unload(),调用Resources.UnloadUnusedAssets(),在WWW 上调用Dispose()。这些都不能解决问题。
代码如下:
- 编辑 -
显示内存使用量增加的屏幕截图位于下面的链接中。内存使用量就这样继续下去,直到它消耗了大约 150MB。这一切都在一个场景中,其中只有一个用于初始化脚本的游戏对象(没有艺术或任何东西)。
https://www.dropbox.com/s/3b6skexz6xhug5g/Screenshot%202014-03-28%2014.54.26.png
caching - Unity LoadFromCacheOrDownload non asset bundles
Is there any build-in way to download and cache anything other than asset bundles. I'd be using asset bundles for my layout, but I don't want to rebuild my entire bundle for the sake of editing 1 texture.
My approach is currently an json which contains the following:
- Path to the asset bundle containing the layout
- Paths to the json containing all data about the asset (numbers, text, image paths)
There would be a fair amount of asset bundles, each containing roughly 30-40 images.
I'm using WWW.LoadFromCacheOrDownload to cache my asset bundles, but it doesn't work with textures.
Would there be a build-in way to cache it, or would I have to write the system myself?
c# - 从编辑器加载资产包
我已经创建了将资产包下载并存储到我的设备的功能。现在我正在尝试从已下载的包中加载资产包。
我正在像这样保存捆绑包:
接下来我尝试像这样加载包:
但是,当我运行它时,什么都没有加载。
我究竟做错了什么?
c# - 如何在 Unity 脚本中使用公共变量放入资产包中
我搜索了这个问题,发现了很多相关的信息,但有些不一致,没有明确的答案。
在 Unity 项目中,我正在使用具有脚本 (C#) 的游戏对象创建资产包。我已经学会了如何做到这一点,并且它有效。
我的问题是,我最终需要保留在构建资产包之前分配的脚本中的公共变量的值。也就是说,我的预制件有一个带有公共变量的脚本。我为每个实例使用不同的公共值多次实例化它。我需要所有这些才能在资产包中幸存下来。
因此,我目前的流程是:
- 从他们的游戏对象中删除脚本。
- 将脚本构建到程序集中
- 将游戏对象和程序集打包到资产包中
- 将捆绑包下载到新项目
- 解压资产包并实例化游戏对象
- 将脚本程序集附加到游戏对象
AddComponent()
问题是第 1 步。我在捆绑之前从游戏对象中删除了脚本,因为如果我不这样做,它会在解包时抱怨引用的脚本丢失。而且,由于第 6 步AddComponent
用于附加它,如果该脚本已经是附加组件,我真的不能这样做。因此,在捆绑之前删除它们可以解决这些问题。
我错过了什么?我的方法哪里出了问题?我读到公共值在捆绑时保存在游戏对象的脚本引用中,但是当我删除脚本组件时我当然会丢失它。
那么,请问,我如何通过资产捆绑流程维护公共价值?我不应该在捆绑之前删除脚本组件吗?如果是这样,我应该如何以不同的方式管理脚本?我需要捆绑脚本程序集和源文件吗?(我目前只捆绑组件),并且在附加组件时不会产生冗余吗?
unity3d - 统一使用带有 Asset Bundle 的遮挡剔除
我正在开发一个包含大量对象和纹理的基于 Web 的 Unity 项目。所以我正在使用 Asset Bundles 在场景中动态加载资产。有没有办法在包含从资产包加载和实例化的对象的场景上使用遮挡剔除?
unity3d - 服务器上的 AssetBundle Unity
我想问是否有人在云上的 Unity 中创建 Assetbundle?我想在云上动态生成 AssetBundle,客户端应用程序会相应地下载它。
你能告诉我你的想法吗?是否有任何托管 Unity 的云服务?
unity3d - 在 Unity3d 中将 .tga 或 .png 图像文件导出到磁盘
有什么方法可以通过代码将 .png 或 .tga 文件导出到 Unity 中的本地磁盘?我需要编写一个转换器来加载资产包并将它们转换为原始源图像文件。例如,我需要以任何人都可以使用 Photoshop 打开它们的方式创建这些文件。关于如何做的任何想法?
谢谢。大卫
c# - AssetBundle 升级
Unity 4.0.0 -> Unity 4.5.4 我需要升级 AssetBundle 以适应新的 Unity 版本。
在 Unity 4.5.4 开发环境中,我有以前版本的 AssetBundle。因此,当我尝试玩游戏时,Unity 会显示我的 AssetBundle 需要升级到新版本的错误。
但是,我根本不知道如何升级我的 AssetBundle。我想通过仅使用 Unity 4.0.0 的 AssetBundle 在 Unity 4.5.4 中制作 AssetBundle。可能吗?
否则,我是否必须使用资源文件之类的资产来制作新版本的 AssetBundles?
c# - Unity3d 加载资产包
我正在试验 Unity3d AssetBundles。我正在尝试使用其对象加载场景。我有这个简单的代码来创建我的资产包:
我使用上面的代码从一个场景中构建资产包,该场景在中心有一个相机和一个立方体。
我有这个代码来加载它:
问题似乎是当它到达 loadAll 时它停止了。
如果有人可以帮助我,我将不胜感激。
非常感谢