Unity Assetbundle Sprite модифицируют зависимым активом - PullRequest
0 голосов
/ 14 января 2020

В моем случае я использую API unity4.x. моя структура assetbundle вроде

A.assetbundle
 - depency ShareSprite.assetbundle

сначала загружает ShareSprite.assetbundle, а затем загружает A.assetbundle, это выглядит хорошо.

Если я хочу изменить настройки ShareSprite, я подумал, что мне нужно только перестроить ShareSprte.aseetbundle. не нужно перестраивать A.assetbundle., потому что A.Assetbundle является зависимостью ShareSprite.assetbundle. Но это не работает.

SpriteSetting изменить до enter image description here

SpriteSetting изменить после enter image description here

И когда я Загрузите измененную настройку Sprite, изображение A.assetbundle по-прежнему выглядит следующим образом

enter image description here

Но так и должно быть

enter image description here

Поскольку я заменяю ShareSprite.assetbundle

Могу ли я перестроить только ресурсный пакет shareSprite? Как это сделать?

Мой код здесь:

//Build ShareSprite.assetbundle
UnityEngine.Object[] uiorigin = new UnityEngine.Object[3];
uiorigin[0] = AssetDatabase.LoadMainAssetAtPath("Assets/DepencyMTest/F.png");
uiorigin[1] = AssetDatabase.LoadMainAssetAtPath("Assets/DepencyMTest/F_a.png");
uiorigin[2] = AssetDatabase.LoadMainAssetAtPath("Assets/DepencyMTest/F_m.mat");
BuildPipeline.PushAssetDependencies();
BuildPipeline.BuildAssetBundle(null, uiorigin, Application.temporaryCachePath + "/ShareSprite.assetbundle", out crc, 
        BuildAssetBundleOptions.CollectDependencies | 
        BuildAssetBundleOptions.DeterministicAssetBundle | 
        BuildAssetBundleOptions.ForceRebuildAssetBundle | 
        BuildAssetBundleOptions.UncompressedAssetBundle, BuildTarget.StandaloneWindows)

// Build A.assetbundle
BuildPipeline.PushAssetDependencies();
BuildPipeline.BuildAssetBundle(Selection.activeObject, selectObjs, targetPath, out crc, BuildAssetBundleOptions.CollectDependencies | 
    BuildAssetBundleOptions.DeterministicAssetBundle | 
    BuildAssetBundleOptions.ForceRebuildAssetBundle | 
    BuildAssetBundleOptions.UncompressedAssetBundle, BuildTarget.Android);

BuildPipeline.PopAssetDependencies();
BuildPipeline.PopAssetDependencies();
...