ARcore能不触屏画线吗?

Can lines be drawn in ARcore without touching the screen?

我必须绘制一个类似于 Just A Line AR App 的应用程序,但在我的应用程序中,线条应该随着相机位置的改变而呈现,并且不需要 tapping/holding 在屏幕上。如何实现?

我假设你的意思是你希望你的线被锚定在场景中 - 即当你四处移动设备时,线上的点跟随相机视图的中心。

假设你可以:

  • 开始时在摄像机中心前方一定距离处放置一个锚点,例如前方 1M。
  • 安排了一个工作以某个时间间隔重复,例如500 毫秒和:
  • 放置一个新的锚点,再次在镜头前1M处
  • 将新锚点添加到锚点集合或列表中
  • 在列表中的前一个锚点和当前锚点之间画一条线

此代码将在摄像机前放置一个锚点:

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