ARCore: Как создать привязку из объекта сеанса без отслеживания плоскости?

Я пытался сделать это, но я получаю NotTrackingException, когда я пытаюсь следующее

    Pose pose = Pose.makeTranslation(-0.41058916f, -0.6668466f, 0.04225248f);

    Anchor anchor = arFragment.getArSceneView().getSession().createAnchor(pose);

или же

    Pose pose = Pose.makeTranslation(-0.41058916f, -0.6668466f, 0.04225248f);

    Anchor anchor =new Session(this).createAnchor(pose);

1 ответ

Есть несколько способов установить привязку в сцене Arcore. Один из способов, который звучит так, как будто он может удовлетворить ваши потребности, - это установить положение привязки относительно фокуса камеры - см. Этот ответ, который протестирован и работает:

Код ключа, создающий привязку из объекта сеанса:

          //Add an Anchor and a renderable in front of the camera       
          Session session = arFragment.getArSceneView().getSession();
          float[] pos = { 0,0,-1 };
          float[] rotation = {0,0,0,1};
          Anchor anchor =  session.createAnchor(new Pose(pos, rotation));
          anchorNode = new AnchorNode(anchor);
          anchorNode.setRenderable(andyRenderable);
          anchorNode.setParent(arFragment.getArSceneView().getScene());

Если вы посмотрите на некоторые другие ответы на этот вопрос, вы также увидите некоторые альтернативные, не связанные с планом, подходы.

Другие вопросы по тегам