Можно ли рисовать линии в ARcore, не касаясь экрана? - PullRequest
0 голосов
/ 18 июня 2020

Мне нужно нарисовать приложение, похожее на приложение Just A Line AR, но в моем приложении линии должны отображаться при изменении положения камеры и не должны требовать нажатия / удержания на экране. Как этого добиться?

1 Ответ

0 голосов
/ 19 июня 2020

Я полагаю, вы имеете в виду, что хотите, чтобы ваша линия была привязана к сцене, т.е. точки на линии следуют за центром обзора камеры, когда вы перемещаете устройство.

Предполагая, что вы можете:

  • в начале поместите якорь на некотором расстоянии перед центром камеры, например, 1 м впереди.
  • запланировал повторение задания с некоторым интервалом, например 500 мс и:
  • разместите новую привязку, снова на расстоянии 1 м перед камерой
  • добавьте новую привязку к коллекции или списку привязок
  • проведите линию между предыдущей привязкой и текущий якорь в списке

Этот код поместит якорь перед камерой:

//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());
...