问题标签 [addressables]
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.
amazon-web-services - Addressable 1.8.5 无法从 AWS S3 加载远程场景的问题
堆:
- macOS 卡塔利娜
- 统一 2020.1.8f1
配置:
我想完全从 AWS S3 存储桶加载场景。我遵循了两个教程:
- Unity 学习:https ://learn.unity.com/tutorial/addressables-scene-loading#5fadef93edbc2a07ae8db2a9
- MeowKim 指南:https ://gist.github.com/MeowKim/79796c1468872de6bf4b50f0bfb0ed41
我有一个简单的场景,有几个按钮可以按下。在这种情况下,用户按下“加载远程场景”
这将调用函数来加载可寻址的(它使用字符串来定义地址)。该函数正在尝试加载Test_scene_2.unity
存在旋转立方体的场景。
已创建新的“远程”配置文件并将其设置为active
. 此外,远程 AWS 路径已配置:
如您所见,我有一个可寻址组,其中包含对场景的引用:
并且全局和组设置都已配置为生成远程目录:
作为最后一步,我已经构建了可寻址组,在文件夹中生成.hash
,.bin
和文件.bundle
AssetData
问题: 我知道下一步是将这些文件加载到 S3 存储桶中,但正如 MeowKim 教程中所述:
“此时运行会导致错误,因为 Unity 会尝试从服务器获取远程组。”
不幸的是,如果我在编辑器中运行游戏并按下“加载远程场景”按钮,场景会正常加载,这不应该发生,因为 S3 存储桶是空的。我应该得到一个错误,一旦我上传文件,它就会消失。这意味着我的可寻址资产仍然指向本地文件。
奇怪的是,如果我构建一个独立的应用程序,远程加载可以工作,这意味着如果 S3 存储桶为空,它会失败,但它会在我加载可寻址数据后立即加载场景。
总之:
- 在编辑器中播放:在 S3 存储桶中有或没有可寻址数据的情况下正确加载场景
- 构建并运行独立应用程序:一切正常(仅当 S3 存储桶中有可寻址数据时)。
我错过了什么?
c# - 如何通过在 Unity 运行时设置远程目录加载路径来通过可寻址加载模型?
尝试使用可寻址加载资产。我已将构建路径设置为远程构建路径并将加载路径设置为远程加载路径。在管理配置文件部分中,我已将远程构建路径设置为“https://name-company.github.io/TestProject/[BuildTarget]” .尝试在我的应用程序中加载 3d 模型。通过在此处提供可寻址模型名称“Panda”,它正在使用以下代码工作。
当我尝试从 aws 服务器加载时会出现此问题,因为会生成随机链接。我不能更早地设置远程加载路径,必须动态地给它们。这似乎是答案。如何从提供的链接设置 MyApp.Something.URL?
unity3d - 您可以在 Unity 中添加脚本中的可寻址对象吗?
想象一下,您希望您交付的游戏中的玩家能够向您的游戏添加不同的图块,然后将它们作为可寻址对象保存在 mod 文件夹中。然后可以共享此文件夹,以便其他人可以安装它。
我将如何使脚本添加可寻址对象?
c# - Unity引擎中可寻址封装方法的巨大时滞
在统一项目中我们正在使用可寻址包管理资产包。
但是,使用 Addressables.GetDownloadSizeAsync(string) 获取下载大小时存在巨大的时间延迟。
如果管理的捆绑包数量很大,会发生这种情况吗?如果是这样,有没有办法解决它?
目前,一个标签管理大约 300 个捆绑包。
unity3d - Unity WebGL 无法正确卸载和加载可寻址场景
我正在尝试卸载先前添加的场景,然后按该顺序添加加载另一个场景。我使用下面的代码来做到这一点。此代码在编辑器和除 WebGL 之外的所有平台上都能正常工作。我知道 WebGL 不适用于异步代码,但这使用了一个协同程序,它应该在主线程上执行。那么,为什么这在 WebGL 中不起作用?
android - Unity-Android 在 android 构建设置中检查导出项目会导致 Addressables 问题
我目前使用 Unity 2020.3.5f1,可寻址版本 1.19.17
这就是我设置我的项目的方式:
在项目 A 中构建我的可寻址对象,并将它们下载并加载到项目 B 中。当我为 Android 构建应用程序时,如果我取消选中项目 B 中的导出项目,一切都会加载并正常工作。但是,如果在项目设置中选中了导出项目,则会出现以下错误并且场景无法加载
任何帮助或见解将不胜感激!感谢您的时间
c# - 努力从 Unity Addressables 资产加载中正确获取下载进度
我正在尝试使用 Unity Addressable 系统下载预制件。该地址位于远程服务器上,我将可寻址系统设置为从该远程服务器中提取。下面的代码从服务器加载该资产,并应该报告其下载进度。但是,这似乎不起作用。UpdateProgressBar 方法只被调用一次,然后再也不会被调用。据我所知,协程只要有事就应该运行,所以我假设使用 while 循环会导致协程继续调用 UpdateProgressBar 方法。
我在互联网上环顾四周,似乎人们在从 AsyncOperationHandles 获取下载进度方面也遇到了类似的问题,但这些问题中的大多数都是几年前的问题,所以我认为它们现在已经修复了。
无论如何,我有什么遗漏/做错了吗?我对 Unity Addressables 还很陌生,因此欢迎任何提示或建设性批评。
单击按钮时,正在从另一个脚本调用 DowloadAsset 函数:
unity3d - 加载某些可寻址对象时构建崩溃
Unity 版本:2020.1.17f1
可寻址版本:1.19.18
平台:Windows 10
最近我决定使用可寻址对象来加速关卡加载。在我的游戏中有 3-8 个级别。加载关卡时,我创建一个场景并实例化一个我标记为可寻址的关卡预制件AssetReference.InstantiateAsync();
。加载一组关卡时,我预加载了该组的所有预制件
加快各个关卡的加载速度。
这适用于某些关卡集,但是当我尝试在构建中加载某些集时,游戏会崩溃而不会记录任何错误。但是我的朋友设法在他的电脑上获得了这个日志: https ://drive.google.com/file/d/16vh4FSzB3-QpyJn7358HGOz45OpICUII/view?usp= sharing(跳过 NullReferenceException 错误并检查后半部分)。
几点注意事项:即使使用Use Existing Build on 选项
,编辑器中的关卡也能正常加载。
如果这些关卡集在工作关卡之后加载,它们会正确加载(即使我应该在退出关卡时卸载预制件)。
如果我删除预加载或实例化位,则不会发生崩溃。
有没有人遇到过类似的问题,或者可以就我如何进一步调查提供任何建议?