我一直在开发以下项目:
使用ARfoundation库和ARCore插件制作的Unity安卓应用程序,目标是扫描QRCode(使用Zxing)并在其位置召唤一个货架。
为了实例化货架,我向已扫描的QRCode中心启动射线,当它击中AR点时,应该实例化货架。
它确实起作用,但是当AR货架被实例化时,它倾向于朝其他方向移动而不是保持静止。这意味着AR货架不再与真实货架重叠。
经过一些研究,我发现它会移位,因为ARfoundation无法在该区域内实例化点云,这意味着算法不知道自己在哪里,并且试图拼命保持AR货架静止。可能是由光线、相机质量、环境(例如人的移动)、用户和AR对象之间的距离甚至是ARfoundation AI故障造成的。
默认情况下,没有错误消息或类似消息(据我所知),当ar对象发生移位时,因为算法每次都要调整位置,所以这很“正常”。但是当没有检测到AR点云时,它会变得疯狂。
因此,我想知道是否有任何方法可以检测这些位移,或者更好的方法是防止它们。任何帮助都将不胜感激。我希望我的请求清晰明了,并可能对其他遇到同样问题的人有所帮助。如果您有任何问题,请随时问我,我很乐意回答。祝您有愉快的一天!
技术信息:
Unity版本:2020.3.27f1
ARFoundation + ARCore XR插件版本:4.1.9
Android版本:11
设备型号:三星Galaxy Tab A7 SM-T500
货架尺寸:高度1.85米,长度0.80米,深度0.60米
与AR货架的平均距离:0.3米〜