gpt4 book ai didi

unity-game-engine - Unity - 是否有必要从游戏构建中排除 AssetBundles 中使用的资源?

转载 作者:行者123 更新时间:2023-12-02 12:13:32 27 4
gpt4 key购买 nike

很难找到有关 AssetBundles 实际工作原理的大量信息。找不到任何有关如何通过游戏构建管理资源包的说明。

基本上,我的项目窗口中有一个名为 AssetBundles 的文件夹。我放入此文件夹中的所有资源都作为 AssetBundles 构建在构建目录中的文件夹中(例如 GameName/Data/AssetBundles),然后在需要时加载。

但是当我构建游戏本身时,它是否知道不要在游戏构建中包含 AssetBundles 中使用的这些 Assets ?或者我需要以某种方式排除它们?

编辑:我已经取得了一些进展。

据我了解,只有驻留在build设置中的场景中的 Assets 才会通过游戏构建进行构建。脚本始终构建在游戏构建中(我不确定是否有办法解决这个问题,但这对我来说不是问题)。

所以我在游戏构建中有一个场景,它充当游戏的启动对象。该场景上有一个 Asset Manager 脚本,并在 Awake 中指定了 DontDestroyOnLoad

我的 Assets 管理器脚本基本上只处理 bundle 、 Assets 和实例的加载/卸载。

我目前不太确定如何为场景构建资源包。我使用 LoadAllAssets 让它工作,然后执行 LoadLevel,但是如果多个场景共享一些 Assets 怎么办?场景构建最终会因为拥有可共享的 Assets 副本而变得臃肿吗?我了解到 Unity 5 中会自动处理依赖项,但我不确定这是否与此相关。

最佳答案

我发现下面的帖子有一个示例项目,其中包含在 Unity 5 中使用 AssetBundles 的不同方法。

http://forum.unity3d.com/threads/new-assetbundle-build-system-in-unity-5-0.293975/

它包含构建/加载场景的示例,并且似乎工作正常(它自动确定依赖关系......因此您所要做的就是确保在共享资源包(或其自己的包)中构建共享资源以提高效率)。

我在构建上做的唯一不同的事情是定义AssetBundleBuild(基本上我组织了我的项目文件夹,以便 Assets 存储在与其 assetbundle 名称相关的子文件夹中,然后在构建时检查这些文件夹并添加它们)。

出于某种原因,我这样做的方法似乎打破了依赖关系,而在编辑器 ui 中使用资源包功能似乎可以工作(为每个资源手动命名资源包..如果您有数百个资源,这有点乏味)几个不同的包),然后使用不带 builds 参数的 BuildAssetBundles

我仍然没有真正回答我原来的问题是否有必要从游戏构建中排除 AssetBundles 中使用的资源?

但为了安全起见,我在游戏构建中实际上只构建了 1 个场景,并且该场景只有一个 Assets 管理器脚本,用于处理 Assets 包,并且不会在加载时销毁。如果您将所有场景都作为资源包,则无需构建其他场景。

关于unity-game-engine - Unity - 是否有必要从游戏构建中排除 AssetBundles 中使用的资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32661757/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com