Android 安卓Arcore平面跟踪器目标

Android 安卓Arcore平面跟踪器目标,android,target,arcore,sceneform,plane,Android,Target,Arcore,Sceneform,Plane,我在论坛上找不到任何东西,我想设法在飞机上集成的arcore上创建一个目标,比如Measure。(使用以布局为中心的图像避免延迟) 你有出发点吗 我想到了!但不要呆在中心 com.google.ar.sceneform.Camera camera = arFragment.getArSceneView().getScene().getCamera(); MaterialFactory.makeTransparentWithColor(MainActivity.this, new com

我在论坛上找不到任何东西,我想设法在飞机上集成的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
  • 查找与平面相关的第一个命中结果,isPoseInPolygon()==true
  • 更新节点worldPosition和worldRotation以匹配命中姿势的平移和旋转

您可以看看这个十字线类,它正是这样做的:

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

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

  • 从ArSceneView的中心执行hitTest
  • 查找与平面相关的第一个命中结果,isPoseInPolygon()==true
  • 更新节点worldPosition和worldRotation以匹配命中姿势的平移和旋转
您可以看看这个十字线类,它正是这样做的: