伪造ARKit:无法在Unity中加载模型

问题描述 投票:0回答:2

使用最新的ForgeARKit-update-6-2018.1,我试图在Unity中加载我的模型,使用示例Unity场景'loadAtStartup'。我可以从'Sandbox'成功加载样本模型,但我无法加载我的模型,该模型是通过脚本'test-2legged'上传的。

错误消息显示504,似乎没有到达服务:

AsyncRequestCompleted远程服务器返回错误:(504)网关超时。 UnityEngine.Debug:Log(Object)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代码。我认为它与服务URL有关。版本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'的输出。似乎模型上传成功,但一些解析后工作失败。我想测试版中的响应格式也发生了变化。是否有测试版的'test-2legged'脚本(以及其他场景准备脚本)? enter image description here

请评论,谢谢。

autodesk-forge
2个回答
1
投票

这是对的。我为此道歉,我知道我们没有很好地记录服务器的变化。

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

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

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

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


0
投票

谢谢Cyrille的帮助!!我在这里回复你,因为它更容易插入图像。

我用“xbase64safeencode()”替换了'xbase64encode()'函数,现在它可以工作了!然而,对于某些模型,它似乎仍然会响应一些错误,在这种情况下,它无法在Unity中加载。 (如下图所示)。我检查了脚本,我认为所有编码都使用SafeBase64。有什么线索吗?或者是我的模特造成的? enter image description here enter image description here

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

很高兴知道下周会有更新。是的我会测试它并稍后再回复你。

© www.soinside.com 2019 - 2024. All rights reserved.