Android Arcore 平面追踪器目标

Android Arcore Plane Tracker Target

我在论坛上找不到任何东西,我想设法在飞机集成的 arcore 上创建一个目标,例如 Measure。 (避免图像以布局为中心出现延迟

你有起点吗?

我考虑一下!但不要留在中心

 com.google.ar.sceneform.Camera camera = arFragment.getArSceneView().getScene().getCamera();
    MaterialFactory.makeTransparentWithColor(MainActivity.this, new com.google.ar.sceneform.rendering.Color(Color.parseColor("#ff333d")))
            .thenAccept(material -> {
                nodeRenderable = ShapeFactory.makeSphere(0.008f, new Vector3(camera.getWorldPosition().x, camera.getWorldPosition().y,  camera.getWorldPosition().z), material);

您应该做的是创建一个节点并将其添加为场景的子节点。

然后在每个 Node.onUpdate(FrameTime) 上执行这些步骤

  • 从 ArSceneView 的中心执行 hitTest
  • 找到一个 Plane 的第一个 HitResult 并且 isPoseInPolygon() == true
  • 更新节点 worldPosition 和 worldRotation 以匹配命中姿势平移和旋转

你可以看看这个 Reticle class 正是这样做的:https://github.com/SimonMarquis/AR-Toolbox/blob/fb31a9cfdf061104a4401cecc9bc73ffa7ad33e6/app/src/main/java/fr/smarquis/ar_toolbox/Settings.kt#L124-L185