unity3d - 如何使用 Unity 和 ARCore 围绕真实世界对象(如瓶子)生成表面/平面?
问题描述
我使用 HelloAR 场景(随 ARcore 包提供)构建了一个 apk。该应用程序仅检测像桌子一样的水平表面,并在其上创建自己的半透明平面。当我在瓶子周围移动手机时,该应用程序再次创建了一个穿过瓶子的水平面。我希望 ARCore 在我移动手机时沿着瓶子创建平面,就像网格中的多边形一样。
另一种情况是,我在地板上放了两本书,每本书的厚度都不一样。但是 HelloAR 应用程序只在较厚的书上创建一个半透明的水平表面,而不是创建两个表面(每本书一个)。
这里出了什么问题?如何修复它并让 HelloAR 应用程序更准确地工作?请帮忙。
软件:Unity v2018.2、
ARcore v1.11.0
解决方案
ARCorepoint cloud
使用设备的软运动生成一个近似值来识别特征点,这些点是通过不同形状的对比来检测的,如果您在统一的测试模式下使用您的应用程序,您可以看到这些点是如何放置在您的空场景中的.
一旦程序有足够的点"same height"
(我不知道确切的精度),它就会生成你可以看到的平面,但它不会检测相隔 5 厘米甚至更远距离的平面。
如果您想知道应用程序的大致精度,请统一测试并编写脚本以捕获已用于生成平面的生成点,然后检查Y difference
以查看公差距离。
推荐阅读
- mysql - 如何对不同表中的两列求和
- c++ - OpenFOAM 简单 blockMesh 浮点异常
- javascript - 如何在 js 数组映射中声明 typescript 类型?
- mongodb - 对 mongodb 集合中的字段进行字符串操作(聚合和正则表达式)
- clion - 重命名期间 CLion 会搜索系统#include 吗?
- python - 在 pandas 数据框中标记自定义 NER
- javascript - 如何使用javascript仅将字符串中的第一个字母大写?
- android - 如何在 Android 12 中禁用多窗口?
- reactjs - npm 运行构建错误,无法在 next.js 中运行构建命令
- android - 在我推出我的 android 应用程序后,我得到了草稿状态