arcore非常适合“天文台”类型的场景

问题描述 投票:0回答:1

天文台从内部显示一个球体,用户可以在其中环顾四周,看到附着在“天空”上的各种物体。我对sceneform apis很感兴趣,但我不确定当arcore无法识别任何风景特征时是否适合跟踪。 arcore是否适合这种情况?

arcore
1个回答
1
投票

通常,ARCore和Sceneform似乎设置为检测“平面”,然后将锚点和可渲染对象附加到这些平面。

您的应用程序听起来似乎没有平面,因此您可能会发现许多ARCore机制,文档和示例对您没有任何帮助。

但是,如果您有正确的坐标,则可以将“锚点”和可渲染对象附加到某个点。

以下代码,来自此讨论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.make Translation方法中调整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());
© www.soinside.com 2019 - 2024. All rights reserved.