gpt4 book ai didi

ios - 如何使用 ARKit 将 SCNScene 与物理表对齐?

转载 作者:行者123 更新时间:2023-12-01 19:42:28 25 4
gpt4 key购买 nike

我正在尝试找到将 SCNScene 与物理表对齐的最佳策略。就像 ARKit 应用程序 WWWFreeRivers .

enter image description here

目前我只是在测试一个简单的平面模型,其尺寸与表格相同。如果我画出 ARKit 检测到的平面,我可以看到平面的边缘不是很准确。它们总是超出边缘(下图)。

enter image description here

所以我不能真的依赖那个平面,只是把模型放在这个平面的中心。模型也没有正确旋转(下图)。

enter image description here

我有另一个想法,使用 ARReferenceImage 技术,拍摄桌面纹理的照片,让 ARKit 找到并匹配这张 table 的“图像”。但即使有木纹纹理,ARKit 也没有足够的数据来识别它。如果您遇到这些错误,ARKit 就会失败。它甚至不会尝试进行糟糕的匹配。

enter image description here

我该怎么做呢?

到目前为止我的想法:

  • 获取表格图像并使用 ARImageReference 功能进行匹配。这没有用。也许如果我在表格中添加一些更有趣的特征点,比如角落里的某种二维码。
  • 检测平面,然后点击 table 上的四个角绘制一个正方形,并使用它。
  • 就像 WWW 应用程序一样,只需将对象随机放置在平面上,然后让用户缩放、移动和旋转模型以使其正确放置。

  • 还有什么想法吗?你认为最好的方法是什么?

    最佳答案

    我能想到你可以使用的两个选项。

  • 您可以创建一个 ARWorldMap (仅限 iOS12+)并使用它而不是 ARImageReference,在该区域周围走动,同时创建后续 ARKit session 将记住的 map 。您可以稍微尝试一下如何将模型放置在表格的四个角内(这在 SceneView 编辑器的帮助下有点乏味)。但是,当您加载保存的 ARWorldMap 并对其进行本地化(就像 ARImageReference 一样)时,您的模型每次都应该适合表格的四个角。
  • 如果您使用 Unity(及其 ARKit 插件)之类的东西,它具有更强大的编辑器工具(3D 查看器/设计器)。有一些工具可以帮助您保存 map ,就像 ARWorldMap 一样,然后将 map 的详细信息带入编辑器,这样您就可以非常轻松地进行排列。 Placenote's Spatial Capture工具包可以在这里提供帮助。 Placenote (iOS11+) 会创建自己的“世界地图”,但它会在 Unity 编辑器中显示视觉细节,从而更容易排列内容然后根据 (Example) 进行本地化。该 map 还从一开始就存储在托管云中,使跨手机共享变得更加容易。

  • P.S:这两个选项都要求您保持环境通常是静态的(不是大的照明变化等),尽管这与使用 ARIMageReference 时的约束类似。

    关于ios - 如何使用 ARKit 将 SCNScene 与物理表对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53353837/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com