问题标签 [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.

0 投票
0 回答
219 浏览

c# - AssetBundle 下载完成后 Unity 编辑器崩溃

我将我的项目从 Unity 4.5 升级到了 Unity 5.5。其他开发人员已经制作了 AssetBundles 并将其上传到服务器上。在我尝试下载资产包时升级项目后,我的 Unity 编辑器崩溃了。这是我的日志:

0 投票
0 回答
330 浏览

unity3d - 从控制台应用程序 (C#) 解析 Unity 资产包

是否可以使用UnityEngine.dll从非统一项目(例如控制台应用程序)加载/解析统一资产包?

我希望能够从assetbundle中读取Prefabs并从那里获取游戏对象......

我尝试引用UnityEngine.dll并使用 UnitEngine.dll 中的 AssetBundle 助手,如下所述:https ://docs.unity3d.com/Manual/LoadingAssetBundles.html

但它不能在我的控制台应用程序上运行,可能这段代码不能在统一之外运行。当我运行以下代码时

或者

我得到下一个例外:

我可以为此目的使用 UnityEngine dll 吗?还是我应该编写自己的解析器?

0 投票
0 回答
312 浏览

unity3d - AssetBundle 不会在子项中加载序列化值

第一次使用 Asset Bundles,我似乎无法让它们正常工作。

我有一个具有简单层次结构的预制件 - 父级上的 MonoBehaviour 和一些具有自己的 MonoBehaviour 的子级。所有 MonoBehavior 都具有 [SerializeField] 属性,其中保存在预制件中的非默认值。

我已经使用 BuildPipeline.BuildAssetBundles 将此预制件添加到资产包中,这似乎工作正常,但是,在运行时加载资产时,只有父 MonoBehaviour 的字段正确反序列化,并且所有子项都获得默认值。对其他游戏对象的引用工作正常,但原始数据会被重置(或者第一次可能没有正确保存)。

我正在像这样加载资产包:

任何线索为什么这不能正确反序列化?

谢谢!

0 投票
1 回答
1037 浏览

yii2 - Yii2 扩展:如何在资产中声明 $sourcePath?

我正在为一些 js/css 文件开发一个使用AssetBundle的 Yii2 扩展:

扩展结构:

当我在另一个项目中安装扩展时,这似乎不起作用,因为$sourcePath. 那里的别名@app指向应用程序基本路径,而不是供应商中的扩展根文件夹。

目前,我使用@myExtension/assets/resources,因为我知道它在安装时会在 extionsions.php 中获取该别名。但我认为这不是最优的。那么申报的最佳方式是$sourcePath什么?我应该创建一个自己的别名(在 Module.php 中吗?)?我应该使用__DIR__吗?

0 投票
3 回答
2294 浏览

unity3d - 在 Android 手机中从 Web 服务器导入资产包

在 Unity 中,我正在创建一个资产包并从服务器加载该资产并在 Android 中运行该应用程序。现在的问题是资产包无法在 Android 设备中加载,但它已在编辑器中加载。谁能给我一个在 Android 中加载资产包的建议?

0 投票
0 回答
52 浏览

c# - 运行时从外部服务器下载 AssetBundle 时出错

我正在尝试在运行时从外部服务器下载带有 AssetBundle 的 3d 模型。我创建了一个assetBundle,然后将 AssetBundle 文件上传到外部服务器。

下面是代码:

当我在 Unity 中运行时,我发现 www 是空的

0 投票
1 回答
3717 浏览

c# - 统一加载assetbundle时出错

我将从错误本身开始。第一个是: Assertion failed on expression: 'm_UncompressedBlocksOffsets[blockInd] <= from + dstPos && m_UncompressedBlocksOffsets[blockInd] + uncompressedBlockSize >= from + dstPos' UnityEngine.AssetBundle:LoadFromFile(String)

随后:无法解压缩 AssetBundle 'D:/Unity/projects/PQv0.10/Assets/AssetBundles/spritesbundle' 的数据。UnityEngine.AssetBundle:LoadFromFile(String)

我一直只是将资源文件夹用于我的项目,但我当前的项目已经超出了该方法可以容纳的范围。所以我试图将资产(在本例中为 5000 个左右的精灵)卸载到资产包中,并在运行时根据需要加载它们。我想我可以获取对assetbundle 的引用,然后调用assetbundle.LoadAsset(assetname),替换我的旧Resources.Load 调用。这是我尝试制作不断出错的assetbundle引用:

对于尽职调查,这也是我用来创建该资产包的代码。它简单地在我的项目中搜索 png 并将它们打包到资产包中:

资产包构建没有错误,并出现在它应该在的目录中。除了我在尝试加载它时遇到的错误之外,我没有任何迹象表明它有问题。它生成的清单包含适当的项目,所以我认为它至少按预期工作。如果我缺少任何相关信息,请指出,我会尽力提供。

这是我用来代替 loadSprites() 的测试协程,用于测试它是否有所作为:

0 投票
0 回答
179 浏览

c# - 将 Unity 版本升级到 Unity2017.1.0f3 后 AssetBundle 返回 null

我所有的资产包都在我以前版本的 Unity 5.6.1f1(64 位)中工作。但是升级到 Unity2017.1.0f3 后,我的 LoadFromCacheOrDownload 返回 null。这是针对 android 构建的。

我如何加载资产包:

这就是我创建assetBundle的方式:

0 投票
0 回答
61 浏览

authentication - 使用 AssetBundleManager 从需要身份验证的服务器中检索 AssetBundle

我需要检索一些存储在远程服务器上的 AssetBundle。此服务器需要身份验证。

我一直在研究AssetBundleManager,这似乎是一种简单的方法。但是,我找不到任何方法来向AssetBundleManager.

所以我的问题是这个。我可以在需要使用身份验证的服务器中访问 AssetBundle,AssetBundleManager还是必须采用其他方式?

如果第二个是真的。是否使用UnityWebRequest唯一的方法在请求的标头中传递身份验证凭据?

编辑:按照评论中的要求,我正在使用 C#。

身份验证是令牌身份验证(JWT),形式为

自动化标头:不记名令牌

0 投票
1 回答
1747 浏览

c# - 在单个进度条中下载多个 unity3d 资产包?

我正在尝试为多个资产包制作一个下载进度条。所有资产包的总大小是通过将其相加来计算的webRequest.GetResponseHeader("Content-Length")。但www.downloadProgress它只返回一个从 0 到 1 的值。

这是示例代码: