如何使用ARCore完成用户之间的交互?

时间:2018-01-24 13:01:31

标签: augmented-reality arcore

如何使用ARCore完成用户之间的互动。从该视频中可以看出,通话中的人都可以将对象Arrows放在is visible to both的同一屏幕上。

但正如我从ARCore代码中所理解的那样,表面上的渲染是由相机本身完成的,那么远程人员如何能够将对象添加到两个都可见的视频中?

是否交换了一些与AR相关的信息,然后两个侧设备都根据该信息呈现对象?

2 个答案:

答案 0 :(得分:0)

我相信这可以通过Unity的ARInterface完成,它仍处于早期阶段,所以事情可能会发生巨大变化(并希望变得更好):https://github.com/Unity-Technologies/experimental-ARInterface

我相信你会想看看他们的多人游戏示例:https://github.com/Unity-Technologies/experimental-ARInterface/tree/master/Assets/UnityARInterface/Examples/Multiplayer

答案 1 :(得分:0)

  

有可能要感谢ARCore Cloud Anchors

创建托管锚并不是一门火箭科学。为此,您需要配置ARCore会话并启用对Cloud Anchors的支持(在MainActivity类中):

Config config = new Config(session);
config.setCloudAnchorMode(Config.CloudAnchorMode.ENABLED);
session.configure(config);

然后创建以下新枚举:

private enum AppAnchorState {
    NONE,
    HOSTING,
    HOSTED
}
@GuardedBy("singleTapAnchorLock")
private AppAnchorState appAnchorState = AppAnchorState.NONE;

然后按如下所示修改两行:

Anchor newAnchor = session.hostCloudAnchor(hit.createAnchor());
setNewAnchor(newAnchor);

appAnchorState = AppAnchorState.HOSTING;
snackbarHelper.showMessage(this, "Now hosting anchor...");