Как создать якорь с помощью session.createAnchor - PullRequest
0 голосов
/ 11 января 2019

Я изменяю пример проекта HelloAR. Добавьте следующий исходный код в функцию OnDrawFrame ()

 public void onDrawFrame(GL10 gl) {
 ...
  Camera camera = frame.getCamera();
  //test code
  if(show) {
    show = false;
    Pose p = camera.getPose(); //Get camera pose
    Pose locpose = Pose.makeTranslation(0.0f, 0.0f, -2.0f);//define a translation
    targetpose = p.compose(locpose); //make a new pose based on camera pose
    ④anchors.add(session.createAnchor(targetpose)); //add a new anchor
  }

  // Handle taps. Handling only one tap per frame, as taps are usually low frequency
  // compared to frame rate.
...
}

Исключение возникает при выполнении ④, я думаю, что поза неверна. Моя цель, как показано ниже, Создайте новый якорь, относительно позиции якоря, я надеюсь, что это центр экрана с точки зрения телефона, а расстояние между камерой и якорем составляет 2 метра в точке трехмерного мира.

Как определить эту позу?

1 Ответ

0 голосов
/ 14 января 2019

Я нашел основную причину: тестовый код выполняется слишком рано, когда создается какое-то pointcloud, затем выполняется тестовый код, создается новая привязка. я закрою вопрос

...