Unity3d 如何将内容访问从本地组无缝切换到远程组(反之亦然)?
问题1: 我是新来的可寻址的。我的在线内容运行良好,但当我试图在本地测试以节省时间时,我会遇到一些错误。。 在不破坏某些内容的情况下,无法将可寻址从“myCDN”组移动到“myLocal”组。我最终会出现依赖性或其他各种错误 据我所知,我所要做的就是从“myCDN”中抓取所有可寻址的内容,将它们拖放到“myLocal”中,然后点击播放。我想我错过了一个或多个步骤 在执行此操作之前,是否应该运行分析工具并修复依赖项错误 问题2: 我的组捆绑模式设置为:按标签打包。是否可以只构建一个标签(我对它做了一些更改)?如果没有,(假设标记的资产之间没有依赖关系),我是否可以重新上传一个标签包,并且仍然希望它工作?我想目录也应该重新上传Unity3d 如何将内容访问从本地组无缝切换到远程组(反之亦然)?,unity3d,Unity3d,问题1: 我是新来的可寻址的。我的在线内容运行良好,但当我试图在本地测试以节省时间时,我会遇到一些错误。。 在不破坏某些内容的情况下,无法将可寻址从“myCDN”组移动到“myLocal”组。我最终会出现依赖性或其他各种错误 据我所知,我所要做的就是从“myCDN”中抓取所有可寻址的内容,将它们拖放到“myLocal”中,然后点击播放。我想我错过了一个或多个步骤 在执行此操作之前,是否应该运行分析工具并修复依赖项错误 问题2: 我的组捆绑模式设置为:按标签打包。是否可以只构建一个标签(我对它做了
目前,在内容发生轻微更改后,我唯一可以寻址的方法是点击“内容更新构建”,然后重新上传所有捆绑包。。我不认为这是为了这样工作,对吗?修复了它,它与组或我上面描述的任何内容无关。我所做的一切都是对的,我知道这应该很容易,所以这是另外一件事: //假设我有500个精灵位置,LoadResourceLocationsAsync将每个位置加载两次,一个用于精灵,第二个用于纹理。因为我不太熟悉这个方法,所以我选择了一个快速但糟糕的解决方案,即使用模运算符来获取二分之一。“糟糕”的解决方案是可行的,但每当我从远程切换到本地时,都会出现位置错误。。。因此,基本上它是试图抓住纹理而不是精灵(错误信息真的是误导)。。。为什么会这样,我不知道。但是通过使用属性ResourceType过滤掉纹理,提出了更安全的方法
static async Task LoadAllAnimSprite() {
AnimManager.spriteAnimAsset = new List<Sprite>();
var location = await Addressables.LoadResourceLocationsAsync(AnimManager.loadedLocations.animSprites_label.labelString).Task;
var location2 = location.Where(loc => loc.ResourceType ==
typeof(Sprite)).ToList();
var ttt = 0;
foreach (var loc in location2)
{
// if (ttt % 2 == 0) { <--- here is a really bad idea!
var obj = Addressables.LoadAssetAsync<Sprite>(loc);
await obj.Task;
AnimManager.spriteAnimAsset.Add(obj.Result );
// }
// ttt++;
}
StartScreen.WaitForAnimDataInitialization_done = true;
}
静态异步任务LoadAllAnimSprite(){
AnimManager.spriteanimaste=新列表();
var location=await Addressables.LoadResourceLocationsAsync(AnimManager.loadedLocations.animSprites\u label.labelString).Task;
var location2=位置。其中(loc=>loc.ResourceType==
typeof(Sprite)).ToList();
var-ttt=0;
foreach(位置2的var loc)
{
//[如果(TTT % 2=0){考虑将问题分成2个不同的线程。这就是格式如何工作:每个线程只有一个问题。哦,虽然它们都与可寻址有关,所以我会把它们放在一起……好吧,下次我会小心的。谢谢。