我目前正在维护一个旧项目,我非常希望保留旧代码并尽可能避免重构旧代码。要将其上传到谷歌游戏商店,我使用了需要资产捆绑系统的游戏资产交付PAD系统。
我能够按照教程使用协程以异步方式成功加载资产包。
我的问题是;是否可以在不改变原始访问方式的情况下访问捆绑资产,例如
UnityEditor.AssetDatabase.LoadAssetAtPath("Assets/Prefabs/Game/Tiles/Tile.prefab", typeof(Tile)) as Tile;
而不是实现以下代码?
var assets = AssetDatabase.FindAssets("t:Sprite",
new[] {"Assets/Images"});
foreach (var guid in assets)
{
string assetPath = AssetDatabase.GUIDToAssetPath(guid);
Sprite loadedSprite = null;
if (imageDictionary.TryGetValue(assetPath, out loadedSprite)
== false)
{
loadedSprite = AssetDatabase.LoadAssetAtPath<Sprite>(
assetPath);
if (loadedSprite != null)
{
imageDictionary.Add(assetPath, loadedSprite);
AddImageToList(assetPath, loadedSprite);
}
}
}
我目前正在使用由纹理和脊椎动画文件夹组成的 2 个资产包。我创建了 2 个资产包,它们是纹理文件夹(110 MB)和脊椎动画包(23 MB)和基础资产。当我创建 aab 文件时,文件大小增加到 370 MB。(我知道我需要拆分我的捆绑包以匹配基本资产 150 MB 的 Play 商店要求,但这是一个不同的问题。)
而且,我有根据的猜测是,统一不仅是添加资产包,而且还以老式方式添加资产,这可能与这个问题有关。