Forge ARKit:无法在Unity中加载模型

时间:2019-04-22 23:49:51

标签: autodesk-forge

使用最新的ForgeARKit-update-6-2018.1,我试图使用示例场景“ loadAtStartup ”将模型加载到Unity中。我可以从“沙箱”成功加载示例模型,但无法加载通过脚本“ test-2legged ”上传的模型。

错误消息显示504,似乎无法访问该服务:

  

AsyncRequestCompleted远程服务器返回错误:(504)网关超时。   UnityEngine.Debug:Log(对象)   Autodesk.Forge.ARKit.RequestQueueMgr:AsyncRequestCompleted(Object,AsyncCompletedEventArgs)(位于Assets / Forge / CodeBase / RequestQueue.cs:322)   UnityEngine.UnitySynchronizationContext:ExecuteTasks()

模型URN: dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bWFvbGlua3ppOHM3cnlvZWx4bjVndnR4bjcyZWc2N2l0dGp0a2MvMmZsb29yX0FyYy5pZmM =

[更新23/4/2019] 我发现我可以使用ForgeARKit-update-3-2017.1.2f1成功加载相同的模型。我比较Unity中的Forge代码。我认为这与服务网址有关。版本6是从'https://developer-api- beta .autodesk.io'获取模型,而版本3是从'https://developer-api.autodesk.io'获取数据。同时,shell脚本“ test-2legged”正在上载到后一个(“ https://developer-api.autodesk.io”)。这就是为什么它会找到资源的原因。这里的问题是如何将模型上传到“ beta” ARKit?我尝试修改脚本“ test-2legged”中的URL,但是它不起作用。从屏幕快照下方是从“ beta” ARkit获取脚本“ test-2legged”的输出。看来模型已成功上传,但某些解析后工作却失败了。我想测试版中的响应格式也已更改。是否有beta版的“ test-2legged”脚本(和其他“场景准备”脚本)? enter image description here

请发表评论,谢谢。

2 个答案:

答案 0 :(得分:1)

这是正确的。我为此表示歉意,我知道我们没有很好地记录服务器更改。

此更新6假设您现在正在使用Beta下的新服务器。脚本和更新3正在使用旧版服务器。请注意,这两个服务器不一定兼容,而是将数据存储在不同的位置,因此请确保在Unity中始终使用与准备场景所用的服务器相同的服务器。当我们将所有人切换到新服务器时,我们会将数据从旧服务器传输到新服务器云存储。

Update3包仍将能够从新服务器读取场景,因为我们确保旧的Unity代码保持兼容。

请注意,您还需要在所有地方使用SafeBase64编码的字符串。我在您的描述中看到您正在使用base64编码(不安全)。新服务器的参数和格式将更加严格,因此我建议您在Beta服务器上测试脚本/代码。

最后,我正在研究新的Unity代码更新,以及将在下周发布的文档。确保使用此版本-它增加了对3legged,自动2 / 3legged令牌刷新等的支持。如果场景失败,请直接与我联系并分享您的模型和URN。我将在开发环境中对其进行测试,或者查看我们的日志文件以了解失败的原因。我的电子邮件地址是我在autodesk.com上的名字

答案 1 :(得分:0)

感谢Cyrille的帮助!!我在这里回复您,是因为插入图片更容易。

我用' xbase64safeencode()'替换了功能' xbase64encode()',现在可以使用了!但是,对于某些模型,它似乎仍会响应一些错误,因此无法在Unity中加载。 (如下图所示)。我检查了脚本,我认为所有编码都使用SafeBase64。有什么线索吗?还是这是我的模型造成的? enter image description here enter image description here

顺便说一句,加载性能比传统版本大大提高了!!它看起来与Web客户端几乎相同。非常感谢!

很高兴知道下周将有更新。是的,我会对其进行测试,并稍后再与您联系。