• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - ARKit 仅检测地板以放置物体

[复制链接]
菜鸟教程小白 发表于 2022-12-13 02:34:20 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

在 ARKit 中我可以使用 hitTest:tapPoint types:ARHitTestResultTypeExistingPlaneUsingExtent

如果你想在上面放置对象,这很有效。 types:ARHitTestResultTypeExistingPlaneUsingExtent 的表格将仅检测检测到的平面范围内的命中。

如果你想在地板上放置物体,它就没那么有用了,因为你需要四处走动,直到 ARKit 在你的地板上放置(或扩展)很多平面。

ARHitTestResultTypeExistingPlane 解决了这个问题,因为您只需要检测到一小块地板,就可以在任何地方放置物体。然而,问题是一旦 ARKit 检测到另一个与地板不对应的平面(例如 table ),每个物体都会被放置在更高的表面上。

是否可以控制哪些飞机用于 HitTest ?



Best Answer-推荐答案


HitTest 方法返回多个结果,按与相机的距离排序。如果您对现有平面进行无限范围的测试,您应该在您描述的情况下看到至少两个结果:首先是 table / table /等,然后是地板。

如果您特别想要地板,有几种方法可以找到它:

  • 如果您已经知道哪个 ARPlaneAnchor 是您之前 session 中的地板,请在 HitTest 结果数组中搜索其 anchor 的结果。火柴。

  • 假设地板始终是离相机最远的平面(阵列中的最后一个)。在大多数情况下可能是一个安全的假设,但要注意阳台、玄关等。

关于ios - ARKit 仅检测地板以放置物体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46084692/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap