AR快速外观“无法打开对象”

时间:2019-07-29 01:48:30

标签: augmented-reality arkit realitykit arquicklook

当我单击网站上的AR快速浏览图标时,它没有显示3D模型,并且收到消息“无法打开对象”。 USDZ当前托管在Google存储桶中。问题可能出在托管USDZ的方式上吗?如果可以的话,有没有建议我托管USDZ文件的地方?

3 个答案:

答案 0 :(得分:1)

我将答案发布在这里,因为这个问题是我遇到的第一个Google结果:

在完全按照Apple文档的建议引用usdz文件时,AR按钮会呈现在预告图像的顶部。单击链接的图像时,Safari打开“快速查看”屏幕,但显示消息“无法打开对象”。弹出。但是,当我直接通过其URL访问usdz文件时,AR模型的确可以正确呈现。

问题是整个站点都受到配置有.htaccess文件的HTTP Basic Auth的保护。显然,Safari将不会使用现有会话来访问usdz文件,因此无法加载该文件。

就我而言,它有助于从站点中删除HTTP Basic Auth保护。该网站公开访问后,便可以毫无问题地加载AR模型。

答案 1 :(得分:0)

将USDZ文件托管在Google存储桶中应该可以正常工作,只要正确设置了存储桶的权限即可访问该文件。如果出于任何原因无法打开USDZ文件,Safari会显示“无法打开对象”消息,而我还没有找到一种方法来轻松获取更多细节。

您是否尝试过直接从Safari访问USDZ文件网址?如果链接,权限等都正确,它将在浏览器中显示为zip文件。

此外,通过在Mac上使用URL下载USDZ文件,并确保该文件在Finder中的“快速查找”中按预期显示,来确保USDZ文件本身没有问题。

如果您可以分享代码外观和尝试过的内容的更多详细信息,将很有帮助。我用于测试的最小代码如下,它在Google Storage中可以正常工作。

<html>
  <body>
    <a href="example.usdz" rel="ar">
      <img src="example.png"/>
    </a>
  </body>
</html>

答案 2 :(得分:0)

嵌入到USDZ文件的链接以直接使用AR场景。

以下是用于多个usdz文件的代码

<html>
    <head>
        <meta charset="utf-8">
        <title>Augmented Reality</title>
    </head>

    <body>
        <div>
            <a href="yourDirectory/ar_pixar_file_01.usdz" rel="ar">
                <img src="ar_image_01.png" alt="AR Image" width="360" height="240">
            </a>

            <a href="yourDirectory/ar_pixar_file_02.usdz" rel="ar">
                <img src="ar_image_02.png" alt="AR Image" width="360" height="240">
            </a>

            <a href="yourDirectory/ar_pixar_file_03.usdz" rel="ar">
                <img src="ar_image_03.png" alt="AR Image" width="360" height="240">
            </a>
        </div>
    </body>
</html>
  

此代码段中最重要的部分是 rel="ar" 属性,表示该图像上的链接引用的是可用于iOS AR Viewer的内容。