arcore 适合 "observatory" 类型的场景吗

Is arcore a good fit for "observatory" type of scenes

天文台从内部显示一个球体,用户可以在其中环顾四周,查看 "sky" 上的各种物体。我对 sceneform api 很感兴趣,但不确定 arcore 在无法识别任何景观特征时是否适合跟踪。 arcore适合这样的场景吗?

一般来说,ARCore 和 Sceneform 似乎设置为检测 'planes',然后将锚点和可渲染对象附加到这些平面。

您的应用程序听起来好像没有平面,因此您可能会发现很多 ARCore 机制、文档和示例对您的帮助并不如您所愿。

但是,如果坐标正确,可以将 'anchor' 和可渲染对象附加到一个点。

下面的代码,来自这个讨论 https://github.com/google-ar/arcore-android-sdk/issues/110,允许您将一个对象放在相机前面,例如:

mAnchors.add(session.createAnchor(
    frame.getCamera().getPose()
        .compose(Pose.makeTranslation(0, 0, -1f))
        .extractTranslation()))

如果您进行实验,您会发现可以在 Pose.makeTranslation 方法中调整 x、y 和 z 坐标,以将对象放置在您需要的位置。

您也不需要像上面那样使用相机,只要您有姿势就可以添加可渲染对象 - 请参见下面的示例:

Frame frame = arFragment.getArSceneView().getArFrame();
myAnchor = session.createAnchor(myPose.extractTranslation());
myAnchorNode = new AnchorNode(myAnchor);
myAnchorNode.setRenderable(myRenderable);
myAnchorNode.setParent(arFragment.getArSceneView().getScene());