【发布时间】:2017-11-15 16:41:33
【问题描述】:
如果有的话,在多用户/设备上使用 Apple 的新 ARKit 的最佳方式是什么?
似乎每个设备都有自己的场景理解。到目前为止,我最好的猜测是使用原始特征点位置并尝试在设备之间匹配它们以将不同的观点粘合在一起,因为 ARKit 不提供任何绝对参考参考。
===Edit1,我尝试过的东西===
1) 特征点
我已经玩过暴露的原始特征点,现在我确信在它们当前的状态下它们是死胡同:
- 它们不是原始特征点,它们只显示位置,但没有通常在跟踪特征点中发现的属性
- 它们的实例化不会从帧转移到帧,位置也不完全相同
- 当摄像头输入几乎没有变化时,报告的特征点经常发生很大变化,出现或消失的很多。
所以总的来说,我认为尝试以某种有意义的方式使用它们是不合理的,无法在一个设备内进行任何类型的好点匹配,更不用说多个设备了。 另一种方法是实现我自己的特征点检测和匹配,但这更像是取代 ARKit 而不是利用它。
2) 二维码
正如@Rickster 建议的那样,我还尝试识别一个易于识别的对象,例如 QR 码,并从该固定点获取相对参考变化(请参阅this question)这有点困难,暗示我使用一些 openCV 来估计相机姿势。但更重要的是非常有限
【问题讨论】:
-
您是否可以将设备的指南针数据和/或方向数据发送到服务器以允许转换到另一个设备的坐标系?
-
这是可能的。多人 AR exp 可能无论如何都会涉及一些服务器支持的同步。但这并没有给我两个设备之间的精确翻译差异。如果地图可以单独使用指南针、加速度计和 GPS 完成,就不需要像 Apple 使用的那样复杂的 SLAM 技术。
标签: swift augmented-reality ios11 arkit multiplayer